sprintf

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Čtvrtek Listopad 3 18:08:24 CET 2016


Pokud je vypnuta podpora FP, tak to zas tak nenazrane funkce nejsou - 
par kB kodu navic, RAM to alokuje vesmes dynamicky.
Nemam problem sprintf pouzivat na CortexM s aspon 64kB FLASH, u 32kB uz 
je to na povazenou...
Ono to chce ty knihovny dobre pochopit, jak funguji, pak lze IMHO 
bezpecne pouzivat i tyto funkce na "vyssi urovni"
Treba u ESP8266 neni na vyber, neni podpora FP protoze se pouzivaji 
interne funkce v ROM a tim je to dano. Arduino nadstavba to elegantne 
obchazi moznosti formatovani cisla pro vsechny typy vcetne FP a scitani 
retezcu, jak je to efektivni jsem nezkoumal ale funguje to (sry ;-) 
arduino je proste jen na hrani tak to neresim )

Dne 03.11.2016 v 18:00 Pavel Hudecek napsal(a):
> Třeba takový CodeVision má v nastavení projektu několik možností 
> implementace (s)printf. Zároveň jsem to v AVR až na výjimky nepoužíval 
> a radši jsem měl svoje vlastní fn pro odeslání uint32, nebo float na 
> sériák. Výsledný kód byl kratší a měl jsem nad tím plnou kontrolu.
>
> Na druhou stranu, při používání AM3358 s nevím kolika mega, nebo možná 
> giga DDR jsem tyto starosti neměl a na používání (s)printf jsem si 
> zvykl:-)
>
> Teď tu mám LPC s něco přes 32 kB RAM, což je tak 16-128x víc než v 
> AVR, ale místo max. 1 řádku textu pro log pracuji s odstavci přes půl 
> grafického displeje a tak je možné, že stringy budou mít i dost přes 1 
> kB. Tak si s tím trochu začínám dělat starosti.
>
> Thready tam nejsou, ale když už o nich byla řeč, tak jsem chtěl mít 
> jasno.
>
> PH
>
> -----Původní zpráva----- From: Jan Waclawek
> Nebezpecnost je v tom moznom preteceni.
>
> Nevhodnost pre mcu je v pomerne rozsiahlych prostriedkoch ktore
> implementacia *printf plne zodpovedajucej standardu prinasa. Existuju
> nestandardne verzie *printf specialne optimalizovane pre mcu, ktore
> vynechavaju niektore (az mnohe) featury standardneho *printf (napr.
> sdcc.sourceforge.net/doc/sdccman.pdf kap. 3.15.2.1). V mnohych pripadoch
> je este lepsie si napisat svoje specializovane rutiny.
>
>> 4. Co je za problém s sprintf a thready? Týká se to i printf (kromě
>> očekávatelného problému, ľe by se mohl pohádat o výstupní zařízení s 
>> jiným
>> threadem)?
>
> To sa netyka len sprintf. C99, 7.1.4#4:
> The functions in the standard library are not guaranteed to be reentrant
> and may modify
> objects with static storage duration.
> _______________________________________________
> 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