中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      Bootrom功能改進經驗談

      時間:2024-08-19 20:07:51 理工畢業論文 我要投稿
      • 相關推薦

      Bootrom功能改進經驗談

      摘要:以VxWorks嵌入式實時操作系統為例,介紹了改進啟動代碼(Bootrom)功能的四點經驗:(1)具備故障保護功能的Bootrom的自我在線更新;(2)增加重啟功能;(3)自動運行應用軟件;(4)多種應用軟件的選擇。

      VxWorks是美國WindRiver System公司于1983年設計開發后個運行在目標機上的高性能、可裁減的嵌入式實時操作系統(RTOS)。它是一種功能強大而且比較復雜的操作系統,包括了進程管理、存儲管理、設備管理、文件系統管理、網絡協議及系統應用等幾部分。VxWorks為程序員提供了高效的實時多任務調度、中斷管理、實時的系統資源以及實時的任務間通信。其核心功能主要有微內核、任務間通信機制、網絡支持、文件系統和I/O管理、POSIX標準實時擴展以及C 等其他標準支持。在各種CPU平臺上提供了統一的編程接口和一致的運行特性,盡可能地屏蔽不同CPU之間的底層差異。應用程序員可以將盡可能多的精力放在應用程序本身,而不必關心系統資源的管理。VxWorks以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精類技術及實時要求極高的領域中,如衛星通信、彈道制導、飛機導航等。

      設計師通常利用VxWorks開發Bootrom代碼。Bootrom相當于PC機中的BIOS,它完成對加載過程中所需設備的初始化及驅動;然后,通過某種可選擇的通信手段(如網口、串口),將VxWorks內核加載。VxWorks內核相關于PC機上的操作系統,如Linux、Windows。此外,Bootrom還提供了一些輔助功能,如地址內容查看、地址內容修改和Bootrom菜單顯示信息控制等功能。但是,在實際應用中,這些功能不夠豐富,便利性不足。本文介紹了幾點筆者在工作中行之有效的改進Bootrom功能的經驗。

      1 具備故障保護功能的Bootrom的自我在線更新

      Bootrom一般以二進制文件的方式保存在非易失懷存儲介質,例如Flash、CF卡、EPROM中。通常需要仿無休止器、燒結器或JTAG工具等才能將代碼燒入這類介質,在實際應用中非常不便。以Flash為例介紹如何在線更新Bootrom。

      首先,為了做到故障保護,防止在更新過程中發生更新文件出錯、斷電等災難性故障,Bootrom的數據必須在更新之前備份在Flash的另一區域。因此,Flash中必須存在兩片物理區域,暫且命名為PA和PB,每片512KB(假設Bootrom文件小于512KB)。兩片物理區域的起始地址可以互換,其中一片區域的起始地址必須為系統的上電啟動地址,這個地址因處理器而異,例如,PowerPC體系結構的處理器的啟動地址一般是0xfff00100,而MIPS體系結構的處理器的啟動地址是0xbfc00000。在邏輯上,以啟動地址開始的區域為主Boot區,另一片區域為備Boot區。

      為了實現地址互聯換,在CPU模塊和Flash芯片之間,增加了一片CPLD(可編程邏輯器件)和一個跳線或撥號開關,開關信號JP輸入到CPLD。CPU訪問Flash的地址信號和片選信號經過CPLD進行地址互換,再到Flash芯片。如果不跳線(默認情況),JP信號為高,則PA的起始地址為啟動地址,PA為主Boot區,PB為備Boot區;否則,JP信號為低,PB的起始地址為啟動地址,PB為主Boot區,PA為備Boot區。默認情況下,PA為主Boot區。如圖1。

      如果系統中有兩片Flash芯片,可以不用CPLD,選用另一種地址互換方式,如圖2。兩個二選一邏輯實現兩片Flash片選信號(CS)的互換,從而實現了地址的互換。

      地址互換機制屏蔽了PA和PB實際物理位置的差別,給底層軟件提供了一個統一的接口,帶來的好處不言而喻。Bootrom數據總線是從主Boot區備份到備Boot區,系統總是從主Boot區啟動。

      其次,編寫Flash擦寫驅動函數。Flash是一種讀寫非對稱器件,讀數據與普通器件一樣,比較簡單;而寫必須根據芯片廠商提供的算法,先擦除欲寫入數據的區域,以扇區(Sector)為單位,然后寫入數據。函數flashUpdate(char *sourceAddr,char *destAddr,int Length)集成了擦除和寫入兩個步驟。

      再次,在文件bootConfig.cr Bootrom操作接口函數bootCmdLoop()中增加新命令“u”(update的編寫)。

      switch(*(pLine )){

      ……

      case 'u'; /*更新Bootrom*/

      …… /*下載更新代碼并更新*/

      break;

      ……

      }

      “u”命令的實現流程如圖3。除了flashUpdate()之外,其它函數都由VxWorks本身提供。如果更新挫敗,則改變JP設置,從備份Bootrom啟動,再次更新Bootrom或運行應用軟件。

      2 增加重啟功能

      VxWorks的Bootrom用戶命令缺少重啟功能,給調試和實際應用帶來諸多不便。與Bootrom在線更新方法相同,增加這項功能其實并不難,只要在函數bootCmdLoop()中增加新命令“r”(reset的縮寫),在命令中調用系統重啟函數sysReboot()即可。SysReboot()由設計師根據系統的不同自行編寫。

      Switch(*(pLine )){

      ……

      case 'r'; /*重啟系統*/

      sysReboot();

      break;

      ……

      }

      舉一反三,還可以根據需要在Bootrom中增加許多自己的命令

      【Bootrom功能改進經驗談】相關文章:

      基于VxWorks的bootrom代碼改進03-18

      論我國訴訟費調節功能的缺失和改進03-22

      改進管理 強化功能 參與國際物流市場競爭03-18

      制度的功能01-12

      聲樂社會功能與心理功能的探討03-05

      旅游的審美功能03-21

      論分部報告的改進03-23

      如何改進成本管理03-22

      功能語法視角下的英語報紙新聞標題的功能03-11

      主站蜘蛛池模板: 汉源县| 超清无码AV丝袜片在线观看| 中文字幕熟女一区二区三区| 青草蜜桃视频在线观看| 少妇高潮惨叫久久久久电影| 亚洲无码中文字幕日韩无码| 一级二级三一片内射视频在线| 免费在线观看一区二区| 中出高潮了中文字幕| 成人特黄特色毛片免费看| 国产三级精品美女三级| 鸡泽县| 国产女主播免费在线观看| 久久这里只有精品黄色| 日韩无码电影| 久久99精品久久久久久国产人妖| 亚洲欧美日韩精品久久亚洲区色播| 一本久道久久综合狠狠躁av| 亚洲大片免费播放地址| 国产99久久精品一区| 国产成年无码AⅤ片日日爱| 久9热免费精品视频在线观看 | 国产激情视频免费观看| 亚洲日韩AV无码美腿丝袜| 亚洲无线码1区| 波多吉野一区二区三区av| 治县。| 国产亚洲精品综合99久久| 精品国免费一区二区三区| 亚洲av色香蕉一区二区三区精品| 黑人免费一区二区三区| 亚洲国产资源一区二区| 精品高清国产乱子伦| 69国产成人综合久久精| 久久人妻少妇中文字幕| 揭阳市| 邯郸市| 丰满少妇棚拍无码视频| 亚洲人成伊人成综合网中文| 人妖另类综合视频网站| 亚洲国产黄色一区二区三区|