-
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.
Następne wpisy z tego wątku
- 20.01.12 02:31 JDX
- 20.01.12 07:11 Zbych
- 20.01.12 08:04 Artur M. Piwko
Najnowsze wątki z tej grupy
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
Najnowsze wątki
- 2025-05-02 Wrocław => Controlling systems Consultant <=
- 2025-05-02 Kraków => Programista MS Dynamics 365BC/NAV <=
- 2025-05-02 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-05-02 Warszawa => Spedytor Międzynarodowy <=
- 2025-05-02 Białystok => NMS System Administrator <=
- 2025-05-02 Warszawa => Sales Director (Cloud solutions) <=
- 2025-05-02 Czy na URZĘDACH RP3 można bezkarnie LATAMI wywieszać flagę obcego państwa? [podstawa prawna]
- 2025-05-02 tona telefonów komórkowych kryje ok. 3,5 kilograma srebra, 360 gramów złota i 280 gramów palladu.
- 2025-05-01 Jak zbudować Perpetum Mobile
- 2025-05-01 Wybory ten wygra kto odzyska TEPS'ę od Kulczyka
- 2025-04-30 Czy wymieniacie fotel kierowcy, gdy kupujecie używanego gruchota po prostacie i nietrzymaniu moczu ?
- 2025-05-02 dewastują Tesle
- 2025-05-02 jadę do państwa polskiego
- 2025-05-01 zachowaj odstęp
- 2025-04-30 Czy wymieniacie fotel kierowcy, gdy kupujecie używanego gruchota po prostacie