12.20.2006

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 沒接等問題。

1 則留言:

匿名 提到...

你好,
我是mx31的新手,看了你的文章之後,想請問你是如何將redboot放上去.
我先提供一下我的方法,我的方法一直無法成功.請你多指教一下.
我使用 MX_HABToolkit-v2.2.exe 及 mx31ads_redboot.bin 這些都是由 freescale download下來的. jumper的設定均正確.
可以燒成功,但在console卻無法看見任何文字.
若我使用 wince 的eboot.nb0 卻是成功的.可以看見console內的任何文字.