-
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
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
Najnowsze wątki
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Czy grupa p.s.prawo przetrwa najbliższe wybory (prezydenta)?
- 2025-03-19 Warszawa => Frontend Developer (obszar Angular13+) <=
- 2025-03-19 Czy "niedopuszczony pełnomocnik" jest w prawie się na to skarżyć jak "świadek" zmarła bez zostawienia mu takiej instrukcji?
- 2025-03-19 Kraków => Business Development Manager - Network and Network Security
- 2025-03-19 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-19 Kraków => IT Expert (Network Systems area) <=