久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇嵌入式硬件開發專區嵌入式硬件技術討論專區 → 嵌入式系統硬件抽象層的原理與實現


  共有8766人關注過本帖樹形打印

主題:嵌入式系統硬件抽象層的原理與實現

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


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

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

    

    

     關鍵詞:嵌入式系統

     嵌入式實時操作系統(RTOS) 硬件抽象層(HAL)

     板級支持包(BSP)

     隨著計算機硬件技術的快速發展,出現了越來越多的便攜設備和智能設備。這些設備中通常包含控制用的CPU和相應的操作系統;這類特殊的計算機系統叫做嵌入式實時系統。嵌入式實時系統以其簡潔高效等特點在計算機、通信等領域中廣泛使用。

     由于嵌入式實時系統應用環境的特殊性,因此在設計實現過程中存在著許多特殊問題。其中,操作系統及其他系統軟件模塊與硬件之間的接口形式是嵌入式實時系統的主要特征和系統設計過程中的必需環節,也是影響嵌入式系統應用前景的關鍵問題。經過近些年的發展,隨著通用嵌入式操作系統技術的日趨成熟和應用的不斷擴大,一種統一的接口形式得到廣泛的認可和應用,這就是通常所說的板級支持包,即BSP。

     1 嵌入式系統硬件抽象層的原理

     1.1 硬件抽象層的引入

     嵌入式實時系統作為一類特殊的計算機系統自底向上包含三個部分,如圖1所示。

     (1)硬件環境:是整個嵌入式實時操作系統實時應用程序運行的硬件平臺;不同的應用通常有不同的硬件環境;硬件平臺的多樣性是嵌入式系統的一個主要特點。

     (2)嵌入式實時操作系統——RTOS:完成嵌入式實時應用的任務調度和控制等核心功能,具有內核較精簡、可配置、與高層應用緊密關聯等特點。嵌入式操作系統具有相對不變性。

     (3)嵌入式實時應用程序:運行于操作系統之上,利用操作系統提供的實時機制完成特定功能的嵌入式應用。不同的系統需要設計不同的嵌入式實時應用程序。

     由于嵌入式系統應用的硬件環境差異較大,因此,如何簡潔有效地使嵌入式系統能夠應用于各種不同的應用環境是嵌入式系統發展中所必須解決的關鍵問題。

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

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

     Support Package)。圖2顯示了引入HAL以后的嵌入式系統結構。BSP的引入大大推動了嵌入式實時操作系統的通用化,從而為嵌入式系統的廣泛應用提供了可能。

     1.2 BSP的特點與功能

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

     由于在系統中的特殊位置,因此BSP具有以下主要特點:

     (1)硬件相關性

     因為嵌入式實時系統的硬件環境具有應用相關性,所以,作為高層軟件與硬件之間的接口,BSP必須為操作系統提供操作和控制具體硬件的方法。

     (2)操作系統相關性

     不同的操作系統具有各自的軟件層次結構,

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

     在實現上,BSP是一個介于操作系統和底層硬件之間的軟件層次,包括了系統中大部分與硬件相關的軟件模塊。在功能上包含兩部分:系統初始化及與硬件相關的設備驅動。

     2 BSP的設計與實現

     為實現上述兩部分功能,設計一個完整的BSP需要完成兩部分工作:

     (1)設計初始化過程,完成嵌入式系統的初始化;

     (2)設計硬件相關的設備驅動,完成操作系統及應用程序對具體硬件的操作。

     2.1 嵌入式系統初始化以及BSP的功能

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

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

     (2)板級初始化:完成CPU以外的其他硬件設備的初始化。除此之外,還要設置某些軟件的數據結構和參數,為隨后的系統級初始化和應用程序的運行建立硬件和軟件環境。這是一個同時飲食軟硬件兩部分在內的初始化過程。

     (3)系統級初始化:這是一個以軟件初始化為主的過程,主要進行操作系統初始化。BSP將控制轉交給操作系統,由操作系統進行余下的初始化操作。包括加載和初始化與硬件無關的設備驅動程序,建立系統內存區,加載并初始化其他系統軟件模塊,比如網絡系統、文件系統等;最后,操作系統創建應用程序環境并將控制轉交給應用程序的入口。

     經過以上三個層次的操作,嵌入式系統運行所需要的硬件和軟件環境已經進行了正確設置,從這里開始,高層的實時應用程序可以運行了。

     需要指出:系統級初始化不是BSP的工作。但是,系統級初始化成功與否的關鍵在于BSP的前兩個初始化過程中所進行的軟件和硬件的正確設置,而且系統級初始化也是由BSP發起的。因此,設計BSP中初始化功能的重點主要集中在前兩個環節。圖3顯示了嵌入式系統的初始化過程。

     2.2 硬件相關的設備驅動程序

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

     盡管BSP中包含硬件相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在系統初始化過程中由BSP把它們與操作系統中通用的設備驅動程序關聯起來,并在隨后的應用中由通用的設備驅動程序調用,實現對硬件設備的操作。設計與硬件相關的驅動程序是BSP設計中另一個關鍵環節。圖4顯示了調用設備驅動程序時系統各個層次之間的關系。

    

     3 設計實現BSP的方法

     3.1 設計實現BSP的一般方法

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

     Data等。

     總之,開發BSP要求具備比較全面的軟、硬件知識和必要的編程經驗。由于設計實現的復雜性,在設計特定BSP時很少從零開始,而是采用以下兩種快捷方法。

     方法一:以經典BSP為參考

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

     下面以設計pSOS操作系統的BSP初始化過程為例。PSOS系統初始化的層次非常清晰,與初始化過程相對應的是以下三個文件:

     1)init.s:對應于片級初始化;完成CPU的初始化操作,設置CPU的工作狀態;

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

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

     以參考BSP為切入點,針對初始化過程的具體環節,在對應的文件中進行某些參數的修改及功能的增加就可以實現BSP的系統初始化功能。

     因為BSP具有操作系統相關性,因此,不同的操作系統會使用不同的文件完成類似的初初化操作。

     BSP中硬件相關的設備驅動程序隨操作系統的不同而具有比較大的差異,設計過程中應參照操作系統相應的接口規范。

     方法二:使用操作系統提供的BSP模板

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

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

     在設計實現BSP兩部分功能時應采用以下兩種不同方法:

     (1)“自底向上”地實現BSP中的初始化操作:從片級初始化開始到系統初始化;

     (2)“自頂向下”地設計硬件相關的驅動程序:從API開始,到操作系統內部的通用設備驅動程序,再到BSP內部的硬件相關的設備驅動程序,最后到底層具體的硬件設備。

    

     3.2 BSP設計方法的不足與改進

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

     解決這個問題的一個可行辦法是:設計實現一種具有圖形界面的BSP開發設計向導,由該向導指導設計者逐步完成BSP的設計和開發,并最終由向導生成相應的BSP文件,而不再由設計人員直接對源文件進行修改。這樣不僅可以大大縮短BSP的開發周期,減少代碼不一致性,而且系統排錯、調試以及維護都很簡單。因此,這種方法是目前嵌入式領域中BSP設計的一個趨勢和研究方向。但是,由于嵌入式系統硬件環境的多樣性,設計向導的實現仍需解決若干關鍵問題。為此,作者仍將在這一方面作進一步研究。


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

返回版面帖子列表

嵌入式系統硬件抽象層的原理與實現








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
99re热这里只有精品免费视频| 色婷婷亚洲一区二区三区| 亚洲一区二区三区不卡国产欧美| 国产精品区一区二区三区| 久久蜜桃一区二区| 中文一区二区完整视频在线观看| 国产精品美女久久久久久久久| 国产精品无码永久免费888| 亚洲欧洲另类国产综合| 亚洲午夜久久久久久久久电影院| 视频一区欧美精品| 黄网站免费久久| 99r精品视频| 美女亚洲精品| 中文字幕在线中文字幕日亚韩一区| 91精品91久久久中77777| 欧美日韩高清影院| 2020国产精品| 亚洲自拍偷拍综合| 精品一区二区三区免费毛片爱| 国产久卡久卡久卡久卡视频精品| 成人看片黄a免费看在线| 成人欧美一区二区三区黑人免费| 欧美日韩成人一区二区三区| 色素色在线综合| 日韩欧美国产一区二区在线播放| 亚洲国产精华液网站w | 日韩高清在线播放| 中文字幕在线亚洲三区| 91精品国产品国语在线不卡| 国产视频一区在线播放| 亚洲成人你懂的| 成人网男人的天堂| 茄子视频成人在线观看| 欧美高清视频不卡网| 国产精品九色蝌蚪自拍| 日本成人超碰在线观看| 99国产欧美另类久久久精品| 台湾成人av| 精品国产91洋老外米糕| 亚洲成人三级小说| 91丝袜高跟美女视频| 亚洲一区二区免费视频软件合集| 日韩欧美国产精品一区| 一区二区三区在线免费观看| 国产乱子伦一区二区三区国色天香 | 制服丝袜一区二区三区| 国产精品久久久久7777按摩| 美女脱光内衣内裤视频久久影院| 国产高清不卡av| 欧美亚洲免费在线一区| 中文字幕一区视频| 国产一二精品视频| 色大师av一区二区三区| 337p日本欧洲亚洲大胆精品| 亚洲 欧美综合在线网络| 91丨国产丨九色丨pron| 欧美手机在线视频| 亚洲激情图片一区| www.日韩精品| 欧美午夜宅男影院| 亚洲蜜臀av乱码久久精品| 国产成人夜色高潮福利影视| 日本一区二区三区www| 久久精品免视看| 国产九九视频一区二区三区| 亚洲狠狠婷婷综合久久久| 国产欧美一区二区三区在线老狼| 激情综合网av| 一区二区三区的久久的视频| 中文字幕欧美激情一区| 成人18视频在线播放| 欧美日韩精品久久久| 日韩精品乱码免费| 欧洲国产精品| 亚洲国产成人一区二区三区| 国产成人精品免费看| 91传媒视频在线播放| 亚洲二区在线视频| 国偷自产av一区二区三区小尤奈| 欧美一区二区视频免费观看| 蜜臀久久99精品久久久画质超高清 | 一区二区三区在线观看视频| 91丨九色丨黑人外教| 欧美一区二区免费观在线| 蜜桃一区二区三区在线观看| 视频一区二区综合| 亚洲精品乱码久久久久| 国产精品久久久久久久免费大片| 欧美精品一区二区久久婷婷| 粉嫩一区二区三区性色av| 777亚洲妇女| 国产在线视频不卡二| 欧美视频一区二区在线观看| 男女男精品视频网| 一本久道久久综合中文字幕| 亚洲国产成人tv| 翔田千里亚洲一二三区| 亚洲一区二区三区在线播放| 日本成人黄色| 亚洲国产一区二区三区 | 国产视色精品亚洲一区二区| 久久久久久综合| 99九九视频| 国产精品乱人伦中文| 国产一区二区高清视频| 亚洲欧美日韩国产另类专区| 欧美日韩亚洲免费| 亚洲高清免费在线| 日本道色综合久久| 久草在线在线精品观看| 欧美精品九九99久久| 成人网男人的天堂| 国产日韩综合av| 久久久久se| 亚洲va欧美va国产va天堂影院| 亚洲视频精品一区| 精品一区二区在线观看| 日韩欧美激情四射| 成人综合av网| 夜色激情一区二区| 在线免费精品视频| 成人深夜视频在线观看| 亚洲国产岛国毛片在线| 色就是色欧美| 国产在线播放一区二区三区| 26uuu久久天堂性欧美| 国模一区二区三区私拍视频| 亚洲综合精品久久| 在线国产电影不卡| 丁香桃色午夜亚洲一区二区三区| 久久嫩草精品久久久精品| 九色91视频| 日产国产欧美视频一区精品| 欧美日韩国产精品成人| 91丨porny丨首页| 亚洲国产精品欧美一二99| 欧美在线免费视屏| 99久久99久久综合| 亚洲影院在线观看| 3d成人h动漫网站入口| 99久久免费国| 亚洲国产裸拍裸体视频在线观看乱了| 在线观看不卡视频| 91在线精品一区二区| 亚洲最色的网站| 欧美一级高清片| 欧美日韩亚洲一区二区三区在线观看| 久久精品久久综合| 国产女主播视频一区二区| 色综合色狠狠综合色| 99精品在线免费| 婷婷六月综合亚洲| 久久免费美女视频| 综合视频免费看| aa成人免费视频| 日本在线播放一区二区三区| 精品国产一区二区三区久久久蜜月 | 色狠狠综合天天综合综合| 99精品1区2区| 亚洲第一激情av| 久久―日本道色综合久久| 亚洲午夜在线观看| 99国产精品国产精品久久| 视频一区视频二区在线观看| 久久久国际精品| 欧美日韩一区高清| 日本一区高清在线视频| 成人一区二区三区在线观看| 亚洲国产精品久久久久秋霞影院 | 91麻豆国产精品久久| 亚洲国产精品久久人人爱| 精品伦理精品一区| 亚洲精品国产精品国自产观看| 91丨九色porny丨蝌蚪| 久久成人久久鬼色| 亚洲综合久久久久| 国产欧美日韩麻豆91| 欧美电影一区二区| 色综合天天性综合| 免费看国产精品一二区视频| 99久久精品免费观看| 久久精品国产第一区二区三区| 亚洲欧美激情在线| 亚洲精品一区二区三区99| 日本精品免费观看高清观看| 蜜桃麻豆91| 国产成人精品免费视频大全最热| 国产一区二区三区不卡在线观看| 一区二区三区精密机械公司| 久久精品夜色噜噜亚洲a∨| 欧美日韩三级在线| 日韩精品欧美一区二区三区| 99精品国产高清在线观看| 国产不卡视频在线播放| 美女视频黄 久久| 午夜影院久久久| 国产精品久久久久久久岛一牛影视 | 亚洲欧洲精品一区二区精品久久久| 日韩片之四级片|