久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 一種嵌入式系統bootrom自動備份及切換技術

一種嵌入式系統bootrom自動備份及切換技術

作者: 時間:2012-03-13 來源:網絡 收藏

③如果FlashA中的代碼已經損壞,CPU將無法啟動。此時,CPLD等待5 s后檢測到的啟動寄存器值仍為初始值,CPLD認為FlashA已損壞,boot_cs信號輸出到FlashB,然后發送一個復位信號給CPU,CPU重新開始啟動過程。CPU從FlashB中啟動代碼,啟動完成后,軟件向CPLD的啟動寄存器中寫入值B。此時輸出CS1給FlashA,軟件檢測FlashA中代碼的完整性。如果完整,則不處理。如果發現FlashA中代碼不完整,則更新FlashA中的代碼,更新完畢后通知CPLD復位CPU,并輸出boot_cs給FlashA,從FlashA重新啟動。
更新時,首先改寫FlashA中的代碼,并重新啟動;然后驗證FlashA中代碼的完整性,如果FlashA中代碼完整,則更新到FlashB中。

2 實現
由軟件和CPLD配合實現,其中CPLD根據軟件反饋的狀態來確定片選的分配以及系統的復位。軟件則在啟動后對cpld Bootrom_run寄存器進行置位,并對兩片Flash的代碼進行CRC校驗。如果有錯誤,則修復相應的Flash代碼,并記錄相關錯誤信息。
CPLD工作流程如圖2所示。

本文引用地址:http://cqxgywz.com/article/149452.htm

b.jpg


本系統采用了Altera公司的MAXII CPLD實現,編譯通過后僅占用124個邏輯單元,很方便就可以把相關的代碼添加到產品現有的CPLD中,實現bootrom功能。

結語
本文提出了一種基于CPLD實現軟件bootrom功能的方法。該方法在PowerPC處理器MPC5200、MIPS處理器RM7000A和ARM處理器ATM9200的平臺上都得到了驗證,均能保證系統的正常啟動,并能完成bootrom的恢復,為產品軟件更新升級提供了強有力的保證。本設計由于采用了兩片Flash,因此增加了一定的設計難度和成本。但相對于可靠的bootrom更新機制、自動化和可靠性所帶來的維護成本的降低,這個代價是值得的。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉