基于USB的便攜式設備固件升級程序的設計
6 固件升級
在完成設備路徑獲取,并將二級引導代碼下載至設備IRAM后,設備控制權交給這段應用代碼。代碼主要負責Nand Flash的驅動和USB命令解析。至此,固件升級前的所有工作已準備就緒。固件升級的核心任務是將固件文件無差錯寫入NAND Flash。由于NAND Flash存在壞塊,故必須先對其進行壞塊檢測,然后形成壞塊信息表。根據(jù)需要寫入的固件各部分文件大小,結合壞塊信息表,則生成固件各文件在Flash中的存放位置,進而將固件下載至Flash。最后填充ID Block,這樣就完成了固件升級。圖4為固件升級流程。
7 系統(tǒng)測試
系統(tǒng)測試采用自行開發(fā)的便攜式的網(wǎng)絡通信平臺。固件升級前需的準備:(1)保證設備電池充足,防止升級過程因電池不足而中斷;(2)備份設備原有固件;(3)確保設備有足夠存儲容量;(4)檢查IJSB接口可靠性。圖5是固件生成及其下載演示。從圖5中看出,升級過程向設備寫入的菜單、圖像等資源顯示成功。
8 結束語
隨著嵌入式技術的發(fā)展,便攜式設備已普及日常生活中。隨著用戶不斷提出新功能要求,廠商通過更新固件使其產(chǎn)品增值。因此,該設計固件升級工具的設計方法可廣泛應用于MP3、電子詞典等便攜式設備。測試結果表明,升級程序界面簡潔友好,只需幾個簡單操作就能完成系統(tǒng)固件升級。
評論