Hello,
I try to port project from IAR to Segger Studio. I followed the guides for porting projects like this and this. So, I did:
- Imported IAR project to SES with internal wizard;
- Configured preprocessor settings.
And after that, the project compiled.
Next, I try to configure linker.
- I added Ses_sturtup_nrf52.s, system_nrf52.c, thumb_crt0.s
- Added flash_placement.xml
- changed memory segments as it was in IAR project.
But linker doesn't work.
I have some errors:
Generating linker script ‘my_prj.ld’
Linking my_prj.elf
_build/my_prj.elf section `.text.nrf_drv_spi_transfer' will not fit in region `UNPLACED_SECTIONS'
region `UNPLACED_SECTIONS' overflowed by 92232 bytes
cannot find entry symbol reset_handler; not setting start address
_build/main.o: in function `main':
main.c:(.text.main+0x278): undefined reference to `__start_log_const_data'
_build/main.o: in function `start_timer':
main.c:(.text.start_timer+0x60): undefined reference to `__start_log_const_data'
_build/nrf_sdh.o:(.rodata.sdh_req_observers+0x0): undefined reference to `__start_sdh_req_observers'
_build/nrf_sdh.o:(.rodata.sdh_req_observers+0x4): undefined reference to `__stop_sdh_req_observers'
_build/nrf_sdh.o:(.rodata.sdh_state_observers+0x0): undefined reference to `__start_sdh_state_observers'
_build/nrf_sdh.o:(.rodata.sdh_state_observers+0x4): undefined reference to `__stop_sdh_state_observers'
_build/nrf_sdh.o:(.rodata.sdh_stack_observers+0x0): undefined reference to `__start_sdh_stack_observers'
_build/nrf_sdh.o:(.rodata.sdh_stack_observers+0x4): undefined reference to `__stop_sdh_stack_observers'
_build/nrf_pwr_mgmt.o:(.rodata.pwr_mgmt_data+0x0): undefined reference to `__start_pwr_mgmt_data'
_build/nrf_pwr_mgmt.o:(.rodata.pwr_mgmt_data+0x4): undefined reference to `__stop_pwr_mgmt_data'
...
my_ble.c:(.text.BLE_Send+0xf0): undefined reference to `__start_log_const_data'
_build/ses_startup_nrf52.o: in function `_vectors':
(.vectors+0x0): undefined reference to `__stack_end__'
_build/ses_startup_nrf_common.o: in function `afterInitialize':
(.init+0x1c): undefined reference to `__RAM_segment_end__'
_build/thumb_crt0.o: in function `memory_set':
(.init+0xd4): undefined reference to `__stack_end__'
(.init+0xd8): undefined reference to `__stack_start__'
(.init+0xdc): undefined reference to `__stack_process_end__'
(.init+0xe0): undefined reference to `__stack_process_start__'
(.init+0xe4): undefined reference to `__data_load_start__'
(.init+0xe8): undefined reference to `__data_start__'
(.init+0xec): undefined reference to `__data_end__'
(.init+0xf0): undefined reference to `__text_load_start__'
(.init+0xf4): undefined reference to `__text_start__'
(.init+0xf8): undefined reference to `__text_end__'
(.init+0xfc): undefined reference to `__fast_load_start__'
(.init+0x100): undefined reference to `__fast_start__'
(.init+0x104): undefined reference to `__fast_end__'
(.init+0x108): undefined reference to `__ctors_load_start__'
(.init+0x10c): undefined reference to `__ctors_start__'
(.init+0x110): undefined reference to `__ctors_end__'
(.init+0x114): undefined reference to `__dtors_load_start__'
(.init+0x118): undefined reference to `__dtors_start__'
(.init+0x11c): undefined reference to `__dtors_end__'
(.init+0x120): undefined reference to `__rodata_load_start__'
(.init+0x124): undefined reference to `__rodata_start__'
(.init+0x128): undefined reference to `__rodata_end__'
(.init+0x12c): undefined reference to `__tdata_load_start__'
(.init+0x130): undefined reference to `__tdata_start__'
(.init+0x134): undefined reference to `__tdata_end__'
(.init+0x138): undefined reference to `__bss_start__'
(.init+0x13c): undefined reference to `__bss_end__'
(.init+0x140): undefined reference to `__tbss_start__'
(.init+0x144): undefined reference to `__tbss_end__'
(.init+0x148): undefined reference to `__heap_start__'
(.init+0x14c): undefined reference to `__heap_end__'
_build/nrf_ble_gatt.o: in function `data_length_update':
nrf_ble_gatt.c:(.text.data_length_update+0xe8): undefined reference to `__start_log_const_data'
_build/app_error_weak.o: in function `app_error_fault_handler':
app_error_weak.c:(.text.app_error_fault_handler+0x134): undefined reference to `__start_log_const_data'
_build/nrf_fstorage.o: in function `nrf_fstorage_init':
nrf_fstorage.c:(.text.nrf_fstorage_init+0x7c): undefined reference to `__start_log_const_data'
_build/nrf_log_frontend.o: in function `nrf_log_init':
nrf_log_frontend.c:(.text.nrf_log_init+0x60): undefined reference to `__stop_log_const_data'
nrf_log_frontend.c:(.text.nrf_log_init+0x64): undefined reference to `__start_log_const_data'
_build/nrf_log_frontend.o: in function `nrf_log_module_cnt_get':
nrf_log_frontend.c:(.text.nrf_log_module_cnt_get+0xc): undefined reference to `__stop_log_const_data'
nrf_log_frontend.c:(.text.nrf_log_module_cnt_get+0x10): undefined reference to `__start_log_const_data'
_build/nrf_log_frontend.o: in function `module_idx_get':
nrf_log_frontend.c:(.text.module_idx_get+0x60): undefined reference to `__start_log_dynamic_data'
_build/nrf_log_frontend.o: in function `nrf_log_module_name_get':
nrf_log_frontend.c:(.text.nrf_log_module_name_get+0x3c): undefined reference to `__start_log_const_data'
_build/nrf_log_frontend.o: in function `nrf_log_color_id_get':
nrf_log_frontend.c:(.text.nrf_log_color_id_get+0x6c): undefined reference to `__start_log_const_data'
_build/nrf_log_frontend.o: in function `nrf_log_frontend_dequeue':
nrf_log_frontend.c:(.text.nrf_log_frontend_dequeue+0x3a4): undefined reference to `__start_log_const_data'
_build/nrf_sdh_ble.o: in function `nrf_sdh_ble_app_ram_start_get':
nrf_sdh_ble.c:(.text.nrf_sdh_ble_app_ram_start_get+0x20): undefined reference to `__app_ram_start__'
_build/nrf_sdh_ble.o: in function `nrf_sdh_ble_default_cfg_set':
nrf_sdh_ble.c:(.text.nrf_sdh_ble_default_cfg_set+0x204): undefined reference to `__start_log_const_data'
_build/nrf_sdh_ble.o: in function `nrf_sdh_ble_enable':
nrf_sdh_ble.c:(.text.nrf_sdh_ble_enable+0xac): undefined reference to `__start_log_const_data'
Build failed
what am I doing wrong?
Help me, please
Regards,
Ivan