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

Unable to flash after adding bootloader

Hi,

So I've made a post that I was unable to debug my app with the bootloader. But I've found out that it is entirely different problem. So my app is runnning whit FreeRTOS and I am using the buttonless bootloader debug example on the SDK15.0.0 with the softdevice compiling with armgcc. When I try to flash trough eclipse, the application restart but does not change.So I think that probably the flash fails.

Then I tried it on nrfGo studio and I get the message "Unable to erase UICR" when I try to flash my application. I did try to erase the UICR before but I don't think that is the problem. I tried reajustring my linker file since I thought that maybe I was writting on the bootloader.  Since the bootloader starts at 0x72000 I've five the length of the flash.

Here is my .ld file of my application:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* Linker script to configure memory regions. */
SEARCH_DIR(.)
GROUP(-lgcc -lc -lnosys)
MEMORY
{
FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0x4c000
RAM (rwx) : ORIGIN = 0x200057b8, LENGTH = 0xa848
uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4
}
SECTIONS
{
.uicr_bootloader_start_address :
{
PROVIDE(__start_uicr_bootloader_start_address = .);
KEEP(*(SORT(.uicr_bootloader_start_address*)))
PROVIDE(__stop_uicr_bootloader_start_address = .);
} > uicr_bootloader_start_address
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

After a reset: When I flash the bootloader after a reset, if I send an image through the dfu service, it boots. If I flash direcly it doesn't since it does not pass the CRC check. So first I flash a working image through the DFU service and then I try to develop and debug the app by flashing normaly through my IDE/Jlink, but then nothing changes as described in the post.

Any help is appreciated.