-
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
- Wieszanie się przy aktywnym SMP
- Prognozowanie zużycia energii przez PGE?
- Odkurzacz mnie bije :(
- Rapsberry Pi i synchronizacja plików
- RCD 300 mA
- rpi i moduł przekaźników
- Falownik do pompy CO
- Lampa ogrodowa rozłączała różnicówkę
- Inteligentne oświetlenie schodów
- Pytanie do Użytkownika
- Emanuel kiedyś szukał gotowca do chłodzenia leków
- Sprzęty z Lidl-a
- idzie nowe
- Wybuchające pagery
- Jak shakować windę
Najnowsze wątki
- 2024-10-05 Stało się...
- 2024-10-05 skodeczka up
- 2024-10-04 Wieszanie się przy aktywnym SMP
- 2024-10-05 Warszawa => Senior Developer React Native <=
- 2024-10-05 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-10-05 Warszawa => Senior Software Engineer (C, Java) <=
- 2024-10-05 Warszawa => Menadżer Okręgu <=
- 2024-10-05 Warszawa => Specjalista/tka ds. Zamówień publicznych <=
- 2024-10-05 Warszawa => Senior C Software Engineer <=
- 2024-10-05 Warszawa => Senior PHP Laravel Developer (e-commerce) <=
- 2024-10-05 Warszawa => Full Stack .Net Engineer <=
- 2024-10-05 Warszawa => Data Scientist / Data Engineer (modele predykcyjne) <=
- 2024-10-05 Warszawa => ADMINISTRATOR SYSTEMÓW IT <=
- 2024-10-04 Katowice => Data Scientist <=
- 2024-10-04 Katowice => DevOps Engineer (Azure) <=