Re: sprintf - co dělám blbě?

Miroslav Mraz mrazik na volny.cz
Pondělí Duben 15 21:33:31 CEST 2024


No je to vyzobnuté z nějaké knihovny, sám bych se s tou rekurzí babral 
celý den a není to nijak optimalizované pro 8-bit. Samozřejmě, pokud 
není rekurze vysloveně "na ocase", tak to žere zásobník (jinak si to 
překladač dokáže převést na cyklus), ale pokud v něm je už nějaké to 
místo, tak to zas tolik nevadí. Jenže bez té rekurze to neuděláte tak 
jednoduše, protože ty číslice přibývají odzadu.
I když by šlo plnit bufer obráceně (od konce) a nakonec vyplivnout 
ukazatel na poslední zapsaný znak - tedy vlastně první. Ale je to takové 
divné.

Mrazík

On 15. 04. 24 19:48, Jan Waclawek wrote:
> Mozno to je jednoduche, ale rekurzia v mcu - najma 8-bitovom - je dost
> silne nie, kym sa pracne nedokaze ze ano.
> 
> Rule of the thumb je, ze 1 bit RAM je 6 tranzistorov kym 1 bit FLASH je 1
> tranzistor (ano ja viem ze to je porovnanie jablk s hruskami, ale nejake
> cislo treba povedat a toto odovodnenie znie mudro) takze asi podobna je aj
> hodnota RAM voci FLASH.
> 
> Je tam dost parametrov aj lokalnych premennych, vsetky int-ovite co je u
> AVR 16-bit, takze by som povedal tak od oka ze 12 byte na iteraciu; mozno
> nieco z toho moze byt 8-bit? Takze pre 5 cislic to je 60 byte, dobre som
> ratal? Cize moj rule of the thumb hovori, ze len tato spotreba je
> ekvivalentna asi 360B FLASH, takze to treba priratat na vrch.
> 
> Ano, ano ja viem ze aj ine riesenia budu mat spotrebu RAM. Nevravel som
> rule of the thumb a ze to treba pracne dokazovat?
> 
> wek
> 


Další informace o konferenci Hw-list