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

issue realted to start address of hex

Hi, I have created a project with Keil 5.15 The simply blink app works. Now I want to play with softdevice.

The only problem is... no matter what I do, my hex file always is being flashed at 0x0 Even though I updated the IROM settings in Keil.

This means, If I flash softdevice and then try to flash the application I get error.

Please help me to debug this ? If you need more detail, please let me know.

image description image description

==============EDIT=====================

Here is the scatter file

As mentioned now I checked the option use memory layout from the target...

Here is scatter file.

LR_IROM1 0x00016000 0x00029000  {    ; load region size_region
  ER_IROM1 0x00016000 0x00029000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
    main.o (+RO)
    RTT_Syscalls_KEIL.o (+RO)
    SEGGER_RTT.o (+RO)
    SEGGER_RTT_printf.o (+RO)
    nrf_delay.o (+RO)
    pstorage.o (+RO)
    arm_startup_nrf51.o (+RO)
    system_nrf51.o (+RO)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x00004000  {  ; RW data
    main.o (+ZI)
   .ANY (+RW +ZI)
  }
}

But now I'm getting these warnings :

.\Objects\M0.sct(10): warning: L6329W: Pattern RTT_Syscalls_KEIL.o(RO) only matches removed unused sections.
.\Objects\M0.sct(11): warning: L6329W: Pattern SEGGER_RTT.o(RO) only matches removed unused sections.
.\Objects\M0.sct(12): warning: L6329W: Pattern SEGGER_RTT_printf.o(RO) only matches removed unused sections.
.\Objects\M0.sct(20): warning: L6314W: No section matches pattern main.o(ZI).

And the application doesn't even run...

I can confirm the application is now flashed at 0x16000. I have checked it with JMem and viewed the memory.

But the application is not running. I have even programmed the softdevice version s110_nrf51822_7.0.0_softdevice.hex

Parents Reply Children
No Data
Related