Zahada GCC (ARM)
Milan B.
milan na bastl.sk
Středa Říjen 14 00:08:12 CEST 2015
Nemalo by tam byt " -Wl,--script="? (dve minuska)
https://sourceware.org/binutils/docs/ld/Options.html#Options
-m-
On 13. 10. 2015 23:48, Jaroslav Buchta wrote:
> muze mi nekdo vysvetlit, v cem je rozdil techto dvou prikazovych radku
> pro linker?
>
> arm-none-eabi-gcc.exe -mfloat-abi=soft -fdata-sections
> -ffunction-sections -Os -DUSE_HAL_DRIVER -DSTM32F051x8
> -D__weak=__attribute__((weak)) -D__packed=__attribute__((__packed__))
> -mthumb -mcpu=cortex-m0 -march=armv6-m -MMD -MP -fmessage-length=0
> -Wall -g3 -o bin\Debug\Demo32F051.elf
> obj\debug\drivers\cmsis\device\st\stm32f0xx\source\templates\gcc\startup_stm32f051x8.o
> obj\debug\drivers\cmsis\device\st\stm32f0xx\source\templates\system_stm32f0xx.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_adc.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_adc_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_cortex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_dma.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_flash.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_flash_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_gpio.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_pwr.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_pwr_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_rcc.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_rcc_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_uart.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_uart_ex.o
> obj\debug\src\main.o obj\debug\src\stm32f0xx_hal_msp.o
> obj\debug\src\stm32f0xx_it.o
> -Wl,-Map=bin\Debug\Demo32F051.map -specs=nano.specs -Wl,--gc-sections
> -lm -ffunction-sections -fdata-sections -mcpu=cortex-m0 -march=armv6-m
> -T"SW4STM32\Demo32F051 Configuration\STM32F051K6Ux_FLASH.ld"
>
> Program size (bytes): 8632
> Data size (bytes): 112
> BSS size (bytes): 1776
>
> ------------- a tohoto:
>
> arm-none-eabi-gcc.exe -mfloat-abi=soft -fdata-sections
> -ffunction-sections -Os -DUSE_HAL_DRIVER -DSTM32F051x8
> -D__weak=__attribute__((weak)) -D__packed=__attribute__((__packed__))
> -mthumb -mcpu=cortex-m0 -march=armv6-m -MMD -MP -fmessage-length=0
> -Wall -g3
> -Wl,-script="SW4STM32\Demo32F051 Configuration\STM32F051K6Ux_FLASH.ld"
> -o bin\Debug\Demo32F051.elf
> obj\debug\drivers\cmsis\device\st\stm32f0xx\source\templates\gcc\startup_stm32f051x8.o
> obj\debug\drivers\cmsis\device\st\stm32f0xx\source\templates\system_stm32f0xx.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_adc.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_adc_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_cortex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_dma.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_flash.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_flash_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_gpio.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_pwr.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_pwr_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_rcc.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_rcc_ex.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_uart.o
> obj\debug\drivers\stm32f0xx_hal_driver\src\stm32f0xx_hal_uart_ex.o
> obj\debug\src\main.o obj\debug\src\stm32f0xx_hal_msp.o
> obj\debug\src\stm32f0xx_it.o
> -Wl,-Map=bin\Debug\Demo32F051.map -specs=nano.specs -Wl,--gc-sections
> -lm -ffunction-sections -fdata-sections -mcpu=cortex-m0 -march=armv6-m
>
> Program size (bytes): 8916
> Data size (bytes): 1084
> BSS size (bytes): 1776
>
> -----------------------
> Myslim, ze se to lisi jen ve zvyraznenem textu, v prvnim pripade do
> option pridano rucne, ve druhem si to tam prida EmBlocks automaticky.
> Mel jsem od oka za to, ze by to melo fungovat stejne, ale k
> -Wl,-script jsem nenasel nic... zdrojaky a ostatni nastaveni jsou
> stejna (doufam)
> Tollchain je EmBlock bare metal ale nejnovejsi newlib to dela taky
> podobne... V druhem pripade sezere pamet nejvic tohle:
>
> *(.data*)
> .data.impure_data
> 0x20000000 0x428 c:/program files
> (x86)/emblocks/2.30/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/armv6-m\libc.a(lib_a-impure.o)
> .data._impure_ptr
> 0x20000428 0x4 c:/program files
> (x86)/emblocks/2.30/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/armv6-m\libc.a(lib_a-impure.o)
> 0x20000428 _impure_ptr
> .data.SystemCoreClock
> 0x2000042c 0x4
> obj\debug\drivers\cmsis\device\st\stm32f0xx\source\templates\system_stm32f0xx.o
> 0x2000042c SystemCoreClock
> 0x20000430 . = ALIGN (0x4)
> 0x20000430 _edata = .
>
> .jcr 0x20000430 0x0 load address 0x08002710
> .jcr 0x20000430 0x0 c:/program files
> (x86)/emblocks/2.30/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.7.3/armv6-m/crtbegin.o
>
> .igot.plt 0x20000430 0x0 load address 0x08002710
> .igot.plt 0x00000000 0x0 c:/program files
> (x86)/emblocks/2.30/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.7.3/armv6-m/crtbegin.o
> 0x20000430 . = ALIGN (0x4)
>
>
> v prvnim pripade vypada datova sekce takto, evidentne se pouzije jina
> knihovna. Proc?
>
> *(.data*)
> .data.SystemCoreClock
> 0x20000000 0x4
> obj\debug\drivers\cmsis\device\st\stm32f0xx\source\templates\system_stm32f0xx.o
> 0x20000000 SystemCoreClock
> .data.impure_data
> 0x20000004 0x60 c:/program files
> (x86)/emblocks/2.30/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/armv6-m\libc_n.a(lib_a-impure.o)
> .data._impure_ptr
> 0x20000064 0x4 c:/program files
> (x86)/emblocks/2.30/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/armv6-m\libc_n.a(lib_a-impure.o)
> 0x20000064 _impure_ptr
> 0x20000068 . = ALIGN (0x4)
> 0x20000068 _edata = .
>
>
>
>
> ------------------------------------------------------------------------
> Avast logo <https://www.avast.com/antivirus>
>
> Tato zpráva byla zkontrolována na viry programem Avast Antivirus.
> www.avast.com <https://www.avast.com/antivirus>
>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20151014/5437587b/attachment.html>
Další informace o konferenci Hw-list