转自:http://www.pkblogs.com/realchecko/

Feescale MX31 bootloader Program : HAB Toolkit

MX31 內含一個ROM,boot ROM,裡面的code是Freescake預先寫好的。
boot rom code在boot時會detect boot config pin 的high low狀態,決定boot 的動作:

   1. 執行loader
   2. from NOR flash (8/16 bit)
   3. from NAND Flash (8/16 bit, 256/512 block)

利用rom 的loader 程序,可以用來dowload code/data到RAM。

loader 提供由UART和 USB download 的介面。

Freescale有將loader 的protocol, command open 出來。

Freescale 提供一個too : HAB Toolkit,方便和 rom loader溝通。

rom loader 啟動後,只會initial UART和USB週邊,所以在download之前,要另外下command 設定DDR controller。這部份由init file 提供。

HAB Kit 也提供將RAM DATA燒寫到flash 的功能,這部份是利用MX31的ARM Code執行一段code 來完成,燒寫flash 的command被包裝起來,放在RAM中,
所以當 designer 更換 flash 時,可以follow Freescale 的instruction ,implement 需要的flash command,包裝成bin 後讓HAB Toolkit download到RAM中讓 rom loader 使用。

HAB Toolkit 也可以作download and run 的動作,但是固定jmp 到download 的start address。

HAB toolkit 在download 時,出現 DDR Error的話,可能是 DDR controller設定不良,也可以是target board沒電,或是cable 沒接等問題。

posted on 2007-12-19 23:21  WindowsCE  阅读(498)  评论(0编辑  收藏  举报