Nordic nRF52常见问题:bootloader使用IAR编译报错(uECC.c.o(micro_ecc_lib_nrf52.a) has wchar_t size 16 bits)
当开发者使用IAR编译bootloader的时候,会遇到错误如下:
Error[Lt009]: Inconsistent wchar_t size
uECC.c.o(micro_ecc_lib_nrf52.a) has wchar_t size 16 bits
app_error_weak.o and 85 other objects, some of them in rt7M_tl.a and 4 other libraries have wchar_t size 32 bits
解决办法:
将IAR工程中的ECC库文件,替换为nrf52hf_armgcc目录下的。
如SDK15.3开发nRF52832,ECC的库文件使用下面路径的:
nRF5_SDK_15.3.0_59ac345\external\micro-ecc\nrf52hf_armgcc\armgcc
而不是 RF5_SDK_15.3.0_59ac345\external\micro-ecc\nrf52hf_iar\armgcc
带有hf的,是带FPU的SoC使用; 带有nf的,是不带FPU的SoC使用。
更多关于nRF52 DFU的详细解释参考:http://wywiot.com/nordic-ble-soc-howtouseota/