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

 
 
> Во время линковки для STM32F100RB возникает непонятная ошибка
r44083
сообщение Sep 21 2015, 05:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 13-09-15
Пользователь №: 88 376



Использую arm-none-eabi-, make, clang, Sublime Text. До недавнего времени проект нормально собирался, но вот я решил добавить в него свою библиотеку (файлы init.cpp, init.h, spi.cpp, spi.h). Положил эти 4 файла в папку user-code в проекте,
эта папка прописана в makefile для флага -I, а также для создания объектных файлов. Самое интересное, когда я просто подключаю в главном файле (#include "init.h" #include "spi.h"), то проект нормально собирается,
а когда в main() пытаюсь использовать какую-нибудь функцию из этих библиотек, то в лог построения проекта попадает вот такая ошибка:

CODE

--- linking...
arm-none-eabi-gcc .\out\obj/system_stm32f10x.o .\out\obj/core_cm3.o .\out\obj/stm32f10x_exti.o .\out\obj/stm32f10x_gpio.o .\out\obj/stm32f10x_spi.o .\out\obj/misc.o .\out\obj/stm32f10x_rcc.o .\out\obj/main.o .\out\obj/spi.o .\out\obj/init.o .\out\obj/startup_stm32f10x_md_vl.o -mcpu=cortex-m3 -mthumb -Wl,-Map=".\out\lst\ARM-testENC28J60.map",--cref -Wl,--gc-sections -TSTM32F10X_MD_VL.ld -nostartfiles -o .\out\hex\ARM-testENC28J60.elf
c:/program files (x86)/gnu tools arm embedded/bin/../lib/gcc/arm-none-eabi/4.9.3/armv7-m\libgcc.a(unwind-arm.o): In function `get_eit_entry':
unwind-arm.c:(.text+0x154): undefined reference to `__exidx_start'
unwind-arm.c:(.text+0x158): undefined reference to `__exidx_end'
c:/program files (x86)/gnu tools arm embedded/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m\libc.a(lib_a-abort.o): In function `abort':
abort.c:(.text.abort+0xa): undefined reference to `_exit'
c:/program files (x86)/gnu tools arm embedded/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m\libc.a(lib_a-signalr.o): In function `_kill_r':
signalr.c:(.text._kill_r+0xe): undefined reference to `_kill'
c:/program files (x86)/gnu tools arm embedded/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv7-m\libc.a(lib_a-signalr.o): In function `_getpid_r':
signalr.c:(.text._getpid_r+0x0): undefined reference to `_getpid'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [.\out\hex\ARM-testENC28J60.elf] Error 1
makefile:252: recipe for target '.\out\hex\ARM-testENC28J60.elf' failed
make[1]: Leaving directory 'D:/4 electronics/soft/Sublime Text projects/ARM-testENC28J60'
makefile:203: recipe for target 'all' failed
make: *** [all] Error 2
[Finished in 1.8s with exit code 2]

Микроконтроллер - STM32F100RB.
Сборка SublimeText (портабельная, со всеми программами) лежит тут: https://copy.com/kJIDxc8rIJenEWm4
Как преодолеть такую вот ошибку?

Весь проект лежит на гитхаб тут: https://github.com/r44083/ARM-testENC28J60

Сообщение отредактировал r44083 - Sep 21 2015, 05:28
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:45
Рейтинг@Mail.ru


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