• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      嵌入式設(shè)備驅(qū)動程序獨立加載技術(shù)研究

      2016-05-30 01:30:52劉彥龍
      科技風(fēng) 2016年5期
      關(guān)鍵詞:驅(qū)動程序嵌入式

      劉彥龍

      摘要:想要實現(xiàn)對嵌入式系統(tǒng)驅(qū)動程序代碼的獨立加載和升級,就要在了解嵌入式軟件開發(fā)特點的基礎(chǔ)上,通過使用獨立加載等技術(shù),完成相關(guān)的升級任務(wù)。該技術(shù)顛覆了以往對于多個嵌入式文件合成的傳統(tǒng)模式。該技術(shù)的應(yīng)用原理主要是將軟件模塊進行分離,通過硬件引擎掃描設(shè)備對硬件進行全面掃描,在通過程序加載器構(gòu)建相對應(yīng)的驅(qū)動程序鏈表以及設(shè)備鏈表,最后通過每個軟件模塊的位置信息,將其分別加載到不同的應(yīng)用程序和驅(qū)動程序之中,以此來完成加載合成任務(wù)。該技術(shù)的研究與應(yīng)用為各軟件的獨立應(yīng)用和開發(fā)提供了十分便捷的條件,也為軟件模塊的動態(tài)擴展增加了優(yōu)勢,最大限度的降低了協(xié)作嵌入式軟件時人力與物力的投入。

      關(guān)鍵詞:嵌入式;獨立加載;驅(qū)動程序;獨立升級

      以往在進行嵌入式系統(tǒng)軟件的開發(fā)時,一般是將多個不同的模塊進行編譯以及合成,變成一個目標(biāo)文件、操作系統(tǒng)目標(biāo)或者應(yīng)用程序目標(biāo)文件,該方法的目的就是為了將文件進行固化。這種做法的優(yōu)點是簡單便捷易操作。但是計算機系統(tǒng)的全面發(fā)展,嵌入式系統(tǒng)作為整體的一個分支,也變得越來越復(fù)雜,傳統(tǒng)的方法在如今龐大的軟件規(guī)模之下顯得越來越力不從心。另外,現(xiàn)在的嵌入式系統(tǒng)大多數(shù)都不是由同一個單位進行研制,而是由多個單位共同協(xié)作完成,因此當(dāng)對一個軟件模塊進行修改時,我們無法確定該處修改是否會對其他軟件模塊以及整個系統(tǒng)產(chǎn)生影響,在最后的調(diào)試與檢測階段就會投入更大的精力,嚴(yán)重影響進度。

      如果將傳統(tǒng)的手段進行顛覆,將各個模塊都作為獨立的個體,分別對其進行編譯和加載,這將大大保護了各個模塊的開發(fā)安全性和可靠性。通過研究,在VxWorks5.5操作系統(tǒng)下,驅(qū)動模塊與應(yīng)用程序代碼的分離以及獨立加載可以成為現(xiàn)實。該方法的出現(xiàn)為嵌入式軟件的開發(fā)以及提高開發(fā)研制效率提供了有效的途徑。

      一、模塊分離

      想要真正實現(xiàn)不同的驅(qū)動模塊與程序代碼的獨立加載,前提是不同的模塊之間可以被單獨分離出來,自成一體,并且將各個模塊編譯成相對獨立的有效文件。以往使用的方法是目標(biāo)機直接將驅(qū)動程序庫,并將程序庫連接到應(yīng)用程序里,同時在主機上編譯出目標(biāo)文件,最后再在目標(biāo)機上執(zhí)行該目標(biāo)文件。該方法叫做緊耦合式目標(biāo)文件方式。

      為了實現(xiàn)將各個軟件模塊分離和獨立,我們需要將以往的緊耦合式目標(biāo)文件方式變成松耦合式目標(biāo)文件方式。將緊變成松就是為了能夠保證各個驅(qū)動程序從各個不同的應(yīng)用程序中分離開,繼而各自生成不同的目標(biāo)文件。在該項任務(wù)完成后,我們需要將不同的目標(biāo)文件保存在目標(biāo)機中對應(yīng)的位置,并且對現(xiàn)有文件進行優(yōu)化和完善,為其以后的加載以及運行提供有效的選項以及運行參數(shù)。

      二、獨立加載方案

      在整個獨立加載方案中,最為核心以及關(guān)鍵的內(nèi)容是設(shè)備管理器。當(dāng)硬件自動掃描引擎檢測到硬件設(shè)備時,就會馬上將該設(shè)備信息通知給程序加載器。程序加載器會按照接收到的信息在整個設(shè)備信息庫中進行搜索,當(dāng)找到想匹配的配置文件后,就可以根據(jù)配置文件的位置進而獲得存放驅(qū)動程序目標(biāo)文件的具體位置,這樣就可以實現(xiàn)自動加載。整個任務(wù)的執(zhí)行過程就是硬件設(shè)備被逐個掃描的過程,當(dāng)所有設(shè)備的驅(qū)動程序都按照對應(yīng)的配置文件找到目標(biāo)文件的存儲位置并且完成獨立加載后,該項任務(wù)完成。

      三、軟件實現(xiàn)

      (一)硬件自動掃描

      首先,將系統(tǒng)啟動,操作系統(tǒng)被賦予執(zhí)行控制權(quán)。首先,操作系統(tǒng)要在制定的目錄中搜索并完成設(shè)備管理器的加載,以便其能夠執(zhí)行接下來的任務(wù)。在一般操作中,有兩類設(shè)備可能需要設(shè)備管理器掃描加載:其一是PCI設(shè)備,其二是非PCI設(shè)備。對于PCI設(shè)備,如果設(shè)備管理器能夠根據(jù)PCI的總線號以及設(shè)備號等查找到該設(shè)備,那么就可以將其調(diào)價到設(shè)備鏈表之中;對于非PCI設(shè)備,則需要給設(shè)備管理器預(yù)設(shè)非PCI設(shè)備信息,然后才能對該設(shè)備進行查找以及添加設(shè)備鏈表的工作。

      設(shè)備鏈表中的所有設(shè)備,都可以通過設(shè)備鏈表進行依次查找,并且對查找到的設(shè)備進行驅(qū)動,真正實現(xiàn)獨立加載以及驅(qū)動的目的。

      (二)驅(qū)動加載

      驅(qū)動描述文件和驅(qū)動目標(biāo)碼是所有驅(qū)動程序都需要的兩個文件。驅(qū)動目標(biāo)碼指的就是驅(qū)動程序中的可執(zhí)行代碼。當(dāng)系統(tǒng)獲取設(shè)備信息以后,可以開始分析程序的描述文件,并且根據(jù)根據(jù)想跟文件以及加載驅(qū)動程序碼對相應(yīng)的執(zhí)行相應(yīng)的入口函數(shù)。

      驅(qū)動描述文件可以等同為一個格式化的文本文件。文件中包含許多與設(shè)備相關(guān)的重要信息,例如支持操作系統(tǒng)、文件格式、驅(qū)動版本號等等的信息。不同的設(shè)備命名格式也不一樣。例如PCI設(shè)備的安裝文件的命名方式就比非PCI設(shè)備的要繁瑣一些,在具體的操作中要注意檢查和區(qū)分。

      四、結(jié)束語

      對于嵌入式軟件模塊獨立加載的整個課題來說,驅(qū)動程序與應(yīng)用程序代碼的分離以及獨立加載只是該課題中的一個特例,但該方法也能用在多個應(yīng)用程序模塊的分離以及獨立加載,有舉一反三的效果。該技術(shù)的實現(xiàn),大大改進了傳統(tǒng)加載模式的弊端,將硬件的升級以及部分的改進都變成一件簡單的事情,大大緩解了相關(guān)從業(yè)人員的從業(yè)壓力,并且更是為軟件模塊的獨立升級提供了便捷的方法。對于軟件模塊的開發(fā)與研制更是起到了不可小覷的積極推動作用。

      目前為止,嵌入式設(shè)備驅(qū)動程序獨立加載技術(shù)在許多產(chǎn)品中都由廣泛的應(yīng)用,這也大大驗證了該方法的有效性和實用性,相信該方法在未來將完全取代傳統(tǒng)方法,成為一次新的顛覆。

      參考文獻:

      [1]Wind River 公司W(wǎng)orkbench Online Help(SystemWorkbench 3.2 在線幫助)[M].Wind River 公司,2010.

      [2]張楊,于銀濤.Vxworks 內(nèi)核、設(shè)備驅(qū)動與BSP 開發(fā)詳解[M].第2 版.北京:人民郵電出版社,2011.

      [3]VxWorks 啟動解析B/OL].[2009-09-21].http://blog.csdn.net/bianhonglei/archive/2009/09/21/4576534.aspx.

      [4]VxWorks 動態(tài)加載.out 文件[EB/OL].[2010-04-09].http://blog.sina.com.cn/s/blog_4e6f376d0100huhr.html

      [5]孔祥營,張寶山,俞烈彬. VxWorks 驅(qū)動及分布式編程[M].北京: 中國電力出版社,2007.

      [6]VxWorks 系統(tǒng)中映像及其加載過程[EB/OL].[2006-07-26] .http://denven.blog.hexun.com/4813569_d.html.

      [7]用函數(shù)jump 表解決模塊加載順序問題[EB/OL]. [2007-01-03].http://blogold.chinaunix.net/u/20871/showart_223263.html.

      猜你喜歡
      驅(qū)動程序嵌入式
      TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
      電子制作(2019年7期)2019-04-25 13:17:14
      嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
      電子制作(2018年18期)2018-11-14 01:48:16
      計算機硬件設(shè)備驅(qū)動程序分析
      電子制作(2018年17期)2018-09-28 01:56:58
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      Altera加入嵌入式視覺聯(lián)盟
      倍福 CX8091嵌入式控制器
      自動化博覽(2014年4期)2014-02-28 22:31:15
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      如何為老顯卡安裝Windows7驅(qū)動程序? 等
      唐河县| 淮滨县| 葫芦岛市| 安丘市| 布拖县| 巫溪县| 康保县| 大渡口区| 依兰县| 剑阁县| 文安县| 公安县| 梨树县| 正阳县| 基隆市| 昭觉县| 武宁县| 渝中区| 澎湖县| 甘南县| 上虞市| 长乐市| 汨罗市| 江安县| 安多县| 英吉沙县| 连云港市| 广饶县| 綦江县| 保亭| 革吉县| 海南省| 安仁县| 淳安县| 灵璧县| 清苑县| 泸西县| 济南市| 东光县| 高陵县| 双桥区|