关于BSP与HAL的区别

青化某 2014-09-16 02:13:52
RT,我们知道HAL是硬件抽象层,是windows操作系统最底层的东西,用于抽象底层硬件接口,使操作系统无需关心底层设备,可以做到可移植。但看到嵌入式系统时,看到有BSP(板级支持包),是介于操作系统和硬件之间,用于直接负责与硬件交互的模块,请问两者有区别么??

还是PC系统与嵌入式系统不一样?或者只是微软的这一套东西如此?

求权威达人解释!
...全文
1366 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
实际上,早些时候,WinCE也叫过HAL,后来还叫过OEM Adaptation Layer(OEM适配层),后来微软才统一口径,规范下来叫OEM抽象层。
  • 打赏
  • 举报
回复
PC机上叫HAL (Hardware Abstraction Layer),硬件抽象层。 和WinCE的OAL (OEM Abstraction Layer)逻辑划分和实际作用几乎是一样的。 Win8之前Windows都是面向X86或x64 (安腾体系除外),硬件层基本是一致的,微软就把这些硬件有关的代码都实现了,基本没OEM什么事儿。 WinCE面向的硬件架构种类太多,x86, ARM, MIPS, SH, 68K, PPC,等等,微软不可能把这些都做出来,因此硬件和内核通信的部分,交给了OEM厂商,有这些厂商自己按照接口规范实现特定硬件的软件抽象,供内核调用。因此就加OEM抽象层(OAL)。 BSP包括了Bootloader,OAL代码,驱动,配置文档,其他文档,等等,是OEM厂商提供的开发包。
91program 2014-09-17
  • 打赏
  • 举报
回复
那PC机的系统与硬件之间,应该也有 BSP,只是可能叫法不同。 WinCE 其实很大程度上与 WinXP 等 PC OS 很像。当然,这只是猜想的,没有看过 PC 上 OS 的实现代码。 HAL,在 WinCE 上以 MDD +PDD 的形式来表现吧。 MDD 提供框架性的实现,负责提供 OS 所需的基本实现,并将代码设计与具体的硬件设计无关。而 PDD 提供了对硬件操作相应的代码。
青化某 2014-09-17
  • 打赏
  • 举报
回复
那PC机的系统与硬件之间有BSP吗? 以及winCE这样的嵌入式系统有HAL吗?
  • 打赏
  • 举报
回复
HAL是逻辑上的划分, BSP是HAL的具体实现。 概念和实物的差别。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧