色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)HAL原理與BSP的實(shí)現(xiàn)方法

          嵌入式系統(tǒng)HAL原理與BSP的實(shí)現(xiàn)方法

          作者: 時(shí)間:2013-10-23 來(lái)源:網(wǎng)絡(luò) 收藏

          嵌入式系統(tǒng)HAL原理與BSP的實(shí)現(xiàn)方法

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

          嵌入式系統(tǒng)HAL原理與BSP的實(shí)現(xiàn)方法

          3 設(shè)計(jì)實(shí)現(xiàn)BSP的方法
          3.1 設(shè)計(jì)實(shí)現(xiàn)BSP的一般方法
          因?yàn)锽SP同時(shí)具有硬件相關(guān)性和操作系統(tǒng)相關(guān)性,是一個(gè)介于硬件與軟件之間的中間層次。因此BSP的開發(fā)不僅需要具備一定的硬件知識(shí),例如CPU的控 制、中斷控制器的設(shè)置、內(nèi)存控制器的設(shè)置及有關(guān)的總線規(guī)范等;同時(shí)還要求掌握操作系統(tǒng)所定義的BSP接口。另外,在BSP的初始化部分通常會(huì)包含一些匯編 代碼,因此還要求對(duì)所使用的CPU匯編指令有所了解,例如X86的匯編和PowerPC的匯編指令等;對(duì)于某些復(fù)雜的BSP還要了解所使用的開發(fā)工具,例 如GNU、Diab Data等。
          總之,開發(fā)BSP要求具備比較全面的軟、硬件知識(shí)和必要的編程經(jīng)驗(yàn)。由于設(shè)計(jì)實(shí)現(xiàn)的復(fù)雜性,在設(shè)計(jì)特定BSP時(shí)很少?gòu)牧汩_始,而是采用以下兩種快捷方法。
          方法一:以經(jīng)典BSP為參考
          在設(shè)計(jì)BSP時(shí),首先選擇與應(yīng)用硬件環(huán)境最為相似的參考設(shè)計(jì),例如Motorola的ADS系列評(píng)估板等。針對(duì)這些評(píng)估板,不同的操作系統(tǒng)都會(huì)提供完整 的BSP,這些BSP是學(xué)習(xí)和開發(fā)自己BSP的最佳參考。針對(duì)具體應(yīng)用的特定環(huán)境對(duì)參考設(shè)計(jì)的BSP進(jìn)行必要的修改和增加,就可以完成簡(jiǎn)單的BSP設(shè)計(jì)。
          下面以設(shè)計(jì)pSOS操作系統(tǒng)的BSP初始化過(guò)程為例。pSOS系統(tǒng)初始化的層次非常清晰,與初始化過(guò)程相對(duì)應(yīng)的是以下三個(gè)文件:
          1)init.s :對(duì)應(yīng)于片級(jí)初始化;完成CPU的初始化操作,設(shè)置CPU的工作狀態(tài);
          2)board.c :對(duì)應(yīng)于板級(jí)初始化;繼續(xù)CPU初始化,并設(shè)置CPU以外的硬件設(shè)備;
          3)sysinit.c :對(duì)應(yīng)于系統(tǒng)級(jí)初始化;完成操作系統(tǒng)的初始化,并啟動(dòng)應(yīng)用程序。
          以參考BSP為切入點(diǎn),針對(duì)初始化過(guò)程的具體環(huán)節(jié),在對(duì)應(yīng)的文件中進(jìn)行某些參數(shù)的修改及功能的增加就可以實(shí)現(xiàn)BSP的系統(tǒng)初始化功能。
          因?yàn)锽SP具有操作系統(tǒng)相關(guān)性,因此,不同的操作系統(tǒng)會(huì)使用不同的文件完成類似的初始化操作。
          BSP中硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序隨操作系統(tǒng)的不同而具有比較大的差異,設(shè)計(jì)過(guò)程中應(yīng)參照操作系統(tǒng)相應(yīng)的接口規(guī)范。
          方法二:使用操作系統(tǒng)提供的BSP模板
          除了提供某些評(píng)估板的BSP以外,很多操作系統(tǒng)還提供相應(yīng)的BSP模板(一組需要編寫的文件),根據(jù)模板的提示也可以逐步完成特定BSP的設(shè)計(jì)。
          相比較而言,第一種方法最為簡(jiǎn)單快捷。因此,在實(shí)際的設(shè)計(jì)過(guò)程中,通常以第一種方法為主,同時(shí)結(jié)合使用第二種方法。
          在設(shè)計(jì)實(shí)現(xiàn)BSP兩部分功能時(shí)應(yīng)采用以下兩種不同方法:
          (1)“自底向上”地實(shí)現(xiàn)BSP中的初始化操作:從片級(jí)初始化開始到系統(tǒng)級(jí)初始化;
          (2)“自頂向下”地設(shè)計(jì)硬件相關(guān)的驅(qū)動(dòng)程序:從API開始,到操作系統(tǒng)內(nèi)部的通用設(shè)備驅(qū)動(dòng)程序,再到BSP內(nèi)部的硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序,最后到底層具體的硬件設(shè)備。
          3.2 BSP設(shè)計(jì)方法的不足與改進(jìn)
          從以上介紹的兩種設(shè)計(jì)方法可以看出:目前BSP的設(shè)計(jì)與實(shí)現(xiàn)主要是針對(duì)某些特定的文件進(jìn)行修改。這種方法比較原始,它不僅要求設(shè)計(jì)人員了解BSP的各個(gè) 組成部分及所對(duì)應(yīng)的文件和相關(guān)參數(shù)的具體含義,還要求具備比較全面的軟硬件知識(shí)。直接修改相關(guān)文件容易造成代碼的不一致性,增加軟件設(shè)計(jì)上的隱形錯(cuò)誤,從 而增加系統(tǒng)調(diào)試和代碼維護(hù)的難度。隨著底層硬件功能的日益復(fù)雜,開發(fā)BSP所涉及的內(nèi)容也越來(lái)越多。這種原始方法的不足之處也越來(lái)越突出。進(jìn)行BSP設(shè)計(jì) 方法和工具的創(chuàng)新成為一個(gè)日益突出的問(wèn)題。
          解決這個(gè)問(wèn)題的一個(gè)可行辦法是:設(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ì)人員直接對(duì)源文件進(jìn)行修改。這樣不僅可以大大縮短BSP的開發(fā)周 期,減少代碼不一致性,而且系統(tǒng)排錯(cuò)、調(diào)試以及維護(hù)都很簡(jiǎn)單。因此,這種方法是目前嵌入式領(lǐng)域中BSP設(shè)計(jì)的一個(gè)趨勢(shì)和研究方向。但是,由于硬 件環(huán)境的多樣性,設(shè)計(jì)向?qū)У膶?shí)現(xiàn)仍需解決若干關(guān)鍵問(wèn)題。為此,作者仍將在這一方面作進(jìn)一步研究。
          文中提出的方法在華環(huán)公司的寬帶網(wǎng)絡(luò)工程中得到實(shí)踐和應(yīng)用,并取得了非常良好的應(yīng)用成果。


          上一頁(yè) 1 2 下一頁(yè)

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉