久久99爰这里有精品国产-久久99这里只有精品国产-久久99中文字幕-久久99中文字幕久久-国产福利免费观看-国产福利免费视频


曙海教育集團(tuán)論壇嵌入式硬件開發(fā)專區(qū)嵌入式硬件技術(shù)討論專區(qū) → 嵌入式系統(tǒng)硬件抽象層的原理與實(shí)現(xiàn)


  共有10828人關(guān)注過本帖樹形打印

主題:嵌入式系統(tǒng)硬件抽象層的原理與實(shí)現(xiàn)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
嵌入式系統(tǒng)硬件抽象層的原理與實(shí)現(xiàn)  發(fā)帖心情 Post By:2010-11-19 10:01:29

 摘要:板級支持包(BSP)是嵌入式系統(tǒng)中常用的硬件抽象形式,是介于操作系統(tǒng)和硬件之間的軟件層次。介紹BSP的功能和特點(diǎn),并結(jié)合工作實(shí)踐提出了設(shè)計(jì)BSP的一般方法;最后針對當(dāng)前嵌入式系統(tǒng)中BSP的設(shè)計(jì)方法所面臨的問題提出了可行的解決辦法。

    

    

     關(guān)鍵詞:嵌入式系統(tǒng)

     嵌入式實(shí)時操作系統(tǒng)(RTOS) 硬件抽象層(HAL)

     板級支持包(BSP)

     隨著計(jì)算機(jī)硬件技術(shù)的快速發(fā)展,出現(xiàn)了越來越多的便攜設(shè)備和智能設(shè)備。這些設(shè)備中通常包含控制用的CPU和相應(yīng)的操作系統(tǒng);這類特殊的計(jì)算機(jī)系統(tǒng)叫做嵌入式實(shí)時系統(tǒng)。嵌入式實(shí)時系統(tǒng)以其簡潔高效等特點(diǎn)在計(jì)算機(jī)、通信等領(lǐng)域中廣泛使用。

     由于嵌入式實(shí)時系統(tǒng)應(yīng)用環(huán)境的特殊性,因此在設(shè)計(jì)實(shí)現(xiàn)過程中存在著許多特殊問題。其中,操作系統(tǒng)及其他系統(tǒng)軟件模塊與硬件之間的接口形式是嵌入式實(shí)時系統(tǒng)的主要特征和系統(tǒng)設(shè)計(jì)過程中的必需環(huán)節(jié),也是影響嵌入式系統(tǒng)應(yīng)用前景的關(guān)鍵問題。經(jīng)過近些年的發(fā)展,隨著通用嵌入式操作系統(tǒng)技術(shù)的日趨成熟和應(yīng)用的不斷擴(kuò)大,一種統(tǒng)一的接口形式得到廣泛的認(rèn)可和應(yīng)用,這就是通常所說的板級支持包,即BSP。

     1 嵌入式系統(tǒng)硬件抽象層的原理

     1.1 硬件抽象層的引入

     嵌入式實(shí)時系統(tǒng)作為一類特殊的計(jì)算機(jī)系統(tǒng)自底向上包含三個部分,如圖1所示。

     (1)硬件環(huán)境:是整個嵌入式實(shí)時操作系統(tǒng)實(shí)時應(yīng)用程序運(yùn)行的硬件平臺;不同的應(yīng)用通常有不同的硬件環(huán)境;硬件平臺的多樣性是嵌入式系統(tǒng)的一個主要特點(diǎn)。

     (2)嵌入式實(shí)時操作系統(tǒng)——RTOS:完成嵌入式實(shí)時應(yīng)用的任務(wù)調(diào)度和控制等核心功能,具有內(nèi)核較精簡、可配置、與高層應(yīng)用緊密關(guān)聯(lián)等特點(diǎn)。嵌入式操作系統(tǒng)具有相對不變性。

     (3)嵌入式實(shí)時應(yīng)用程序:運(yùn)行于操作系統(tǒng)之上,利用操作系統(tǒng)提供的實(shí)時機(jī)制完成特定功能的嵌入式應(yīng)用。不同的系統(tǒng)需要設(shè)計(jì)不同的嵌入式實(shí)時應(yīng)用程序。

     由于嵌入式系統(tǒng)應(yīng)用的硬件環(huán)境差異較大,因此,如何簡潔有效地使嵌入式系統(tǒng)能夠應(yīng)用于各種不同的應(yīng)用環(huán)境是嵌入式系統(tǒng)發(fā)展中所必須解決的關(guān)鍵問題。

     經(jīng)過不斷的發(fā)展,原先嵌入式系統(tǒng)的三層結(jié)構(gòu)逐步演化成為一種四層結(jié)構(gòu)。這個新增加的中間層次位于操作系統(tǒng)和硬件之間,包含了系統(tǒng)中與硬件相關(guān)的大部分功能。通過特定的上層接口與操作系統(tǒng)進(jìn)行交互,向操作系統(tǒng)提供底層的硬件信息;并根據(jù)操作系統(tǒng)的要求完成對硬件的直接操作。由于引入了一個中間層次,展蔽了底層硬件的多樣性,操作系統(tǒng)不再直接面對具體的硬件環(huán)境。而是面向由這個中間層次所代表的、邏輯上的硬件環(huán)境。因此,把這個中間層次叫做硬件抽象層HAL(Hardware

     Abstraction Layer)。在目前的嵌入式領(lǐng)域中通常也把HAL叫做板級支持包BSP(Board

     Support Package)。圖2顯示了引入HAL以后的嵌入式系統(tǒng)結(jié)構(gòu)。BSP的引入大大推動了嵌入式實(shí)時操作系統(tǒng)的通用化,從而為嵌入式系統(tǒng)的廣泛應(yīng)用提供了可能。

     1.2 BSP的特點(diǎn)與功能

     HAL/BSP的提出使通用的嵌入式操作系統(tǒng)及高層的嵌入式應(yīng)用能夠有效地運(yùn)行于特定的、應(yīng)用相關(guān)的硬件環(huán)境之上,使擔(dān)任系統(tǒng)和應(yīng)用程序能夠控制和操作具體的硬件設(shè)備,完成特定的功能。因此,在絕大多數(shù)的嵌入式系統(tǒng)中,BSP是一個必不可少的層次。

     由于在系統(tǒng)中的特殊位置,因此BSP具有以下主要特點(diǎn):

     (1)硬件相關(guān)性

     因?yàn)榍度胧綄?shí)時系統(tǒng)的硬件環(huán)境具有應(yīng)用相關(guān)性,所以,作為高層軟件與硬件之間的接口,BSP必須為操作系統(tǒng)提供操作和控制具體硬件的方法。

     (2)操作系統(tǒng)相關(guān)性

     不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),

     因此,不同的操作系統(tǒng)具有特定的硬件接口形式。

     在實(shí)現(xiàn)上,BSP是一個介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件相關(guān)的軟件模塊。在功能上包含兩部分:系統(tǒng)初始化及與硬件相關(guān)的設(shè)備驅(qū)動。

     2 BSP的設(shè)計(jì)與實(shí)現(xiàn)

     為實(shí)現(xiàn)上述兩部分功能,設(shè)計(jì)一個完整的BSP需要完成兩部分工作:

     (1)設(shè)計(jì)初始化過程,完成嵌入式系統(tǒng)的初始化;

     (2)設(shè)計(jì)硬件相關(guān)的設(shè)備驅(qū)動,完成操作系統(tǒng)及應(yīng)用程序?qū)唧w硬件的操作。

     2.1 嵌入式系統(tǒng)初始化以及BSP的功能

     嵌入式系統(tǒng)的初始化過程是一個同時包括硬件初始化和軟件(主要是操作系統(tǒng)及系統(tǒng)軟件模塊)初始化的過程;而操作系統(tǒng)啟動以前的初始化操作是BSP的主要功能之一。由于嵌入式系統(tǒng)不僅具有硬件環(huán)境的多樣性,同時具有軟件的可配置性,因此,不同的嵌入式系統(tǒng)初始化所涉及的內(nèi)容各不相同,復(fù)雜程度也不盡相同。但是初始化過程總是可以抽象為三個主要環(huán)境,按照自底向上、從硬件到軟件的次序依次為:片級初始化、板級初始化和系統(tǒng)級初始化。

     (1)片級初始化:主要完成CPU的初始化,包括設(shè)置CPU的核心寄存器和控制寄存器,CPU核心工作模式以及CPU的局部總線模式等。片級初始化把CPU從上電時的缺省狀態(tài)逐步設(shè)置成為系統(tǒng)所要求的工作狀態(tài)。這是一個純硬件的初始化過程。

     (2)板級初始化:完成CPU以外的其他硬件設(shè)備的初始化。除此之外,還要設(shè)置某些軟件的數(shù)據(jù)結(jié)構(gòu)和參數(shù),為隨后的系統(tǒng)級初始化和應(yīng)用程序的運(yùn)行建立硬件和軟件環(huán)境。這是一個同時飲食軟硬件兩部分在內(nèi)的初始化過程。

     (3)系統(tǒng)級初始化:這是一個以軟件初始化為主的過程,主要進(jìn)行操作系統(tǒng)初始化。BSP將控制轉(zhuǎn)交給操作系統(tǒng),由操作系統(tǒng)進(jìn)行余下的初始化操作。包括加載和初始化與硬件無關(guān)的設(shè)備驅(qū)動程序,建立系統(tǒng)內(nèi)存區(qū),加載并初始化其他系統(tǒng)軟件模塊,比如網(wǎng)絡(luò)系統(tǒng)、文件系統(tǒng)等;最后,操作系統(tǒng)創(chuàng)建應(yīng)用程序環(huán)境并將控制轉(zhuǎn)交給應(yīng)用程序的入口。

     經(jīng)過以上三個層次的操作,嵌入式系統(tǒng)運(yùn)行所需要的硬件和軟件環(huán)境已經(jīng)進(jìn)行了正確設(shè)置,從這里開始,高層的實(shí)時應(yīng)用程序可以運(yùn)行了。

     需要指出:系統(tǒng)級初始化不是BSP的工作。但是,系統(tǒng)級初始化成功與否的關(guān)鍵在于BSP的前兩個初始化過程中所進(jìn)行的軟件和硬件的正確設(shè)置,而且系統(tǒng)級初始化也是由BSP發(fā)起的。因此,設(shè)計(jì)BSP中初始化功能的重點(diǎn)主要集中在前兩個環(huán)節(jié)。圖3顯示了嵌入式系統(tǒng)的初始化過程。

     2.2 硬件相關(guān)的設(shè)備驅(qū)動程序

     BSP另一個主要功能是硬件相關(guān)的設(shè)備驅(qū)動。與初始化過程相反,硬件相關(guān)的設(shè)備驅(qū)動程序的初始化和使用通常是一個從高層到底層的過程。

     盡管BSP中包含硬件相關(guān)的設(shè)備驅(qū)動程序,但是這些設(shè)備驅(qū)動程序通常不直接由BSP使用,而是在系統(tǒng)初始化過程中由BSP把它們與操作系統(tǒng)中通用的設(shè)備驅(qū)動程序關(guān)聯(lián)起來,并在隨后的應(yīng)用中由通用的設(shè)備驅(qū)動程序調(diào)用,實(shí)現(xiàn)對硬件設(shè)備的操作。設(shè)計(jì)與硬件相關(guān)的驅(qū)動程序是BSP設(shè)計(jì)中另一個關(guān)鍵環(huán)節(jié)。圖4顯示了調(diào)用設(shè)備驅(qū)動程序時系統(tǒng)各個層次之間的關(guān)系。

    

     3 設(shè)計(jì)實(shí)現(xiàn)BSP的方法

     3.1 設(shè)計(jì)實(shí)現(xiàn)BSP的一般方法

     因?yàn)锽SP同時具硬件相關(guān)性和操作系統(tǒng)相關(guān)性,是一個介于硬件與軟件之間的中間層次。因此BSP的開發(fā)不僅需要具備一定的硬件知識,例如CPU的控制、中斷控制器的設(shè)置、內(nèi)存控制器的設(shè)置及有關(guān)的總線規(guī)范等;同時還要求掌握操作系統(tǒng)所定義的BSP接口。另外,在BSP的初始化部分通常會包含一些匯編代碼,因此還要求對所使用的CPU匯編指令有所了解,例如X86的匯編和PowerPC的匯編指令等;對于某些復(fù)雜的BSP還要了解所使用的開發(fā)工具,例如GNU、Diab

     Data等。

     總之,開發(fā)BSP要求具備比較全面的軟、硬件知識和必要的編程經(jīng)驗(yàn)。由于設(shè)計(jì)實(shí)現(xiàn)的復(fù)雜性,在設(shè)計(jì)特定BSP時很少從零開始,而是采用以下兩種快捷方法。

     方法一:以經(jīng)典BSP為參考

     在設(shè)計(jì)BSP時,首先選擇與應(yīng)用硬件環(huán)境最為相似的參考設(shè)計(jì),例如Motorola的ADS系列評估板等。針對這些評估板,不同的操作系數(shù)都會提供完整的BSP,這些BSP是學(xué)習(xí)和開發(fā)自己BSP的最佳參考。針對具體應(yīng)用的特定環(huán)境對參考設(shè)計(jì)的BSP進(jìn)行必要的修改和增加,就可以完成簡單的BSP設(shè)計(jì)。

     下面以設(shè)計(jì)pSOS操作系統(tǒng)的BSP初始化過程為例。PSOS系統(tǒng)初始化的層次非常清晰,與初始化過程相對應(yīng)的是以下三個文件:

     1)init.s:對應(yīng)于片級初始化;完成CPU的初始化操作,設(shè)置CPU的工作狀態(tài);

     2)board.c:對慶于板級初始化;繼續(xù)CPU初始化,并設(shè)置CPU以外的硬件設(shè)備;

     3)sysinit.c:對應(yīng)于系統(tǒng)級初始化;完成操作系統(tǒng)的初始化,并啟動應(yīng)用程序。

     以參考BSP為切入點(diǎn),針對初始化過程的具體環(huán)節(jié),在對應(yīng)的文件中進(jìn)行某些參數(shù)的修改及功能的增加就可以實(shí)現(xiàn)BSP的系統(tǒng)初始化功能。

     因?yàn)锽SP具有操作系統(tǒng)相關(guān)性,因此,不同的操作系統(tǒng)會使用不同的文件完成類似的初初化操作。

     BSP中硬件相關(guān)的設(shè)備驅(qū)動程序隨操作系統(tǒng)的不同而具有比較大的差異,設(shè)計(jì)過程中應(yīng)參照操作系統(tǒng)相應(yīng)的接口規(guī)范。

     方法二:使用操作系統(tǒng)提供的BSP模板

     除了提供某些評估板的BPS以外,很多操作系統(tǒng)還提供相應(yīng)的BSP模板(一組需要編寫的文件),根據(jù)模板的提示也可以逐步完成特定BSP的設(shè)計(jì)。

     相比較而言,第一種方法最為簡單快捷。因此,在實(shí)際的設(shè)計(jì)過程中,通常以第一種方法為主,同時結(jié)合使用第二種方法。

     在設(shè)計(jì)實(shí)現(xiàn)BSP兩部分功能時應(yīng)采用以下兩種不同方法:

     (1)“自底向上”地實(shí)現(xiàn)BSP中的初始化操作:從片級初始化開始到系統(tǒng)初始化;

     (2)“自頂向下”地設(shè)計(jì)硬件相關(guān)的驅(qū)動程序:從API開始,到操作系統(tǒng)內(nèi)部的通用設(shè)備驅(qū)動程序,再到BSP內(nèi)部的硬件相關(guān)的設(shè)備驅(qū)動程序,最后到底層具體的硬件設(shè)備。

    

     3.2 BSP設(shè)計(jì)方法的不足與改進(jìn)

     從以上介紹的兩種設(shè)計(jì)方法可以看出:目前BSP的設(shè)計(jì)與實(shí)現(xiàn)主要是針對某些特定的文件進(jìn)行修改。這種方法比較原始,它不僅要求設(shè)計(jì)人員了解BSP的各個組成部分及所對應(yīng)的文件和相關(guān)參數(shù)的具體含義,還要求具備比較全面的軟硬件知識。直接修改相關(guān)文件容易造成代碼的不一致性,增加軟件設(shè)計(jì)上的隱形錯誤,從而增加系統(tǒng)調(diào)試和代碼維護(hù)的難度。隨著底層硬件功能的日益復(fù)雜,開發(fā)BSP所涉及的內(nèi)容也越來越多。這種原始方法的足之處也越來越突出。進(jìn)行BSP設(shè)計(jì)方法和工具的創(chuàng)新成為一個日益突出的問題。

     解決這個問題的一個可行辦法是:設(shè)計(jì)實(shí)現(xiàn)一種具有圖形界面的BSP開發(fā)設(shè)計(jì)向?qū)В稍撓驅(qū)е笇?dǎo)設(shè)計(jì)者逐步完成BSP的設(shè)計(jì)和開發(fā),并最終由向?qū)上鄳?yīng)的BSP文件,而不再由設(shè)計(jì)人員直接對源文件進(jìn)行修改。這樣不僅可以大大縮短BSP的開發(fā)周期,減少代碼不一致性,而且系統(tǒng)排錯、調(diào)試以及維護(hù)都很簡單。因此,這種方法是目前嵌入式領(lǐng)域中BSP設(shè)計(jì)的一個趨勢和研究方向。但是,由于嵌入式系統(tǒng)硬件環(huán)境的多樣性,設(shè)計(jì)向?qū)У膶?shí)現(xiàn)仍需解決若干關(guān)鍵問題。為此,作者仍將在這一方面作進(jìn)一步研究。


支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

嵌入式系統(tǒng)硬件抽象層的原理與實(shí)現(xiàn)








簽名
韩国三级香港三级日本三级| 精品国产一区二区三区久久久蜜臀| 九九九在线视频| a级毛片免费全部播放| 精品久久久久久中文字幕一区| 九九热精品免费观看| 亚飞与亚基在线观看| 国产高清在线精品一区二区| 国产美女在线一区二区三区| 国产91视频网| 国产一区二区精品久久| 欧美电影免费看大全| 久久福利影视| 久久99这里只有精品国产| 一级毛片看真人在线视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久久久久久免费视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产a毛片| 午夜精品国产自在现线拍| 欧美激情一区二区三区视频 | 日韩综合| 亚洲精品永久一区| 九九久久国产精品| 国产91精品一区| 成人免费福利片在线观看| 精品视频一区二区| 九九干| 国产伦精品一区二区三区无广告| 国产一区二区精品久| 二级片在线观看| 久久国产一久久高清| 久久国产精品只做精品| 久久福利影视| 久久精品大片| 91麻豆精品国产高清在线| 国产不卡福利| 亚洲 激情| 999久久66久6只有精品| 可以免费看毛片的网站| 国产原创中文字幕| 国产原创视频在线| 亚洲第一视频在线播放| 欧美爱爱动态| 91麻豆tv| 国产a免费观看| 午夜在线影院| 黄视频网站免费看| 亚洲精品久久玖玖玖玖| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 沈樵在线观看福利| 精品视频一区二区| 精品久久久久久中文字幕2017| 国产原创视频在线| 四虎影视久久久免费| 日日夜夜婷婷| 天天做人人爱夜夜爽2020| 99久久精品国产麻豆| 久久成人综合网| 色综合久久天天综线观看| 韩国三级视频网站| 日韩在线观看视频黄| 欧美另类videosbestsex久久 | 亚欧成人毛片一区二区三区四区| 欧美18性精品| 国产麻豆精品视频| 中文字幕一区二区三区精彩视频| 国产欧美精品| 色综合久久久久综合体桃花网| 国产精品1024永久免费视频| 二级片在线观看| 韩国三级视频网站| 精品国产一区二区三区免费| 国产视频网站在线观看| 国产伦精品一区二区三区无广告| 九九久久国产精品大片| 深夜做爰性大片中文| 国产一区二区精品在线观看| 午夜激情视频在线播放| 成人影视在线播放| 九九免费高清在线观看视频| 国产精品1024在线永久免费 | 国产成人欧美一区二区三区的| 日本在线不卡视频| 九九干| 国产亚洲免费观看| 黄色免费三级| 国产精品12| 色综合久久久久综合体桃花网| 欧美18性精品| 日韩中文字幕在线播放| 日韩在线观看免费| 国产麻豆精品免费视频| 深夜做爰性大片中文| 国产激情一区二区三区| 国产韩国精品一区二区三区| 久久国产影院| 九九干| 精品视频在线观看一区二区三区| 国产亚洲免费观看| 欧美激情影院| 尤物视频网站在线| 久久99这里只有精品国产| 久久99这里只有精品国产| 国产网站免费视频| 日日日夜夜操| 亚欧视频在线| 日本免费区| 欧美一区二区三区性| 日本在线播放一区| 亚欧视频在线| 毛片的网站| 日韩一级黄色大片| 欧美另类videosbestsex视频 | 一级女性全黄久久生活片| 亚洲精品中文一区不卡| 毛片的网站| 色综合久久手机在线| 黄色免费三级| 久久99中文字幕久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲 欧美 成人日韩| 国产国语对白一级毛片| 91麻豆精品国产片在线观看| 欧美激情伊人| 99色视频在线观看| 欧美a免费| 亚洲精品中文一区不卡| 国产一区二区高清视频| 九九精品在线播放| 四虎久久影院| 国产一区二区精品尤物| 精品视频免费在线| 欧美激情一区二区三区在线播放| 黄视频网站在线免费观看| 久久99爰这里有精品国产| 日韩字幕在线| 91麻豆精品国产自产在线| 国产91视频网| 亚飞与亚基在线观看| 四虎影视库| 精品在线观看一区| 中文字幕97| 久草免费在线观看| 亚洲第一色在线| 黄色短视屏| 免费毛片播放| 欧美激情一区二区三区视频高清| 高清一级做a爱过程不卡视频| 成人影视在线播放| 青青青草视频在线观看| 欧美激情一区二区三区在线播放 | 精品国产亚洲人成在线| 日韩综合| 日韩女人做爰大片| 午夜在线影院| 日韩中文字幕一区二区不卡| 免费毛片播放| 美国一区二区三区| 日韩一级黄色大片| 欧美另类videosbestsex久久 | 国产国产人免费视频成69堂| 日本伦理网站| 日本特黄一级| 国产欧美精品| 夜夜操网| 国产一区二区精品尤物| 欧美大片a一级毛片视频| 国产成人精品影视| 中文字幕一区二区三区 精品| 久久国产一区二区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 一级毛片视频免费| 黄视频网站免费观看| 黄色免费三级| 欧美激情在线精品video| 999精品视频在线| 久久精品道一区二区三区| 一级片免费在线观看视频| 亚欧成人毛片一区二区三区四区| 一级毛片看真人在线视频| 欧美1区2区3区| 香蕉视频久久| 日本在线播放一区| 国产一区二区福利久久| 国产精品自拍在线| 欧美一级视频高清片| 四虎影视精品永久免费网站| 成人影院久久久久久影院| 精品视频在线观看视频免费视频 | 日日夜夜婷婷| 精品视频在线观看一区二区三区| 成人影院一区二区三区| 国产成人啪精品| 国产视频久久久| 欧美一区二区三区在线观看| 欧美激情一区二区三区在线| 欧美国产日韩精品| 你懂的福利视频| 一级毛片视频免费|