To build custom BSP layer using Yocto for a bare metal board.

Showing results for 
Search instead for 
Did you mean: 

To build custom BSP layer using Yocto for a bare metal board.

Contributor II

I am developing an Embedded application based on Yocto Krogoth release to run on Nitrogen6x board. I have followed the steps mentioned in this link. I have successfully created the Linux distribution and Yocto SDK to develop and run my application on the nitrogen board. The target machine I used to setup the environment for building was:


Now, we reached a phase that we are going to create a custom board (based on same i.Mx.6). The real processor chip is not decided yet, but it will be based on iMx6.

Suppose we assume that the final custom board also uses the same processor chip as that of the Nitrogen6x board that am using for my development so far. Do I need to add any other CUSTOM BSP layer to my existing Yocto Repos to support the new custom board I receive, or the existing Yocto layers and build environment I created for Nitrogen6x evaluation board will work fine for my custom board as well ?

Do i need to ask any specific information from the board vendor regarding the custom hardware changes he made in order to support any peripherals and GPIO lines so on.

What are the main things I have to consider if I receive a bare metal custom board from a hardware vendor who is not planning to give any minimal BSP package other than the schematics and pin mappings etc.

I read about creating a Custom BSP Layer in the Yocto documentation. But there are many other things in my mind that are not clear when I start thinking about a custom board (which is not like a Nitrogen6x, wandboard, Raspberry Pi so on that has got a wide support in the Yocto, BSP communities).

Thanks for any help you can provide.

0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hello Krishnab,

Yocto allows to create a customized Linux Distribution for your board while reusing most of the components However, even if you use the same chip you would need to make the necessary adjustments to the MACHINE configuration to fit your board (for example, which device tree to use). The best way to do this is through a custom layer, which allows to distribute the configuration easily.

I would recommend starting with the i.MX BSP Porting Guide, which is available as part of the NXP BSP Release documentation. In there you can see the overall steps required to customize a BSP to your own board.

I hope this helps!


0 Kudos