maowa_2005 发表于 2014-7-15 20:07

bsp和bootloader的区别

最近在看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 会永远黑下去,二七路论坛上认识的孩子只会当我断了网……三次元的基友不认识二次元的 基友,妈妈也不知道我开了微博……我该怎么告诉那些我在乎却不认识我的家伙我已经死了 的消息啊……

maowa_2005 发表于 2014-7-17 17:38

vcxz_1982 发表于 2014-7-16 09:31 static/image/common/back.gif
你理解的没错啊.

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


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

vcxz_1982 发表于 2014-7-21 17:31

本帖最后由 vcxz_1982 于 2014-7-21 17:33 编辑

maowa_2005 发表于 2014-7-17 17:38 static/image/common/back.gif
多谢指点,但是我还有一点不明白,我现在手上有一款飞思卡尔的开发板,里面自带的一个uboot 和linux3.0的 ...
嗯, BSP包含了内核驱动, 有时候也包含了官方集成的一些驱动. 也有一些其他扩展功能.

muaxi8 发表于 2016-12-7 14:22

页: [1]
查看完整版本: bsp和bootloader的区别