Цитата(AHTOXA @ Nov 27 2015, 18:23)

Либы собираются другой программой, arm-none-eabi-ar.
Спасибо! Сегодня наконец-то добрался до этого и попробовал. Получилось слинковать библиотеку. В нее я добавил все общие для моего проекта файлы в том числе и файлы startup_stm32f407xx.s, system_stm32f4xx.c и syscalls.c:
Код
arm-none-eabi-ar -q -o _output/libBeremizStm32Port.a _output/system_stm32f4xx.o _output/syscalls.o _output/startup_stm32f407xx.o ...далее длинный список всех остальных объектников для библиотеки...
Далее попытался собрать уже приложение с иcпользованием этой библиотеки. Если я правильно понял, то при линковке нужно исключить из названия преффикс lib и расширение файла:
Код
"arm-none-eabi-gcc" "D:\_tmp\_beremiz2\build\plc_common_main.o" ...Все мои объектники для приложения... -o "D:\_tmp\_beremiz2\build\_beremiz2.elf" -L C:\Beremiz\beremiz\targets\STM32\port\BeremizStm32Port -mcpu=cortex-m3 -mlittle-endian -mthumb -Wl,--gc-section -T C:\Beremiz\beremiz\targets\STM32\port\STM32F407ZG_FLASH.ld
В ответ на это он мне пишет:
Код
c:/program files (x86)/gnu tools arm embedded/4.9 2015q2/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol Reset_Handler; defaulting to 08000000
c:/program files (x86)/gnu tools arm embedded/4.9 2015q2/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m\libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
Я не понимаю: то что он просит реализовано в startup_stm32f407xx.s и syscalls.c. Так почему же он не вытащил их из библиотеки? Что я делаю неправильно?