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

NRF_ERROR_CRYPTO_INTERNAL with arm-oe-linux-gnueabi-g++ -mthumb

Hi,

I am writing C/C++ programs running on open-embedded boards to talk through pc-ble-driver (v4.1.1) to bond (Security mode 1 level 4) with PCA10040 or PCA10056.

I found an interesting bug which I cannot understand:

If I compile the C++11 program with '-mthumb' option using arm-oe-linux-gnueabi-g++, both PCA10040 (oberon backend) and PCA10056 (CC310 backend) will fail (NRF_ERROR_CRYPTO_INTERNAL) on nrf_crypto_ecdh_compute() in nrf_ble_lesc. But if I remove '-mthumb' option, then everything is fine.

Counterpart C program compiled with arm-oe-linux-gnueabi-gcc does not have the same bug even '-mthumb' option is given.

Any idea why Thumb instruction can impact the nRF crypto libs?

Thanks & Best regards,

Chencheng

Parents Reply Children
No Data
Related