- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然单独理解每一个(或者可能不理解),但看起来我远未理解两者之间的实际差异。
根据我的理解,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/
我使用线程将数据发送到我的 USB 设备(不是数据存储)并从设备获取返回数据。 它在前 5 分钟内运行良好。数据输入,数据输出。 (我几乎在第六分钟开始唱歌。) 然后突然失去了联系。 有logcat消
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: adb cannot find my device for Android debugging. Why? 我是安卓
我有一台安装了win10的电脑, 我已在外部硬盘上安装了 ubuntu 16.04, 现在,当我启动计算机并且外部硬盘已连接到电脑时 grub 菜单打开,我可以在 win10 或 ubuntu 之间进
假设我想使用 Microsoft.Azure.Devices 包/SDK 加载设备信息,这与我所说的有什么区别: RegistryManager regManager = RegistryManage
我在 Windows PC 上使用 VS-2017。我可以使用模拟器测试和运行 iOS 应用程序。 现在我开始为 AppStore 构建应用程序。 构建成功。 现在我在项目解决方案菜单中选择“部署..
任何帮助,将不胜感激。我一般对tensorflow和编程都是陌生的。我正在按照github(https://github.com/experiencor/keras-yolo3)中的说明学习YOLO-
我用 adb 将 4 台设备连接到我的笔记本电脑。 最近我开始看到我的一个 android 设备“离线”,而其他设备运行文件。 我的问题是,离线到底是什么意思,是什么原因造成的? 最佳答案 每次adb
我想在我的物理设备上开始用espresso编写的仪器测试。 想法如下:我的公司有一个应用程序的白标解决方案,因此我们有很多应用程序可以放入 Play 商店。为了支持我们的支持团队,我编写了一个测试,为
当出现这种情况时,我的应用程序当前正在接收与之前的应用程序用户帐户关联的推送通知: 玩家安装应用程序并注册为“bob” bob 的设备 token 在网络服务中注册 玩家重新安装了应用程序并注册为“p
我正在使用命令行编译和安装 Android 应用程序,当我尝试将其安装到设备上时,会发生以下情况: $> adb devices List of devices attached 8c092420
我使用标准 CUDA malloc 在 CUDA 中分配了一个内存数组,并将其传递给函数,如下所示: void MyClass::run(uchar4 * input_data) 我还有一个类成员,它
我的真实设备是 Sony Xperia c6502 Android 版本 4.3我确定我已将它连接到我的计算机并打开了开发人员选项/USB 调试 在 SDK 管理器中,已经安装了 Google USB
某些设备的设备密度返回 0。以下代码用于计算设备密度: WindowManager wm = (WindowManager) context .getSystemService(Con
我正在将一个小文件 (8.5 Mb) 上传到 flask 测试服务器。 当文件上传完成后,服务器报告: File "/home/ubuntu/.virtualenvs/eco_app/lib/
我正在编写一个小应用程序,我需要将一个变量传递给一个函数。问题是该变量是一个绑定(bind),但该函数必须接受一个常规变量。 代码: ForEach($deviceArrays.devices, id
我正在编写一个小应用程序,我需要将一个变量传递给一个函数。问题是该变量是一个绑定(bind),但该函数必须接受一个常规变量。 代码: ForEach($deviceArrays.devices, id
我创建了一个新的 quasar 项目,添加了 cordova 并进行了一些尝试。 一切正常,我可以在手机上部署该应用程序并在模拟器中运行它。 现在,我需要获取一些设备信息,我想为此使用 cordova
根据 W3C The ‘device-width’ media feature describes the width of the rendering surface of the output d
我的数据迭代器当前在 CPU 上运行,因为 device=0 参数已弃用。但我需要它与模型的其余部分一起在 GPU 上运行。 这是我的代码: pad_idx = TGT.vocab.stoi[""]
Cordova 版本:3.5.0 我正在尝试使用 pushPlugin 实现推送通知.但是当我在android平台上运行这个应用程序时(我没有尝试过其他平台),有一个错误“device is not
我是一名优秀的程序员,十分优秀!