gpt4 book ai didi

linux-device-driver - BSP 与设备驱动程序

转载 作者:行者123 更新时间:2023-12-03 09:23:04 25 4
gpt4 key购买 nike

虽然单独理解每一个(或者可能不理解),但看起来我远未理解两者之间的实际差异。

根据我的理解,BSP 是一个驱动程序和配置设置包,它允许内核镜像启动板(并且是板的一部分)。
单个设备驱动程序在特定组件 (HW) 上运行,一方面与核心内核接口(interface),另一方面与设备本身接口(interface)。

查看 Linux 内核,我不清楚 BSP 角色从哪里开始,设备驱动程序角色在哪里结束。具体来说,我习惯于在每个镜像中看到每个板一个 BSP,但是,通用 Linux 内核可以加载到具有相同镜像的任何体系结构系列上(很明显,对于不同的系列,有不同的镜像:x86、amd64、arm、等...),根据需要从 initrd 加载特定的板和外围设备驱动程序。

是否有适用于常见 Linux 内核发行版的 BSP?
还是 BSP 仅与特殊情况板相关?

这种行为在其他内核上是否类似? VxWorks?

最后一个,合并不同的 BSP/s 以生成适合不同板的单个图像是否常见?

最佳答案

我将 BSP 和设备驱动程序之间的关系视为“有”。板级支持包包括设备驱动程序。

BSP 和内核之间的区别并不容易区分。内核将指令转换为硬件。内核经常被写入 particular families of hardware ,因此它们并不像看起来那样便携或通用。它相当于每个架构系列的代码的不同排列。

BSP 的作用正好相反:它提供工具和指令来使用该板的特定硬件集。在特定的受控情况下,内核可以完成这项工作。但是 BSP 允许任何兼容的内核/操作系统/应用程序堆栈使用该板,遵循它的 configuration instructions .

如果您只需要访问 CPU 周期和内存,也许是一些协议(protocol)(USB、以太网、几种视频类型),具有广泛架构支持的内核非常棒,并且曾经有一段时间,硬件抽象的广度被倒数第二.但是现在,考虑到董事会可能有一个 suite of sensors (加速度计、磁力计、陀螺仪、光线、接近度、大气压力等)、电话、可能有多个 CPU、多个 GPU 等。如果/当有人使用那些特定的硬件包时,可以编写一个内核来提供 VGA/DVI/HDMI/DisplayPort 和 CPU/GPU 组合的几种排列,但与使用专为特定电路板构建的 BSP。即使那样,那也只是一个内核;该板能够支持 Linux、Windows、Android、Symbian 等。

这就是为什么像 Yocto 这样的努力存在,以进一步解耦内核和硬件。 BSP 使硬件集可以扩展到一个或两个内核/操作系统/应用程序堆栈之外,而内核使特定的操作系统/应用程序堆栈可移植到多个硬件架构 .

关于linux-device-driver - BSP 与设备驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com