我在一個支持phyCORE-MPC5200的小板上安裝了MPC5200 v2.2,Core v1.4。 DRAM 64 MB,FLASH 16 MB。 RTOS VxWorks 6.9。爲什麼U-Boot(DENX)停留在引導循環中並給出「程序檢查異常」?
我在啓動嵌入式系統時遇到了問題,當U-Boot/uboot(DENX)嘗試如此加載映像時,它仍處於引導循環中,並說:「程序檢查異常」。
對於開發過程中的調試,我使用TFTP服務器將vxWorks二進制文件直接加載到RAM中(U-Boot命令:'tftpboot 0x100000 vxWorks.bin')。在這種情況下,一切正常。 爲了發佈pure * .bin VxWorks文件(大小爲8,07 MB(8.462.808字節))被壓縮並打包成U-Boot兼容映像文件(具有引導加載程序特定的頭文件信息)並且結果大小爲5, 25 MB(5.509.763字節)。映像文件放在閃存中,從未壓縮的位置加載到RAM(U-Boot命令:'bootm 0xff800000')。之後,上述異常被拋出,導致重新啓動循環(請參見下面的截圖)。
我已經調查過,如果準備好的圖像的大小低於5 MB,U-Boot會毫無誤差地加載它。也許未壓縮的文件大小可能是一個問題?! (在8MB?)
你有任何想法,如何可以解決問題?
請勿發佈圖片的文字! – Olaf
看來,使用bootm命令時,問題是由於U-Boot中的8MB限制引起的。任何想法如何繞過這個啓動限制? – Chris
我調查過,失敗的一點是'bootm'的解壓縮步驟。通過TFTP(和'cp'命令)我已經將未壓縮的二進制文件和壓縮的圖像複製到閃存中。 然後我再次嘗試用bootm啓動壓縮的映像。 經過預期的崩潰和重置後,我能夠將RAM中的(通過'bootm')未壓縮數據與閃存中的未壓縮二進制數據(使用'cmp'命令)進行比較。 8mb之後,數據不再匹配! 在第二個測試中,我創建了一個未壓縮的映像,「bootm」可以在沒有問題的情況下啓動。有任何想法嗎? – Chris