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

Rss & SiteMap

曙海教育集團論壇 http://www.bjzhda.cn

曙海教育集團論壇
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

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

1樓
wangxinxin 發表于: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設計的一個趨勢和研究方向。但是,由于嵌入式系統硬件環境的多樣性,設計向導的實現仍需解決若干關鍵問題。為此,作者仍將在這一方面作進一步研究。

共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團
Powered By 曙海教育集團 Version 2.2
Processed in .03125 s, 2 queries.
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产综合久久久久久久久久久久| 亚洲成a人在线观看| 久久免费看少妇高潮| 亚洲免费观看在线观看| 久久66热偷产精品| 国产不卡一区二区三区在线观看| 日韩欧美一区二区三区四区五区| 91精品欧美久久久久久动漫| 国产精品灌醉下药二区| 极品少妇xxxx精品少妇| 精品一区二区三区免费毛片| 欧美亚洲动漫另类| 综合自拍亚洲综合图不卡区| 国产电影精品久久禁18| 亚洲精品一区二区三区四区五区| 久久久久久久综合狠狠综合| 蜜桃一区二区三区在线| 狠狠色综合网站久久久久久久| 91麻豆精品国产91久久久久久| 亚洲一区二区四区蜜桃| 91亚洲精品丁香在线观看| 欧美色涩在线第一页| 一区二区三区精品在线观看| 91美女片黄在线观看| 91精品在线免费| 日韩在线观看一区二区| 国产精品一区二区三区免费观看| 欧美一区二区国产| 美女视频黄频大全不卡视频在线播放 | 欧美性高清videossexo| 亚洲欧美在线aaa| 91一区一区三区| 正在播放一区二区| 美女诱惑一区二区| 日韩av高清在线播放| 中文字幕精品在线不卡| www.欧美亚洲| 欧美一区三区四区| 久久 天天综合| 中文字幕色一区二区| 亚洲国产欧美另类丝袜| 久久偷看各类wc女厕嘘嘘偷窃| 久久婷婷综合激情| 成人天堂资源www在线| 欧美日韩在线精品一区二区三区激情 | 欧美日韩国产综合在线| 国产精品的网站| 5566中文字幕一区二区| 欧美本精品男人aⅴ天堂| 国产乱子伦一区二区三区国色天香| 正在播放91九色| 日韩精品电影在线观看| 亚洲精品无人区| 日韩成人一级片| 色又黄又爽网站www久久| 天天综合天天综合色| 在线天堂一区av电影| 青青草国产成人av片免费| 在线视频精品一区| 蜜桃久久久久久| 精品1区2区3区| 国产精品 欧美精品| 日韩午夜中文字幕| 9人人澡人人爽人人精品| 国产日韩欧美电影| 九色视频成人porny| 一区二区成人在线视频| 色综合久久久久网| 黄色成人免费在线| 欧美电视剧免费观看| 99精品桃花视频在线观看| 久久一日本道色综合| 成人xxxxx色| 一区二区三区视频在线观看| 日韩午夜视频在线观看| 美美哒免费高清在线观看视频一区二区| 欧洲视频一区二区| 大胆亚洲人体视频| 欧美激情在线一区二区| 欧美伦理一区二区| 午夜av区久久| 91麻豆精品国产自产在线观看一区 | 国产欧美在线观看一区| 精品国产第一页| 一区二区三区日韩在线观看| 一级二级三级欧美| 国内精品免费在线观看| www国产亚洲精品久久麻豆| 国产综合 伊人色| 日韩高清不卡一区| 欧美一区二区三区在| 国产高清不卡av| 亚洲午夜在线观看视频在线| 欧美色手机在线观看| 91视频国产观看| 亚洲一区免费在线观看| 在线综合+亚洲+欧美中文字幕| 97人人干人人| 亚洲成人免费影院| 日韩亚洲欧美一区| 蜜桃网站成人| 国内偷窥港台综合视频在线播放| 久久综合久久久久88| 欧美人与物videos另类| 黄色资源网久久资源365| 国产精品免费久久| 欧美色窝79yyyycom| 91传媒视频免费| 丝袜诱惑亚洲看片| 欧美xfplay| 亚洲人一区二区| av成人动漫在线观看| 一区二区免费在线| 精品久久久久久久久久久久久久久| 久中文字幕一区| 国产91精品久久久久久久网曝门| 亚洲素人一区二区| 91精品啪在线观看国产60岁| 久久免费视频1| 国产精品性做久久久久久| 亚洲乱码中文字幕综合| 日韩女优av电影在线观看| 日本福利一区二区三区| 成人v精品蜜桃久久一区| 亚洲一区二区三区四区的| 精品国产乱码久久久久久久| 杨幂一区欧美专区| 国产精品一区二区三区四区五区 | 亚洲综合在线视频| 精品国产免费人成电影在线观看四季| 蜜桃av久久久亚洲精品| 成人午夜精品在线| 日韩国产一二三区| 国产精品理论片| 7777精品伊人久久久大香线蕉 | 99超碰麻豆| 国内精品伊人久久久久av影院 | 91精品国产美女浴室洗澡无遮挡| 美国av一区二区三区| kk眼镜猥琐国模调教系列一区二区| 亚洲一线二线三线久久久| 久久精品一区二区三区不卡牛牛| 欧美日韩在线播放一区| 亚洲国产欧美日韩| 国产精品推荐精品| 成人免费三级在线| 久久99久久99小草精品免视看| 亚洲欧美一区二区三区国产精品| 欧美精品一区二区在线观看| 在线亚洲人成电影网站色www| 久久综合一区二区三区| 91麻豆高清视频| 国产成人在线免费| 蜜臀精品一区二区三区在线观看 | 精品一区二区久久久| 亚洲成人激情综合网| 亚洲免费观看高清完整版在线观看| 国产亚洲一本大道中文在线| 欧美大片在线观看| 69堂精品视频| 欧亚一区二区三区| 亚洲欧美日韩在线综合 | 久久精品一级爱片| 日韩午夜精品电影| 欧美色综合久久| 蜜桃91丨九色丨蝌蚪91桃色| 一区二区三区四区亚洲| 日韩伦理免费电影| 国产精品福利一区| 亚洲国产成人私人影院tom| 日韩你懂的在线播放| 日韩一区二区三区四区| 欧美高清视频在线高清观看mv色露露十八 | 欧美少妇bbb| 欧美性猛片xxxx免费看久爱| 在线免费观看成人网| 亚洲精品乱码久久久久久蜜桃91 | 国产精品69毛片高清亚洲| 日本不卡1234视频| 日韩电影免费在线看| 日韩激情中文字幕| 日韩电影在线一区| 免费观看一级欧美片| 免费成人性网站| 久久成人免费网站| 精品一区二区在线观看| 国产自产2019最新不卡| 高清国产午夜精品久久久久久| 成人美女视频在线看| 99久久婷婷国产| 成人欧美一区二区三区视频 | 91美女在线观看| 99视频在线| 精品国产综合区久久久久久| 麻豆成人av| 在线视频不卡一区二区| 欧美日韩亚洲综合在线| 欧美一区二区成人6969| 精品国产伦理网| 国产精品久久久久久久久免费丝袜|