本文首先介紹了什么是板級(jí)支持包以及BSP的三大部分,其次介紹了板級(jí)支持包的作用分析以及功能,最后介紹了BSP在項(xiàng)目開發(fā)中的位置和步驟,具體的跟隨小編一起來(lái)了解一下。
板級(jí)支持包的定義
板級(jí)支持包(BSP)是介于主板硬件和操作系統(tǒng)中驅(qū)動(dòng)層程序之間的一層,一般認(rèn)為它屬于操作系統(tǒng)一部分,主要是實(shí)現(xiàn)對(duì)操作系統(tǒng)的支持,為上層的驅(qū)動(dòng)程序提供訪問(wèn)硬件設(shè)備寄存器的函數(shù)包,使之能夠更好的運(yùn)行于硬件主板。在嵌入式系統(tǒng)軟件的組成中,就有BSP。BSP是相對(duì)于操作系統(tǒng)而言的,不同的操作系統(tǒng)對(duì)應(yīng)于不同定義形式的BSP,例如VxWorks的BSP和Linux的BSP相對(duì)于某一CPU來(lái)說(shuō)盡管實(shí)現(xiàn)的功能一樣,可是寫法和接口定義是完全不同的,所以寫B(tài)SP一定要按照該系統(tǒng)BSP的定義形式來(lái)寫(BSP的編程過(guò)程大多數(shù)是在某一個(gè)成型的BSP模板上進(jìn)行修改)。這樣才能與上層OS保持正確的接口,良好的支持上層OS。
BSP可以分為三大部分:
1、系統(tǒng)上電時(shí)的硬件初始化。
2、為操作系統(tǒng)訪問(wèn)硬件驅(qū)動(dòng)程序提供支持。
3、集成硬件相關(guān)和硬件無(wú)關(guān)的操作系統(tǒng)所需的軟件模塊。
BSP向上層提供的接口有:
1、與操作系統(tǒng)內(nèi)核的接口(如報(bào)告DRAM大小、修改中斷屏蔽級(jí)別等)
2、與操作系統(tǒng)的I/O系統(tǒng)的接口
3、與應(yīng)用程序的接口
廣義上講,單板中所有需要CPU控制的硬件的程序,都屬于單板BSP,但是,為了調(diào)試方便和軟件的模塊化,我們通常就將與此單板最小系統(tǒng)相關(guān)的程序簡(jiǎn)稱為BSP,而將其他程序稱為驅(qū)動(dòng)程序。
對(duì)于嵌入式系統(tǒng)來(lái)說(shuō),所謂最小系統(tǒng)就是一個(gè)包含:CPU, Bootrom, RAM,系統(tǒng)時(shí)鐘,網(wǎng)口,串口的計(jì)算機(jī)運(yùn)行環(huán)境。
這樣,最小系統(tǒng)BSP就包含了CPU系統(tǒng)的初始化程序以及網(wǎng)口,串口,系統(tǒng)時(shí)鐘等設(shè)備的驅(qū)動(dòng)程序。
板級(jí)支持包的作用分析
1、初始化CPU內(nèi)部寄存器
2、設(shè)定RAM工作時(shí)序
3、時(shí)鐘驅(qū)動(dòng)及中斷控制器驅(qū)動(dòng)
4、串口驅(qū)動(dòng)
1、完善高速緩存和內(nèi)存管理單元的驅(qū)動(dòng)
2、指定程序起始運(yùn)行位置
3、完善中斷管理
4、完善系統(tǒng)總線驅(qū)動(dòng)
板級(jí)支持包的的功能
1、單板硬件初始化,主要是CPU的初始化,為整個(gè)軟件系統(tǒng)提供底層硬件支持
2、為操作系統(tǒng)提供設(shè)備驅(qū)動(dòng)程序和系統(tǒng)中斷服務(wù)程序
3、定制操作系統(tǒng)的功能,為軟件系統(tǒng)提供一個(gè)實(shí)時(shí)多任務(wù)的運(yùn)行環(huán)境
4、初始化操作系統(tǒng),為操作系統(tǒng)的正常運(yùn)行做好準(zhǔn)備。
BSP在項(xiàng)目開發(fā)中的位置和步驟
BSP開發(fā)處于整個(gè)嵌入式開發(fā)的前期,是后面系統(tǒng)能夠正常運(yùn)行的保證。
大概步驟如下:
(1)硬件主板研制,測(cè)試。
(2)操作系統(tǒng)的選定,BSP編程。
(3)上層應(yīng)用程序的開發(fā)。
BSP部分在硬件和操作系統(tǒng)之間。所以這就要求BSP程序員對(duì)硬件,軟件和操作系統(tǒng)都要有一定的了解。這樣才能做好BSP編程。
-
板級(jí)支持包
+關(guān)注
關(guān)注
0文章
5瀏覽量
8478
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
急需TMS320C6416的板級(jí)支持包bsp/bsl,求助
請(qǐng)問(wèn)有沒(méi)有地方能下載到6455評(píng)估板的板級(jí)支持包的源碼啊?
XPS工具如何快速生成Virtex FPGA板級(jí)支持包
說(shuō)一下什么是板級(jí)支持包
studio SDK管理器里的芯片支持包和板級(jí)支持包的區(qū)別在哪里?
AXU4EV-E開發(fā)板提供的BSP(板級(jí)支持包)說(shuō)明
請(qǐng)問(wèn)BLE-Dongle是否支持抓包協(xié)議分析?請(qǐng)問(wèn)怎么進(jìn)行抓包協(xié)議分析?
Linux與VxWorks的板級(jí)支持包開發(fā)的比較與分析
實(shí)時(shí)操作系統(tǒng)中的板級(jí)支持包BSP
如何使用 FIT 的板級(jí)支持包模塊
![如何使用 FIT 的<b class='flag-5'>板</b><b class='flag-5'>級(jí)</b><b class='flag-5'>支持</b><b class='flag-5'>包</b>模塊](https://file.elecfans.com/web2/M00/02/6B/poYBAGDQEGyAZSDnAACv5YyaUlo591.png)
如何導(dǎo)出硬件平臺(tái)并啟動(dòng)SDK開發(fā)應(yīng)用程序及板級(jí)支持包
![如何導(dǎo)出硬件平臺(tái)并啟動(dòng)SDK開發(fā)應(yīng)用程序及<b class='flag-5'>板</b><b class='flag-5'>級(jí)</b><b class='flag-5'>支持</b><b class='flag-5'>包</b>](https://file.elecfans.com/web1/M00/DB/A8/o4YBAGAKD0aAMlAFAABH0bt9iUs890.png)
評(píng)論