how to customize blinky sample build so that it can run from b0n on netcore

Hello,

We are using NCS SDK 2.4.2. We use MCUBoot for appcore and b0n for netcore. We use https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/bluetooth/hci_ipc  sample for our netcore. Since MCUBoot and Secure Boot is enabled for app core, It includes b0n ( netboot sample ) for netcore. 

Our manufacturing partner doesn't use MCUBoot or b0n. We want to run their image in our net core for some testing.

Flash layout of netcore.

0x1000000 - b0n / netboot - generated by us

0x1008580 - provision.hex - generated by us

0x1008800 - blinky sample - generated by manufacturing partner

1. Is it possible to modify blinky sample so that it can be loaded by b0n, even though it's not build with it ?

2. I changed few project config to so that linker.cmd is generated in a way that blinky zephyr.hex is at 0x1008800. But net core is continuously rebooting, I get b0n logs, but no logs from blinky sample.

CONFIG_FLASH_BASE_ADDRESS=0x1008800

first few lines of generated linker.cmd

MEMORY
    {
    FLASH (rx) : ORIGIN = (0x1000000 + 0x8800), LENGTH = (256*1K - 0x8800)
    RAM (wx) : ORIGIN = 0x21000000, LENGTH = (64 * 1K)
    SRAM1 : ORIGIN = 553648128, LENGTH = 65536
    IDT_LIST (wx) : ORIGIN = 0xFFFFF7FF, LENGTH = 2K
    }

3. Is there any other way to address this situation ?

For now, ignoring complexity of image signature and keys sharing. It look like b0n isn't verifying any signature in this version.

Thanks,

Darshan

Parents
  • Hi,

    I think what you describe should be possible, but to see that I understand correctly:

    You have custom everything in place, but want to swap out only the network core application?

    Here is how:

    1. Build new netcore app with CONFIG_FLASH_LOAD_OFFSET to the start addr of netcore app.
    2. Build old project with "west -vvv build". Find comand used to generate .hex files for network core
    3. Run command and use your file instead.

    Does  that work for you?

    Regards,
    Sigurd Hellesvik

Reply
  • Hi,

    I think what you describe should be possible, but to see that I understand correctly:

    You have custom everything in place, but want to swap out only the network core application?

    Here is how:

    1. Build new netcore app with CONFIG_FLASH_LOAD_OFFSET to the start addr of netcore app.
    2. Build old project with "west -vvv build". Find comand used to generate .hex files for network core
    3. Run command and use your file instead.

    Does  that work for you?

    Regards,
    Sigurd Hellesvik

Children
Related