-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Konop <k...@g...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Dane w pamięci flash ARM7 w gcc
Date: Fri, 13 Nov 2009 23:51:35 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 27
Message-ID: <hdknth$qkm$1@inews.gazeta.pl>
References: <hdkmgi$n5l$1@achot.icm.edu.pl>
NNTP-Posting-Host: apc206.internetdsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1258152689 27286 83.17.136.206 (13 Nov 2009 22:51:29 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 13 Nov 2009 22:51:29 +0000 (UTC)
X-User: konoppo
X-Antivirus: avast! (VPS 091113-0, 2009-11-13), Outbound message
In-Reply-To: <hdkmgi$n5l$1@achot.icm.edu.pl>
X-Antivirus-Status: Clean
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
Xref: news-archive.icm.edu.pl pl.misc.elektronika:575595
[ ukryj nagłówki ]> Chcę tablicę charów umiescić na stale w pamięci flash.
>
> Czy aktualnie poprawna metodą jest:
>
> __attribute__ ((section (".text"))) char t[1000];
>
> i wpis w skrypcie linkera wysylający to do sekcji flash ?
>
> Oglądając wynikowy listing w asm wydaje mi się ze robi co powinno, ale
> może to zła metoda. Może ktoś podpowiedzieć?
Jeśli jest OK, to o co chodzi? Ja to robiłem w prostszy sposób:
const char t[1000] = ... ;
W moim przypadku GCC wrzucał to do Flasha ;)... ale czy to zachowanie
domyślne, czy wynika z jakiś ustawień GCC, to nie wiem (makefile wziąłem
z FreeRTOS'a ;)). Generalnie w prockach ARM7 nie ma z tym problemu, bo
dostęp jest taki sam jeśli idzie o sposób dostępu (do RAM i do Flash
jest taki sam). Jedyna różnica to szybkość w działaniu.
Generalnie warto by było żyć określenia const. Bez tego możesz
przypadkowo skompilować kod typu t[0]++ albo coś. Kompilator to puści,
linker nie będzie się wgryzać w szczegóły, a procek się zawiesi (wejdzie
w Abort), bo będziesz próbował zapisać nie tam gdzie trzeba...
Pozdrawiam
Konop
Następne wpisy z tego wątku
- 13.11.09 23:23 Sebastian Biały
- 14.11.09 06:54 Paweł
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-06 "Unia Europejska poważnie myśli o wprowadzeniu całkowitego zakaz importu gazu
- 2025-05-05 Jak naładować akumulator iRobot DC 14,4V 3300 mAh zasilaczem ?
- 2025-05-05 Kopanie Bitcoinów kosztuje 137.000 $, więcej niż cena 95.000 $
- 2025-05-05 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-05-05 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-05-05 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-05 Gdańsk => Senior Node.js Developer (doświadczenie z framework Nest.j
- 2025-05-05 Salwador
- 2025-05-05 Gdańsk => Controlling systems Consultant <=
- 2025-05-05 Czeladź => Key Account Manager IT <=
- 2025-05-05 Zielona Góra => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, P
- 2025-05-05 Gdańsk => Senior Node.js Developer (Nest.js framework) <=
- 2025-05-05 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-05-05 Kraków => NMS System Administrator <=
- 2025-05-05 Gliwice => Business Development Manager - Network and Network Security