eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaARM RIDE7 sekcje text, data i bssRe: ARM RIDE7 sekcje text, data i bss
  • Data: 2012-01-20 02:24:48
    Temat: Re: ARM RIDE7 sekcje text, data i bss
    Od: JDX <j...@o...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2012-01-19 19:05, slawek7 wrote:
    > Wiem co masz na mysli a slowo sztuczki bylo uzyte przeze mnie na
    > wyrost.
    > Moje pytanie powinno brzmiec jak w ARMach zadeklarowac jakas tablice
    > np tekst do umieszczenia w pamieci flash i jak potem odczytac?

    *KOMPILATOR:*
    $arm-none-eabi-gcc --version
    arm-none-eabi-gcc.exe (Sourcery G++ Lite 2010.09-51) 4.5.1
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    *ŹRÓDŁO:*
    char tab1[3] = {'a', 'b', 'c'}; /* To ląduje w .data */
    char tab2[3]; /* To ląduje w .bss */
    const char tab3[3] = {'c', 'd', 'e'}; /* To ląduje w .rodata */
    const char tab4[3]; /* To ląduje w .bss */

    char *napis1 = "Napis 1.\n"; /* To ląduje w .data */
    const char *napis2 = "Napis 2.\n"; /* To ląduje w .data */
    char napis3[] = "Napis 3.\n"; /* To ląduje w .data */
    const char napis4[] = "Napis 4.\n"; /* To ląduje w .rodata */

    int main(int argc, char* argv[])
    {
    return (int)(tab1[0]+tab2[0]+tab3[0]+tab4[0]);
    }

    *KOMPILACJA:*
    $arm-none-eabi-gcc -mcpu=arm7tdmi -nostdlib -Wl,-Map=testrom.map
    -Wl,--entry=main -o testrom.elf testrom.c

    No i teraz pooglądaj sobie plik .map i popatrz gdzie wylądowały
    poszczególne tablice.

    A to pod jakimi adresami będą znajdować się poszczególne sekcje i w
    związku z tym w jakim rodzaju pamięci mają wylądować to już sobie
    ustalasz sam pisząc (lub modyfikując) skrypt linkera. No i musisz mieć
    świadomość tego, że czasami być może będziesz musiał dostarczyć własny
    kod kopiujący odpowiednie sekcje z ROM do RAM jeśli domyślny nie wystarczy.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: