arm-gcc release

Miroslav Mraz mraz na seznam.cz
Pátek Říjen 4 14:49:46 CEST 2013


Ještě bych přidal pro kompilaci -ffunction-sections -fdata-sections a 
pro linkování -Wl,--gc-sections. Protože pokud používáte 
-DUSE_STDPERIPH_DRIVER, pak ve výsledném .hex zbude i kód (data), který 
procesor vůbec nepoužívá. Takhle to ten popelář linkeru odstraní.
Na to -Os trochu pozor - globální proměnné, které sdílí např. main() a 
přerušení musí být deklarovány jako volatile. Ale stejně tak třeba jen 
řídící proměnná nějakého zpožďovacího cyklu - ty optimalizace jsou 
poměrně zrádné. Jinak se můžete dočkat nepříjemného překvapení.

Mrazík

On 10/04/2013 01:14 PM, Ladislav Vaiz wrote:
> Misto -O0 dejte -Os
> L.
>
> On Fri, 4 Oct 2013, Michal Grunt wrote:
>
>> Může mi někdo poradit, co nepatří za přepínače do "release" makefile? 
>> Aby měl výsledný hex co nejmenší velikost...
>>
>> -IC:\xxxxx - představuje několik adresářů, zkráceno pro přehlednost 
>> na jeden
>>
>> arm-none-eabi-gcc -DUSE_STDPERIPH_DRIVER -DSTM32F0XX 
>> -DRUN_FROM_FLASH=1 -IC:\xxxxx -O0 -Wall 
>> -Wa,-adhlns="system_stm32f0xx.o.lst" -c -fomit-frame-pointer 
>> -fverbose-asm -MMD -MP -MF"system_stm32f0xx.d" 
>> -MT"system_stm32f0xx.d" -mcpu=cortex-m0 -mthumb -o 
>> "system_stm32f0xx.o" "../system_stm32f0xx.c"
>>
>
>
> _______________________________________________
> 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