How does BSP looks like in Embedded Linux?

396 Views Asked by At

I am Embedded Developer (fresher) by profession. I have written firmware (in C and C++) for ARM Cortex-M, PIC, Atmel 8-bit controller. I am aware of the source code management and that's why I used to have Board Specific, Compiler Specific information in different C header files.

I have written firmware for custom boards which had same microcontroller (PIC24F) but their on-board peripherals, debug interface, LEDs, buttons and other stuff keeps on changing across various versions of the boards. So, I used to have a BSP folder which contains header files for each of the board and a top level header file which includes a specific header file based on macros (one macro for each board). Then, a config header files define one macro to enable all the required peripherals, configuration for one specific board.

enter image description here

The BSP header files looks like this:

enter image description here

And the final board specific header file looks like this:

enter image description here

Now, I am working on yocto project and device tree. I am wondering how BSP actually looks like in yocto project and embedded linux. Is it just device tree which contains board specific, SoC specific and may be Core specific information? Or There is something more to it?

I know this question could be considered as TOO BOARD but what I am looking for is a brief overview of the BSP structure in Yocto Project or Embedded Linux. Pointers to specific directors or online links will be really helpful to get started. I have tried google few times but didn't find a concise picture of it. Please help.

0

There are 0 best solutions below