-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!nf1.ipartners.pl!ipartners.pl!news2.ipa
rtners.pl!not-for-mail
From: JDX <j...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: ARM RIDE7 sekcje text, data i bss
Date: Fri, 20 Jan 2012 03:24:48 +0100
Organization: N/A
Lines: 42
Message-ID: <jfaja4$snq$1@news2.ipartners.pl>
References: <6...@o...googlegroups.com>
<4f17dfab$0$1255$65785112@news.neostrada.pl>
<jf8q4n$25a$1@inews.gazeta.pl>
<4f17f500$0$1225$65785112@news.neostrada.pl>
<3...@e...googlegroups.com>
<s...@b...pl>
<d...@k...googlegroups.com>
<jf9li5$djc$1@news2.ipartners.pl>
<9...@c...googlegroups.com>
NNTP-Posting-Host: ip-157-25-36-56.multimo.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news2.ipartners.pl 1327026308 29434 157.25.36.56 (20 Jan 2012 02:25:08 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: 20 Jan 2012 02:25:08 GMT
In-Reply-To: <9...@c...googlegroups.com>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0) Gecko/20111222 Thunderbird/9.0.1
X-Enigmail-Version: 1.3.4
Xref: news-archive.icm.edu.pl pl.misc.elektronika:623908
[ ukryj 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
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
Najnowsze wątki
- 2025-06-05 Czy estakada w Chorzowie to sprawa polityczna ? Zakończyły się wybory i zamknięto estakadę
- 2025-06-05 Warszawa => Support Engineer <=
- 2025-06-05 Lublin => Programista Delphi <=
- 2025-06-05 Warszawa => IT Recruiter <=
- 2025-06-05 Warszawa => Strategic Account Manager <=
- 2025-06-05 Warszawa => Software Engineer .Net <=
- 2025-06-05 Warszawa => Manager Sprzedaży B2B <=
- 2025-06-05 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-06-05 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-06-05 Warszawa => Fullstack .NET Developer <=
- 2025-06-05 Warszawa => Senior Administrator IT <=
- 2025-06-05 Warszawa => Senior Administrator IT <=
- 2025-06-05 Warszawa => Senior Account Manager <=
- 2025-06-05 Warszawa => Tester Automatyzujący <=
- 2025-06-05 Warszawa => Test Automation Engineer <=