cubeIDE stm32 - projekt se nevejde do flash

Miroslav Mraz mrazik na volny.cz
Úterý Srpen 31 21:22:38 CEST 2021


Nevím jak se to nakliká v Cube, ale pokud _nepoužijete_ při linkování 
parametr -specs=nano.specs, pak se opravdu kód natáhne cca o 10KB a 
nezáleží na tom, jestli se použije to -u_printf_float.

Mrazík

Dne 31. 08. 21 v 19:21 Vojtěch Petrucha napsal(a):
> zdravim,
>   
> měl bych prosím zase jeden stm32 - cubeide dotaz..
>   
> Mám projekt v CubeIDE pro STM32F042 mikrokontrolér. Naklikaný v cubeMX, USB připojení do PC (virtual COM), dva timery a ADC..
> Nejdřív jsem vše měl v HAL knihovnách, ale když jsem chtěl přidat sprintf floatu (zaškrtávátko -u_printf_float), už se to nevešlo do FLASH. Zkoušel jsem minimalistickou funkci na printf floatu, jako šlo to, ale byl tam problém s výpisem, netisklo to nulu před des. tečkou.. nic neřešitelného, ale nechtělo se mi s tím dělat, potřeboval jsem to číslo obalit nějakými znaky kvůli zobrazení v našem programu... Místo toho jsem ADC, Timery, GPIO.. nastavil na LL drivery. Pak už se to do FLASH paměti se zapnutou Os optimalizací vešlo. I se vším kódem co jsem potřeboval, vypadla funkční binárka, hotovo.  Teď po měsící jsem to zkoušel znovu zkompilovat, ale FLASH přetekla o asi 2.5kbyte (F042 má 32kbyte..). Dá se prosím nějak jednoduše zjistit, jestli se za měsíc nafoukla ta float knihovna, která se teda asi jako nějaký předlinkovaný balík přidává k projektu (?) nebo se nafoukly HAL drivery USB COM portu nebo co se stalo? Jako ano, kvůli jinému projektu jsem updatoval CubeIDE na vyšší verzi, asi i F0 balík driverů, ale takovouto milou změnu jsem nečekal..
> V zásadě o nic nejde, funkční binárku mám, umím to i předělat na ten jednoduchý tisk floatu, nebo použít jen celá čísla.. ale zajímalo by mě to...
>   
> mohu případně někam celý projekt nahrát, není to nic tajného, jednoduché měření pulzu optickou metodou pro naše studenty..
>   
> Díky
> v.


Další informace o konferenci Hw-list