SDK 3.0.0 custom board definition

I'm having trouble porting my project from the older SDK (2.6.0) to the new SDK. 

I thought the most straightforward way to do that would be to start with a sample project similar to what I want to do. So I took the Matter Window Cover Sample. I have the nRF54L15-DK so I compiled the project for that board and it seems to work.

Now I use the VSCode button to create a new board. After closing VSCode and opening it again I can select my new custom board as the target for the build. It fails as my custom board is pretty much just boilerplate empty board definitions. So I start copying the contents of the nRF54L15-DK board definitions to my own custom board folder. The aim being to get the project to compile for the same dev kit with my custom board as the target. Ideally I would make no changes to the files but due to custom name I still have to do that. This also means I have to make another partition manager static definition file. I just copy the one used for the DK build and rename it for my custom board.

After fighting with some very hard to fix devicetree errors I get compilation process to reach the partition manager stage and there is something weird happening there. I have the exact same contents for the static definition file as the DK but for my board the build fails complaining about too many gaps in the partitions. I'm attaching the actual file I use for this.

pm_static_blindy_v3_nrf54l15_cpuapp.zip

The error I get from partition manager is this:

-- Found partition manager static configuration : /home/tiit/code/nordic/blindy_matter/pm_static_blindy_v3_nrf54l15_cpuapp.yml
Partition 'mcuboot' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_pad' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_primary' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_primary_app' is not included in the dynamic resolving since it is statically defined.
Partition 'settings_storage' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_secondary' is not included in the dynamic resolving since it is statically defined.
Partition manager failed: Incorrect amount of gaps found in static configuration. There must be exactly one gap in the static configuration to support placing the dynamic partitions (such as 'app'). Gaps found (2):0xd800-0x165000 0x17d000-0x172000 The most common solution to this problem is to fill the smallest of these gaps with statically defined partition(s) until there is only one gap left. Alternatively re-order the already defined static partitions so that only one gap remains.
Failed to partition region flash_primary, size of region: 1462272
Partition Configuration:
app:
  size: 1460224
factory_data:
  size: 4096
mcuboot:
  size: 53248
mcuboot_pad:
  size: 2048
mcuboot_primary:
  size: 1462272
mcuboot_primary_app:
  size: 1460224
settings_storage:
  size: 40960

-- Configuring incomplete, errors occurred!

Can you please check what I'm doing wrong here to cause this. This is somehow caused by using the custom board definition. I'm also attaching the whole custom board folder here just in case you can see something weird in there. This is just the folder that has to be extracted into the boards folder and after a VSCode restart it appears as a target for the build.

soma.zip

Hoping to hear back from you after the Easter Holidays,

Tiit

Parents
  • Hi Tiit

    I'm taking over this ticket while Edvin and Andreas is away, and had a chance to chat with them before they left. If I've gotten the gist of this issue correctly, it is that your custom board, which is a fully fledged copy doesn't work using your board files, but it does work if you just copy the DK's board files, correct? Excuse me if I'm mistaken here, but this is a long ticket and a lot to read and possibly misunderstand.

    If this is the case, then there must be some vital differences between the DKs board file and the ones you have made that are necessary for the board to run correctly. My suggestion would be to, starting with the working version of the sample that Edvin provided last week, remove one and one of the things you don't need from the board file there until you find what causes the application to break.

    Best regards,

    Simon

  • Hi Simon,

    Thank you for taking over this issue. 

    I'm afraid you didn't understand the issue completely correct. The issue is that the Matter Window Cover sample works if built for the 54L15 DK but fails if built for a direct copy of the DK board files as a custom board. Thanks to your support I now have a version where it all builds for the custom board but it still fails to run and for some reason I can not debug the sample project to see where it crashes. My last state is a fresh copy of the DK board files with just the board name changed. This works with most other samples in the 3.0.1 SDK. But it still fails with the Matter sample. I just need a starting point that works with the Matter sample. Then I would do exactly what you say - I would start changing the board item by item to get to my own custom board. I have done the same process with older SDK-s for the 52840 and even in this new SDK I did another board with 52840 which works just fine. The issue is I have no custom board to start from with the 54L15 SOC.

    Tiit

Reply
  • Hi Simon,

    Thank you for taking over this issue. 

    I'm afraid you didn't understand the issue completely correct. The issue is that the Matter Window Cover sample works if built for the 54L15 DK but fails if built for a direct copy of the DK board files as a custom board. Thanks to your support I now have a version where it all builds for the custom board but it still fails to run and for some reason I can not debug the sample project to see where it crashes. My last state is a fresh copy of the DK board files with just the board name changed. This works with most other samples in the 3.0.1 SDK. But it still fails with the Matter sample. I just need a starting point that works with the Matter sample. Then I would do exactly what you say - I would start changing the board item by item to get to my own custom board. I have done the same process with older SDK-s for the 52840 and even in this new SDK I did another board with 52840 which works just fine. The issue is I have no custom board to start from with the 54L15 SOC.

    Tiit

Children
No Data
Related