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