C BSP在嵌入式Linux中是什么样子的?

C BSP在嵌入式Linux中是什么样子的?,c,linux,yocto,device-tree,bsp,C,Linux,Yocto,Device Tree,Bsp,我是嵌入式开发人员(新手)。我已经为ARM Cortex-M、PIC、Atmel 8位控制器编写了固件(用C和C++)。我知道源代码管理,这就是为什么我以前在不同的C头文件中有特定于板和编译器的信息 我已经为具有相同微控制器(PIC24F)的定制板编写了固件,但它们的板上外围设备、调试接口、LED、按钮和其他东西在不同版本的板上不断变化。因此,我曾经有一个BSP文件夹,其中包含每个板的头文件,以及一个顶层头文件,其中包含基于宏的特定头文件(每个板一个宏)。然后,一个配置头文件定义一个宏来启用所有

我是嵌入式开发人员(新手)。我已经为ARM Cortex-M、PIC、Atmel 8位控制器编写了固件(用C和C++)。我知道源代码管理,这就是为什么我以前在不同的
C头文件中有特定于板和编译器的信息

我已经为具有相同微控制器(PIC24F)的定制板编写了固件,但它们的板上外围设备、调试接口、LED、按钮和其他东西在不同版本的板上不断变化。因此,我曾经有一个BSP文件夹,其中包含每个板的头文件,以及一个顶层头文件,其中包含基于宏的特定头文件(每个板一个宏)。然后,一个配置头文件定义一个宏来启用所有所需的外围设备,即一个特定板的配置

BSP头文件如下所示:

最终的特定于线路板的头文件如下所示:

现在,我正在从事
yocto项目
设备树
。我想知道BSP在yocto项目和嵌入式linux中到底是什么样子的。它是否只是包含特定于板、特定于SoC以及可能是特定于核心的信息的设备树?还是有更多的东西


我知道这个问题可能被认为是太难了,但我想要的是对Yocto项目或嵌入式Linux中BSP结构的简要概述。指向特定控制器或在线链接的指针对入门非常有帮助。我试过谷歌几次,但都没有找到一张简洁的图片。请帮助。

我想下面的手册可能会有帮助。太板:)不同的人对BSP的定义不同,从运行板的最小文件集到Raspberry Pi等非常有用的包。