打印
[ARM入门]

bsp和bootloader的区别

[复制链接]
12566|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
maowa_2005|  楼主 | 2014-7-15 20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在看uboot的代码,大致看了一遍,它的作用就是初始化硬件设备,并配置参数以便引导操作系统,网上看了一下BSP的概念,说是板级支持包,介于硬件和操作系统之间,其中有人举了个例子:
BSP相当于硬件驱动,完成初始化、时钟、中断、串口、网络、flash等的设备驱动。
BootLoader用于加载、调试程序。
但是uboot中也包含了一些外设硬件的初始化啊,有点糊涂了,不知道2者有啥区别,求解(最好能说下啥是BSP)

相关帖子

沙发
vcxz_1982| | 2014-7-16 09:31 | 只看该作者
你理解的没错啊.

bootloader 代码比较少, 启动加载完毕后就没他事情了.

BSP还得为OS和硬件层建立接口.

比如友善 飞凌, 他们都是做ARM的, 都是买的三星2440, 三星自己提供了标准的BSP包, 这2个厂家其实是个做板子的对不对? 他们2个根据这个标准的BSP包, 和根据自己板子设计的电路 IC信号, 进行修改 增加, 形成BSP包.

然后我们WINCE开发者了, 就需要编译自己的WINCE系统, 那就要根据自己用他们谁的板子, 就启用谁的BSP包, 然后编译成系统. (微软比如要调用启动初始化, 要就要求BSP提供一个OEMInit函数)

就是这个意思了, 他是介于操作系统和硬件层之间的一种代码, 属于核心驱动层.

使用特权

评论回复
板凳
vcxz_1982| | 2014-7-16 09:32 | 只看该作者
感谢活跃的21IC, 给我解决了几个问题了, 呵呵, 我也来贡献一份力量吧.

使用特权

评论回复
地板
dym83| | 2014-7-16 09:41 | 只看该作者
如果有一天我突然意外死亡了怎么办……QQ 不会有人上,微博也不会有人发,这个 ID 会永远黑下去,二七路论坛上认识的孩子只会当我断了网……三次元的基友不认识二次元的 基友,妈妈也不知道我开了微博……我该怎么告诉那些我在乎却不认识我的家伙我已经死了 的消息啊……

使用特权

评论回复
5
maowa_2005|  楼主 | 2014-7-17 17:38 | 只看该作者
vcxz_1982 发表于 2014-7-16 09:31
你理解的没错啊.

bootloader 代码比较少, 启动加载完毕后就没他事情了.

多谢指点,但是我还有一点不明白,我现在手上有一款飞思卡尔的开发板,里面自带的一个uboot 和linux3.0的程序,有关uboot的相关内容通过分析uboot的代码已经差不多, 通过分析代码发现uboot在初始化完一些外设之后就直接进行OS的加载,就是linux3.0的代码了,所以你所说的BSP是不是就是包含在内核中的啊,难道是指内核中的设备驱动程序吗,因为我稍微看了下linux的设备驱动代码。刚接触这块,很多不清楚,希望多多指点

使用特权

评论回复
6
vcxz_1982| | 2014-7-21 17:31 | 只看该作者
本帖最后由 vcxz_1982 于 2014-7-21 17:33 编辑
maowa_2005 发表于 2014-7-17 17:38
多谢指点,但是我还有一点不明白,我现在手上有一款飞思卡尔的开发板,里面自带的一个uboot 和linux3.0的 ...

嗯, BSP包含了内核驱动, 有时候也包含了官方集成的一些驱动. 也有一些其他扩展功能.

使用特权

评论回复
7
muaxi8| | 2016-12-7 14:22 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

76

帖子

2

粉丝