реклама на сайте
подробности

 
 
> arm-none-eabi-gcc линковка статических бибилотек
yanvasiij
сообщение Nov 27 2015, 13:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Доброго времени суток!

Пытаюсь собрать из скомпилинных объектников статическую либу следующим образом:

Код
arm-none-eabi-gcc -mcpu=cortex-m3 -mlittle-endian -mthumb -Wl,--gc-section -L _output/system_stm32f4xx.o (тут много много объектников) _output/beremizProcess.o _output/startup_stm32f407xx.o -o _output/beremizStm32Port.a -lstdc++


Получаю сообщение

Код
.\beremizStm32Port/./source/src/main.cpp:39: undefined reference to `initBeremizProcess()'


Но дело в том, что эту функцию я хотел реализовать уже в приложении, которое будет использовать эту библиотеку. Что я делаю неправильно?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yanvasiij
сообщение Nov 30 2015, 05:33
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041




Цитата(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. Так почему же он не вытащил их из библиотеки? Что я делаю неправильно?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- yanvasiij   arm-none-eabi-gcc линковка статических бибилотек   Nov 27 2015, 13:07
- - AHTOXA   Либы собираются другой программой, arm-none-eabi-a...   Nov 27 2015, 13:23
|- - demiurg_spb   Цитата(AHTOXA @ Nov 27 2015, 16:23) Либы ...   Jan 11 2016, 15:13
|- - AHTOXA   Спасибо, запомню на будущее.   Jan 11 2016, 15:37
|- - AHTOXA   Цитата(yanvasiij @ Nov 30 2015, 10:33) Да...   Nov 30 2015, 09:32
- - Radmir   наверно забыл добавить что-то типа " --specs=...   Nov 30 2015, 08:11
- - yanvasiij   Цитата(demiurg_spb @ Jan 11 2016, 20:13) ...   Jan 14 2016, 17:58
|- - demiurg_spb   Цитата(yanvasiij @ Jan 14 2016, 20:58) h...   Jan 15 2016, 13:35
- - yanvasiij   Снова вернулся к попыткам собрать статическую либу...   Mar 31 2016, 07:21
|- - demiurg_spb   Попробуйте поменять очерёдность включения библиоте...   Mar 31 2016, 11:06
|- - alx2   Цитата(yanvasiij @ Mar 31 2016, 13:21) 1)...   Apr 4 2016, 05:52
|- - demiurg_spb   Цитата(alx2 @ Apr 4 2016, 08:52) Ничего с...   Apr 4 2016, 09:40
- - yanvasiij   Цитата(demiurg_spb @ Mar 31 2016, 16:06) ...   Apr 1 2016, 03:58
|- - demiurg_spb   Цитата(yanvasiij @ Apr 1 2016, 06:58) При...   Apr 1 2016, 10:06
- - yanvasiij   Цитата(alx2 @ Apr 4 2016, 10:52) ... Ниче...   Apr 6 2016, 04:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016