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

Upgrading to SDK 5.2.0 breaks build

I've just tried upgrading to 5.2.0 from 5.1.0. I simply downloaded the new SDK's zip file, extracted it next to the old one, and adjusted my makefile to reflect the new path.

I get a bunch of warnings and errors in S110/*.h because of asm operand constraints or something. Of note, I am using my own custom Makefile. It has been working perfectly fine. I don't suspect it to be the problem unless the build system expectations have changed since 5.1.0.

What I find really weird is the that S110 files have not changed at all (expected) but the errors seem to be happening there.


"C:/Program Files (x86)/GNU Tools ARM Embedded/4.8 2014q1/bin/arm-none-eabi-g++" -c -I. -I"C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/" -I"C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/app_common" -I"C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/sd_common" -I"C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110" -I"C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/ble" -I"C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/ble/ble_services" -I"C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/gcc" -Os -mcpu=cortex-m0 -mthumb -mabi=aapcs -mfloat-abi=soft -MMD -MP -MF build/.dep/main.cpp.o.d -std=c++0x -DBLE_STACK_SUPPORT_REQD -D__HEAP_SIZE=512 -DNRF51 main.cpp -o build/main.cpp.o
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/ble_gap.h: In function 'uint32_t sd_ble_gap_sec_info_reply(uint16_t, const ble_gap_enc_info_t*, const ble_gap_sign_info_t*)':
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/nrf_svc.h:20:6: warning: asm operand 0 probably doesn't match constraints [enabled by default]
     ); \
      ^
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/ble_gap.h:850:1: note: in expansion of macro 'SVCALL'
 SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
 ^
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/nrf_svc.h:20:6: error: impossible constraint in 'asm'
     ); \
      ^
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/ble_gap.h:850:1: note: in expansion of macro 'SVCALL'
 SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
 ^
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/ble_gatts.h: In function 'uint32_t sd_ble_gatts_sys_attr_set(uint16_t, const uint8_t*, uint16_t)':
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/nrf_svc.h:20:6: warning: asm operand 0 probably doesn't match constraints [enabled by default]
     ); \
      ^
C:/Nordic~1/nRF51S~1.393/Nordic/nrf51822/Include/S110/ble_gatts.h:519:1: note: in expansion of macro 'SVCALL'
 SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
 ^

Anyone have any clue what could have changed?

Note: C:/Nordic~1/nRF51S~1.393 > C:\Nordic Semiconductor\nRF51 SDK_v5.2.0.39364

Related