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

Segger Embedded Studio and Bootloader

Continuing with my attempts to get this to work on SES I'm not sure if I'm missing something simple or not.

So using the excellent RKNRFGO (which by the way is much quicker for adding the softdevice than linking it in with SES, highly recommended for any Mac users) when I attempt to add the Bootloader the bootloader nor any app appears to be working. I have tried adding a Code hex which has been compiled linking in bootloader_settings_nrf52.hex and I have tried just the softdevice and the bootloader themselves without any Code hex.

How are other people using SES managing to achieve this?

Thanks

[UPDATE] These are the settings for RKNRFGO and this is the log after flashing.

screenshot.png

Reset delay: 0 ms
Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.

Writing 00000001 -> 4001E504

Reset delay: 0 ms
Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.

Sleep(1000)

Downloading file [Section0.0vOdqsDF.bin]...Comparing flash   [000%]000%]050%]100%] Done.
Erasing flash     [000%]100%] Done.
Programming flash [000%]000%]005%]005%]010%]010%]020%]020%]025%]025%]035%]035%]040%]040%]045%]045%]055%]055%]060%]100%] Done.
Verifying flash   [000%]000%]100%] Done.
J-Link: Flash download: Flash programming performed for 1 range (4096 bytes)
J-Link: Flash download: Total time needed: 0.164s (Prepare: 0.089s, Compare: 0.003s, Erase: 0.000s, Program: 0.061s, Verify: 0.000s, Restore: 0.009s)
O.K.

Downloading file [Section1.lCJ9YuF5.bin]...Comparing flash   [000%]000%]050%]100%] Done.
Erasing flash     [000%]100%] Done.
Programming flash [000%]000%]000%]000%]000%]000%]005%]005%]005%]005%]005%]005%]010%]010%]010%]010%]010%]010%]015%]015%]015%]015%]020%]020%]020%]020%]020%]020%]025%]025%]025%]025%]025%]025%]030%]030%]030%]030%]035%]035%]035%]035%]035%]035%]040%]040%]040%]040%]040%]040%]045%]045%]045%]045%]050%]050%]050%]050%]050%]050%]055%]055%]055%]055%]055%]055%]060%]060%]060%]060%]060%]060%]065%]065%]065%]065%]070%]070%]070%]070%]070%]070%]075%]075%]075%]075%]075%]075%]080%]080%]080%]080%]085%]085%]085%]085%]085%]085%]090%]090%]090%]090%]090%]090%]095%]095%]095%]100%] Done.
Verifying flash   [000%]000%]100%] Done.
J-Link: Flash download: Flash programming performed for 1 range (110592 bytes)
J-Link: Flash download: Total time needed: 2.169s (Prepare: 0.162s, Compare: 0.012s, Erase: 0.000s, Program: 1.905s, Verify: 0.002s, Restore: 0.086s)
O.K.

Downloading file [Section2.j6YAf9Gp.bin]...Comparing flash   [000%]000%]050%]100%] Done.
Erasing flash     [000%]100%] Done.
Programming flash [000%]000%]005%]100%] Done.
Verifying flash   [000%]000%]100%] Done.
J-Link: Flash download: Flash programming performed for 1 range (4096 bytes)
J-Link: Flash download: Total time needed: 0.169s (Prepare: 0.115s, Compare: 0.003s, Erase: 0.000s, Program: 0.011s, Verify: 0.000s, Restore: 0.038s)
O.K.

Downloading file [Section3.RxSJH8nW.bin]...Comparing flash   [000%]000%]050%]050%]100%] Done.
Verifying flash   [000%]100%] Done.
J-Link: Flash download: Flash download skipped. Flash contents already match
O.K.

Downloading file [Section4.qpm37Mkh.bin]...Comparing flash   [000%]000%]050%]050%]100%] Done.
Verifying flash   [000%]100%] Done.
J-Link: Flash download: Flash download skipped. Flash contents already match
O.K.

Downloading file [Section5.CQi0rkWg.bin]...Comparing flash   [000%]000%]040%]040%]050%]050%]090%]100%] Done.
Erasing flash     [000%]000%]100%] Done.
Programming flash [000%]000%]010%]010%]025%]025%]035%]035%]050%]050%]060%]060%]075%]075%]085%]085%]100%] Done.
Verifying flash   [000%]000%]100%] Done.
J-Link: Flash download: Flash programming performed for 1 range (16384 bytes)
J-Link: Flash download: Total time needed: 0.662s (Prepare: 0.162s, Compare: 0.099s, Erase: 0.031s, Program: 0.282s, Verify: 0.000s, Restore: 0.086s)
O.K.

Downloading file [Section6.W0fSYpr8.bin]...Comparing flash   [000%]000%]050%]100%] Done.
Erasing flash     [000%]000%]100%] Done.
Programming flash [000%]000%]005%]100%] Done.
Verifying flash   [000%]000%]100%] Done.
J-Link: Flash download: Flash programming performed for 1 range (4096 bytes)
J-Link: Flash download: Total time needed: 0.171s (Prepare: 0.115s, Compare: 0.004s, Erase: 0.007s, Program: 0.004s, Verify: 0.000s, Restore: 0.038s)
O.K.

Downloading file [Section7.LMfV07KW.bin]...Comparing flash   [000%]000%]050%]100%] Done.
Erasing flash     [000%]000%]100%] Done.
Programming flash [000%]000%]005%]100%] Done.
Verifying flash   [000%]000%]100%] Done.
J-Link: Flash download: Flash programming performed for 1 range (4096 bytes)
J-Link: Flash download: Total time needed: 0.171s (Prepare: 0.114s, Compare: 0.004s, Erase: 0.007s, Program: 0.004s, Verify: 0.000s, Restore: 0.038s)
O.K.

Sleep(1000)

Reset delay: 0 ms
Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.


Script processing completed.
Parents
  • I looked at that bootloader hex file - just look at the list of blocks RKNRFGO decodes for it, it's clearly way more than a bootloader, it has code at 0, code at 1000, stuff all over the place. Hence my suggestion to check what was at 0x10001014 to see if it is correct, I'm pretty sure you'll find it's '0x00000000' which is the address of the first block of that hex file and not the address of the bootloader, so you're just going around and around in the MBR. That's a merged bootloader softdevice hex file, which is why it doesn't work and why you get errors with the tools.

    deleting the first 6917 lines of the file makes it look a bit more like a bootloader-only to me. The bootloader starts at the line

    :020000040007F3
    

    inclusive to the end of the file then excluding the second and third to last

    :020000041000EA
    :0810140000A0070000E0070046
    

    altho it'll work with those in.

Reply
  • I looked at that bootloader hex file - just look at the list of blocks RKNRFGO decodes for it, it's clearly way more than a bootloader, it has code at 0, code at 1000, stuff all over the place. Hence my suggestion to check what was at 0x10001014 to see if it is correct, I'm pretty sure you'll find it's '0x00000000' which is the address of the first block of that hex file and not the address of the bootloader, so you're just going around and around in the MBR. That's a merged bootloader softdevice hex file, which is why it doesn't work and why you get errors with the tools.

    deleting the first 6917 lines of the file makes it look a bit more like a bootloader-only to me. The bootloader starts at the line

    :020000040007F3
    

    inclusive to the end of the file then excluding the second and third to last

    :020000041000EA
    :0810140000A0070000E0070046
    

    altho it'll work with those in.

Children
No Data
Related