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

Couldn't use nRFgo studio to progrm 52832

Hi

I'm using nRF5 SDK V12.0 and S132 on nRF52832, I add a peripheral service base on the ble_app_multilink_central example so that the phone can connect to the center. Now all the function is OK and I want to mergehex the files into one file. But I found that it indicates there are conflicts.

I nRFgo studio to progrm this application, I program S132 first and it's OK, then I program the application, it indicates the flash is not erased. But I can use Keil to download online.

I think these two problem is the application has exceed the size of the flash. However, I have check the .map file as follow:

Total RO  Size (Code + RO Data)                49740 (  48.57kB)
Total RW  Size (RW Data + ZI Data)             25740 (  25.14kB)
Total ROM Size (Code + RO Data + RW Data)      49856 (  48.69kB)

So could you give me some advice? Thanks.

image description image description

nRF52_Reply_0308.hex

nRF52_Reply_Setting_0308.hex

nRF52_bootloader_V12.0_Reply.hex

s132_nrf52_3.0.0_softdevice.hex

image description

Parents
  • Hello Alice

    This error can arise when addresses in the hex files you are trying to merge overlap. In your case the address stated in line 1 of your file matches the one in line 3993 of the s132 softdevice hex.

    Please see the following links:

    devzone.nordicsemi.com/.../

    devzone.nordicsemi.com/.../

    Best regards

    Jørn Frøysa

  • I was a bit hasty in my original answer, the conflict does not lie between your application code and the softdevice, but between your application code and your bootloader. They both try to write to the same address location, line 3120 in your application code hex and line 1431 in the bootloader code hex. This can occur if the flash address for application start + allocated size is greater than the bootloaders start address. You should check whether or not this is the case, and change the allocated memory size for the application code if there is a conflict.

Reply
  • I was a bit hasty in my original answer, the conflict does not lie between your application code and the softdevice, but between your application code and your bootloader. They both try to write to the same address location, line 3120 in your application code hex and line 1431 in the bootloader code hex. This can occur if the flash address for application start + allocated size is greater than the bootloaders start address. You should check whether or not this is the case, and change the allocated memory size for the application code if there is a conflict.

Children
No Data