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

nRF52 Secure Bootloader BLE - Compilation Error

Hello, I am working with nRF5 SDK 17.0.0 and using IAR Embedded Workbench 8.50.1. I am following the Secure DFU bootloader guide as posted here.

On Step B3, I get a build error on my IAR as shown below

Inconsistent wchar_t size
micro_ecc_lib_uECC.c.o(micro_ecc_lib_nrf52.a) has wchar_t size 16 bits 
app_error_weak.o and 71 other objects have wchar_t size 32 bits

After searching for the same error, I came across a question asked 3 years ago here. I followed Marco's answer to making the uECC library in ..\sdk\external\micro-ecc\nrf52nf_armgcc\armgcc. After doing so, I moved the generated "micro_ecc_lib_nrf52.a" to ..\sdk\external\micro-ecc\nrf52nf_iar\armgcc to build my project in IAR. Once I did that, I was able to build my project. However, when I tried to load the project onto my board, IAR showed a popup saying it wasn't able to find the source files in micro-ecc directory (i.e. ../micro-ecc\curve-specific.inc, uECC.c, uECC.h). These are files extracted directly from the uECC library download. With the skip buttons on the popup, I can continue programming the board, but DFU doesn't work with the .zip file I created from step C2. 

Is my workaround for fixing a build error causing this issue? Is anyone having issue with the uECC library, using IAR?

Thanks in advance,

Esther

  • uECC library path is ../micro-ecc/micro-ecc/. I tried to move my SDK path to C:/ in hopes of reducing the folder levels, but was unsuccessful in removing the popups. Since there is the suggested alternative section, I will just go ahead and manually select the files from the path.

    Since DFU is working with smaller app size, I will just be mindful of that as I continue developing.

    Thank you.

Related