-
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
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
Najnowsze wątki
- 2025-09-15 jak sprawdzić czy zerwałem gwint
- 2025-09-14 UWAGA: MAM PODEJRZENIE, ŻE onet.pl DOKONUJE ATAKÓW!!!
- 2025-09-14 zarobki w 1995r
- 2025-09-13 Korea Południowa odpowie za niewolnictwo seksualne armii USA
- 2025-09-13 Zatrzymano zabójcę Charliego Kirka
- 2025-09-13 Wrześniowe promocje na ładowarkach
- 2025-09-13 Warszawa => BI Developer <=
- 2025-09-13 Warszawa => Sales Assistant <=
- 2025-09-13 Warszawa => Lead SAP PP Consultant <=
- 2025-09-13 Jestem pod wrażeniem. Komputery bankowe w łikendy nie odpoczywają ;-)
- 2025-09-13 Lublin => Delphi Programmer <=
- 2025-09-13 Lublin => Programista Delphi <=
- 2025-09-13 SFP, 10G, simplex sc/apc
- 2025-09-13 KIA 2025r
- 2025-09-12 Rejestracja godna elektryka