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