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

Peer Manager and GCC

I have attempted to migrate over a couple of nRF52 projects built around device manager to the new peer manager in SDK 11 that are built with eclipse and GCC. However, I am seeing the exact same behavior after each attempt. I am following the migration tutorial and everything to builds just fine but running in debug shows the application getting hung up at flash address 0x10 and disassembly shows the following:

          fs_config:
00000000:   beq.n   0xee
00000002:   movs    r1, r0
00000004:   movs    r0, r0
00000006:   movs    r0, r0
00000008:   movs    r0, r0
0000000a:   movs    r0, r0
0000000c:   movs    r3, r0
0000000e:   movs    r0, r0
00000010:           ; <UNDEFINED> instruction: 0xffffffff

The undefined instruction continues until address 0x1000, or one block of flash.

I also tried creating a new project around the example relay project that uses the peer manager but again, same result.

It seems that the fs_config is ignoring the flash start address in the linker script is wiping out the Softdevice flash for storage space (this is just a guess). I'm not sure how to fix this quickly or correctly.

Parents
  • I have found that the gcc linker script used to place fs_config is not set up properly. I assume you're using a softdevice. What I've found is that the SECTION defined in the projects' linker script (e.g. ble_app_hrs_rscs_relay/pca10036/s132/armgcc) creates a section located at 0x0, which conflicts with the softdevice. In fact, I am wondering how you put this image into flash. If I try to do it using nRFGo Studio, it fails saying that part of your application is overflowing into the softdevice region.

Reply
  • I have found that the gcc linker script used to place fs_config is not set up properly. I assume you're using a softdevice. What I've found is that the SECTION defined in the projects' linker script (e.g. ble_app_hrs_rscs_relay/pca10036/s132/armgcc) creates a section located at 0x0, which conflicts with the softdevice. In fact, I am wondering how you put this image into flash. If I try to do it using nRFGo Studio, it fails saying that part of your application is overflowing into the softdevice region.

Children
No Data
Related