新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 適于OMAP的多級啟動Boot Loader

        適于OMAP的多級啟動Boot Loader

        作者: 時間:2010-04-07 來源:網絡 收藏
        (3)Flasher
         Flasher過程主要負責向Flash中燒寫編譯好的程序目標碼,主要包括 、MPU、DSP、FPGA等部分。采用RS232串行端口與主機相連,實現程序目標碼的下載。傳輸協議采用大多數編譯器都支持的Intel Hex格式[5]。Intel Hex格式采用ASCII字符表示方式,這樣程序目標碼的每個字節需要用2個ASCII字符來表示,包含冗余信息較大,而且Intel Hex格式僅含目標碼的地址信息與具體內容,而無法區分目標碼的類別,因而需要對Intel Hex進行擴展,以降低冗余并支持更多的操作。擴展的Hex不使用ASCII字符,而直接使用原數據格式,這樣可以降低一半數據量。為了與Intel Hex格式有所區分,采用“;”作為前綴標識,格式如表1所示。同時對數據類型進一步擴展,用以區分各種目標碼類別,如表2所示。

        本文引用地址:http://www.104case.com/article/173387.htm

        可以看出,表2中僅包括擦除各種類型目標碼的指令,而沒有包含寫入目標碼時區分類別的具體指令,這是因為寫入時各種不同類型的目標碼可以直接通過地址來區分,每種類型目標碼都有自己單獨的地址段,相互之間沒有交叉。Flasher流程如圖3所示,通過解析Hex記錄格式,來判斷命令類型,從而進行相應的操作。其中校驗模式用于驗證Flash中所存儲的程序代碼是否與串行端口上收到的數據一致。所有程序更新結束之后,通過重新命令復位芯片,使整個系統重新

          
        3 拷貝程序耗時對比測試
        采用Intel公司RD48F3000P0ZBQ0 Flash存儲器以及三星K4M56163PG移動版SDRAM與5910相連,組成5910運行所需的最小系統,OMAP運行頻率144 MHz。分別采用傳統方式(程序在Flash中運行)以及本文所述的啟動方式(程序在RAM中運行)從Flash中拷貝相同長度的數據到SDRAM中,測試其耗時。每次拷貝數據量選取64 KB~8 192 KB,每種數據量每種方式測試5次,具體時間如表3所示,其中表3(a)為程序在RAM中運行時的耗時,表3(b)為程序在Flash中運行時的耗時。由表中數據對比可以看出,拷貝數據量較大時,本文中所述的RAM拷貝方式優勢比較明顯,有大約20%的提高,對于目前的嵌入式操作系統來說,基本內核的代碼量都比較大,因而采用本文所述的方式能夠帶來比較大的耗時改善。

         OMAP作為一種整合了ARM控制能力與DSP數據處理能力的雙核心處理器已經廣泛應用于各種嵌入式設備中,但大多數OMAP處理器通過外部Flash啟動,既浪費時間又有較高風險。本文針對OMAP啟動過程中的這一缺陷,設計的啟動 較之傳統方式有較大的性能改善,目前已在數字集群手持終端、網絡多媒體可視電話等項目中得到成功應用,并取得很好的效果。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 邛崃市| 手游| 琼中| 灌阳县| 南康市| 正镶白旗| 禹城市| 昂仁县| 白玉县| 得荣县| 北票市| 兴安盟| 富顺县| 昌邑市| 左贡县| 砀山县| 当雄县| 舟山市| 井研县| 东乌珠穆沁旗| 景宁| 诸城市| 北海市| 鄯善县| 尼勒克县| 崇明县| 株洲县| 宜兰市| 泽库县| 疏勒县| 合水县| 剑河县| 蓝田县| 清远市| 新蔡县| 陈巴尔虎旗| 临朐县| 巴楚县| 凌云县| 南和县| 曲靖市|