This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Unofficial pure-gcc build: undefined reference to `__Vectors'

This question relates to the unofficial gcc Makefiles available here:

github.com/.../nrf51-pure-gcc-setup

Using these to build a project based on the sample proximity app, I'm down to one error on the linker:

/Users/Eliot/dev/gcc-arm-none-eabi-4_8-2013q4/bin/arm-none-eabi-gcc -mthumb -mcpu=cortex-m0 -march=armv6-m -L /Users/Eliot/dev/nrf51-pure-gcc-setup/template/ -T gcc_nrf51_s110.ld -Wl,-Map=_build/device-nordic-pure-gcc_s110.Map  _build/startup_nrf51.os _build/system_nrf51.o _build/gps_antenova_m10478.o _build/gsm_ublox_sara.o _build/main.o _build/app_button.o _build/app_gpiote.o _build/app_timer.o _build/app_uart.o _build/ble_advdata.o _build/ble_bas.o _build/ble_bondmngr.o _build/ble_conn_params.o _build/ble_debug_assert_handler.o _build/ble_error_log.o _build/ble_ias.o _build/ble_ias_c.o _build/ble_lls.o _build/ble_sensorsim.o _build/ble_srv_common.o _build/ble_tps.o _build/pstorage.o _build/crc16.o _build/softdevice_handler.o  -o _build/device-nordic-pure-gcc_s110.elf
_build/ble_error_log.o: In function `ble_error_log_write':
ble_error_log.c:(.text+0x40): undefined reference to `__Vectors'
collect2: error: ld returned 1 exit status
make: *** [_build/device-nordic-pure-gcc_s110.hex] Error 1

I noticed that this part of the startup assembler source in the SDK:

.section .Vectors
.align 2
.globl __Vectors

__Vectors:

has changed to this in the same source in pure-gcc:

.section .isr_vector
.align 2
.globl __isr_vector

__isr_vector:

What's the best way for me to deal with that? I think pure-gcc isn't up to date with SDK 5.1.0 so maybe that's the issue. Should I add the gcc_startup_nrf51.s file from the SDK to my build somehow?

Parents Reply Children
No Data
Related