BICR file for custom boards

I'm developing a custom board that uses the nRF54H20.

The Getting Started guide for the nRF54H20DK explains how to use the pre-built BICR file and program it to the chip, but it doesn't explain how to create custom BICRs for custom boards.

In the Zephyr build logs for my application that uses a board configuration (devicetree, etc.) for my custom board, I see that it is generating its own BICR files:

-- Generated BICR hex file: C:/Users/MyName/Documents/Git/hello_world/build/hello_world/zephyr/bicr.hex

Does this mean that it's creating and flashing its own BICR files that are suitable for the custom board? Or do I need to manually create a custom BICR file and save it to the chip as detailed in the Getting Started guide?

If I need to manually create a custom BICR, is there a guide on how to do that?

Parents
  • Hello,

    The generated bicr.hex file you got is the hes file for your custom board. The explicit setting of CONFIG_SOC_NRFH20_GENERATE_BICR=y ensures BICR generation, but maybe for some boards it is enabled automatically. I will ask team to be sure about this.

    What you can do, you can check your build configuration (.config file in your build directory) to see if CONFIG_SOC_NRF54H20_GENERATE_BICR=y is set, even if it is not manually set by you in prj.conf file.

    The flashing of bicr.hex file manually with the nrfutil command ( what I mentioned in my previous reply) is must do thing. 

    My team also commented alike

    ''BICR must be flashed manually in bring-up, and does not need to be changed later, unless you change HW the configuration of the board (or found that you had a wrong BICR in the first place and need to fix it).

    BICR will not be erased when doing recover or eraseall, so in a lot of cases, you can just program it once and be done with it.''

    Thanks,

    BR

    Kazi

Reply
  • Hello,

    The generated bicr.hex file you got is the hes file for your custom board. The explicit setting of CONFIG_SOC_NRFH20_GENERATE_BICR=y ensures BICR generation, but maybe for some boards it is enabled automatically. I will ask team to be sure about this.

    What you can do, you can check your build configuration (.config file in your build directory) to see if CONFIG_SOC_NRF54H20_GENERATE_BICR=y is set, even if it is not manually set by you in prj.conf file.

    The flashing of bicr.hex file manually with the nrfutil command ( what I mentioned in my previous reply) is must do thing. 

    My team also commented alike

    ''BICR must be flashed manually in bring-up, and does not need to be changed later, unless you change HW the configuration of the board (or found that you had a wrong BICR in the first place and need to fix it).

    BICR will not be erased when doing recover or eraseall, so in a lot of cases, you can just program it once and be done with it.''

    Thanks,

    BR

    Kazi

Children
No Data
Related