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