Arduino a alokace mista pro promenne
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Čtvrtek Říjen 24 15:58:55 CEST 2019
Mozna je to i tim, ze ten problem se sam vyresil rozsirenim 32b<
procesoru ktere nemaji potrebu si nejak delit pametove prostory s ruznym
pristupem...
Dne 24.10.2019 v 14:42 Jan Waclawek napsal(a):
> To je skor prejav toho, ze C (a tym aj C++) nie je pripraveny na koncept
> roznych pamatovych priestorov. Existuje uz asi 15 rokov navrh rozsireni,
> tzv. named address spaces, ale nejako sa neujal. Pre AVR je zhodou
> okolnosti tiez uz asi 10 rokov implementovany
> https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html , ale aj
> "vdaka" arduinu sa zakonzervovalo prave skor pouzitie toho nestandardneho
> atributu __progmem.
>
> Ono to ma este vselijake relativne zlozite suvislosti najma pre vacsie
> AVRka (nad 64kB FLASH) a aj s kompromisom medzi efektivnym (co sa tyka
> velkosti binaru aj rychlosti vykonavania a ciastocne aj spotreby RAM) a
> "unifikovanym" (t.j. kde netreba rozmyslat) kodom.
>
> K tomu textu z manualu avr-libc este doporucujem ako doplnkove citanie
> tento tutorial (v podstate len prvy post z celeho vlakna)
> https://www.avrfreaks.net/forum/tut-c-gcc-and-progmem-attribute?name=PNphpBB2&file=viewtopic&t=38003
>
>
> wek
>
> ----- Original Message ---------------
>
> Subject: Re: Arduino a alokace mista pro promenne
> From: Pavel Brychta <pavel.brychta na duhasys.eu>
> Date: Thu, 24 Oct 2019 14:04:26 +0200
> To: hw-list na list.hw.cz
>
>> DD,
>>
>> ne, to je vlastnost architektury CPU - viz. třeba
>> https://www.nongnu.org/avr-libc/user-manual/pgmspace.html
>>
>> Pavel Brychta
>>
>> Dne 24.10.2019 v 14:00 Jirka Mww napsal(a):
>>> Ahoj Martine,
>>> díky za vysvětlení. To je vlastnost Arduina nebo jazyka C++ nebo co
>>> to je za jazyk ?
>>>
>>> Zdravi
>>> Jirka Sloupenský OK1MWW
>>>
>>>
>>> čt 24. 10. 2019 v 13:45 odesílatel Martin Locker <locker na vosrk.cz
>>> <mailto:locker na vosrk.cz>> napsal:
>>>
>>> Ahoj Jirko,
>>>
>>> RAM je potřeba na ten textový řetězec, standardně se ukládá do RAM
>>> jako proměnné. Dá se vynutit jeho uložení do FLASH makrem F().
>>>
>>> Serial.println(F("Retezec ve FLASH"));
>>>
>>> Martin
>>>
>>> ------------------------------------------------------------------------
>>> ----- Původní zpráva -----
>>> Odesilatel: "Jirka Mww" <jirka.mww na gmail.com
>>> <mailto:jirka.mww na gmail.com>>
>>> Příjemce: "HW konference" <hw-list na list.hw.cz
>>> <mailto:hw-list na list.hw.cz>>
>>> Datum: 24/10/2019 13:41
>>> Předmět: Arduino a alokace mista pro promenne
>>>
>>> Dobrý den,
>>> mám tady rozpracovaný "větší projekt " s Arduinem Mini s
>>> ATMEGA328. Větší to je jen z hlediska použitelnosti toho
>>> procesoru, jinak nic moc náročného. Při překladu se mi ale
>>> začala objevovat hláška, že budu mít brzo málo místa pro
>>> proměnné v RAM , přitom jich tam zas až tolik není.
>>> Mám tam ale dost ladících výpisů, ve velké většině jen pevný
>>> text o tom, že se něco stalo.
>>> Když některý z těch výpisů zakomentuji, místo pro proměnné se
>>> okamžitě o několik bajtů zvětší. Můj dotaz je tedy, na co
>>> potřebuje Arduino pro každý příkaz
>>> serial.print ("hlaska"); nejake místo v RAM. Kdyz jsem jeste
>>> psal v assembleru, měl jsem proceduru, ktera měla za svym
>>> volanim primo umisteny text v ASCI , zakonceny nulou a tento
>>> text se vypsal bez naroku na pamet RAM. Nevite, jak to dela to
>>> Arduino ? Docela bych tomu chtel rozumet.
>>>
>>> Zdravi
>>> Jirka Sloupenský OK1MWW
>>> ------------------------------------------------------------------------
>>> _______________________________________________
>>> HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
>>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>> _______________________________________________
>>> HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
>>> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list - sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list