CortexM3 - CPP

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Sobota Prosinec 21 08:11:27 CET 2013


Omluva za mystifikaci, ono to jeste nebylo cele prilinkovane - cili v 
teto konfiguraci to ma uz pres 70kB, coz neni uplne malo (v arduinu to 
ma 56kB ve stejne konfiguraci, tusim, takze s tim OS a VCP to vyjde asi 
zhruba nastejno)
Ted to vypada takhle:

text       data        bss        dec        hex    filename
75196        632       3732      79560      136c8    Debug/Prn

Dne 21.12.2013 7:20, Jaroslav Buchta napsal(a):
> No ja tu nutnost pocitil az ted, kdy portuju soft z arduina a kdyz 
> pridavam ty arduinovy knihovny, tak ty jsou v C++ (a cast firmware 
> Marlin taky)
> Po te aplikaci --specs=nano.specs delka kodu nevypada odlisne od 
> cisteho C (ted jsem na 25kB a to uz se pouzivaji fce sprintf atp., to 
> by mel i cisty kod v C. A je to komplet FreeRTOS, USB-VCP, nejake 
> pokusy s TFT LCD a cast firmware Marlin (bez LCD a SD), hodne kB 
> delaji taky tabulky kterych je tam dost ) Nakonec ten procesor ma pul 
> mega flash a 64kB RAM, s tim uz se da neco delat.
> Zda se, ze to funguje automaticky skvele, jedine, co jsem doplnil je 
> par radku asm do startup kodu a neco do scriptu ld  pro inicializaci 
> statickych konstruktoru. Uzitecne to bude hlavne, az budu delat 
> grafiku na tom LCD, tam se oop velmi hodi
>
> Dne 20.12.2013 23:14, Miroslav Mraz napsal(a):
>> Před časem jsem taky zkoušel a přišlo mi to na ty moje CM0 nepoužitelné.
>> Dneska jsem opět hloubal, proč to tam ten sajrajt přidává a zjistil
>> jsem, že je to patrně obsluha výjimek. A s těmi toho na uC stejně moc
>> neuděláte. Stačí při překladu zapnout -fno-exceptions a ten balast
>> zmizí.
>> Když se rozumně přetíží ten operátor new, což lze pokud objekty jen
>> vytvářím, tak to generuje velmi úsporný kód, celkem se to neliší od
>> čistého C. Začínám uvažovat o přechodu na C++, i když jsem zatím
>> nenarazil na nic, co by se jen v C nedalo udělat. Zase v těch třídách je
>> kód takový přehlednější.
>>
>> Mrazík
>>
>> Jaroslav Buchta píše v Čt 19. 12. 2013 v 10:51 +0100:
>>> Diky, specs pomohlo a uz to ma zase hezkych 16kB ;-)
>>>
>>> František Burian <BuFran na seznam.cz>napsal/a:
>>>
>>> Zkus přidat parametr linkeru --specs=nano.specs Přidá ti to tam ty
>>> funkce funkční v minimální variantě. Taky jsem to řešil. Ještě mám v
>>> souborech -lnosys tak nevím zdali i ten něco nedělá
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> ---
> Tato zpráva neobsahuje viry ani jiný škodlivý kód - avast! Antivirus 
> je aktivní.
> http://www.avast.com
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


---
Tato zpráva neobsahuje viry ani jiný škodlivý kód - avast! Antivirus je aktivní.
http://www.avast.com



Další informace o konferenci Hw-list