-
Data: 2012-07-28 19:03:29
Temat: Re: wskaźniki do flash w WinAVR
Od: "Artur M. Piwko" <m...@b...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]In the darkest hour on Fri, 27 Jul 2012 13:40:02 +0200,
WTK <w...@w...rubikon.pl> screamed:
>> Nie można ani tak ani tak. W GCC atrybuty dotyczą tylko elementu, przy
>> którym występują. Dzięki powyższym deklaracjom umieścisz tab w program
>> space, ale "inny tekst" nadal będzie w data space. Trzeba to zrobić
>> dwuetapowo:
>>
>> char string[] PROGMEM = "inny tekst";
>> PGM_P tab[] PROGMEM = { string };
>
> Jesteś pewien? Mam w programie, między innymi, taką kostrukcję:
> prog_char znak [12]={'0','1','2','3','4','5','6','7','8','9','*','#
'};
> Gdy zmienię deklarację na:
> char znak [12]={'0','1','2','3','4','5','6','7','8','9','*','#
'};
> to .data rośnie dokładnie o 12 bajtów...
> Wg tego co piszesz chyba nie powinno.
>
Rozpatrywaliśmy tablicę stringów i tego dotyczyła moja wypowiedź.
Przetestuj podobny przypadek na {"0","1","2",...}.
Z tego co widzę (obecnie siedzę w ARM-ach) trochę już się zmieniło
w zakresie prog_charów w avr-gcc - teraz muszę dodawać makro
__PROG_TYPES_COMPAT__ (avr-gcc 4.7.1 i avr-libc 1.8.0-2).
Zrobiłem testy i widzę, że conieco się zmieniło w tej materii.
Obecnie deklaracja tablicy w .text powoduje, że elementy będące
stringami dołączane są do .text.
Dawniej było tak, jak piszą w:
http://www.nongnu.org/avr-libc/user-manual/pgmspace.
html
Sekcja: "Storing and Retrieving Strings in the Program Space".
Którą masz wersję gcc i libc? Mógłbyś sprawdzić ten przykład w swojej
wersji (jeśli jest starsza)?
--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:226B ]
[ 18:50:17 user up 13243 days, 6:45, 1 user, load average: 0.01, 0.38, 0.97 ]
If you have to ask what jazz is, you'll never know.
Następne wpisy z tego wątku
- 30.07.12 10:45 max441
- 31.07.12 09:04 Artur M. Piwko
Najnowsze wątki z tej grupy
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
Najnowsze wątki
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=