ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2010年10月7日 星期四

iMX51 的 boot configuration

ref: freescale forume, freescale user manual 利用 BMOD pin 可以設定四種 boot mode:
  • 00 : Internal Boot (Boot from internal Boot ROM)
  • 01 : -- Reserved
  • 10 : Internal Boot (Boot from internal Boot ROM)
  • 11 : Serial Downloader (UART or USB)
其中 00 和 10 不一樣的地方在 internal boot rom 有沒有參考 gpio 做 boot device 的設定。 iMX51 內部有一個 Boot eFUSE。存放很多 boot configuration 的設定。 table 9-2 有列出eFUSE 中,每一個 option 的名稱,和是否可以由外部 gpio 來 overwrite。 eFUSE 是一個一次性燒錄的區域。可以利用 FreeScale 提供的 tool 來燒錄eFUSE 的值。 boot ROM 開機後,會參考 eFUSE 的內容,決定開機的裝置。
boot mode = 10 boot ROM 完全參考 eFUSE 的內容來動作。但是如果eFUSE 的內容是"un_programmed",會自動切換到 serial download mode,讓 user download boot code。 boot mode = 00 boot ROM 會參考 eFUSE 的內容和 GPIO 的內容。 在 eFUSE 的 table 中有列出哪些 option 對應到外部的 GPIO。 在這個 mode, boot rom code 會參考 GPIO 的值來開機。 這些可以 overwrite eFUSE 設定的 gpio 大多是 有 multiple function (e.g : display_data..),但是只有在 boot 的時候,boot rom 會參考這個 pin 的 high/low 值。 所以 hardware 要設定這些 pin 的 high-low,同時要考慮到不要影響他正常的 funciton 。 -- 也就是 pull-high, pull-low 電阻不可以太小。
開發和量產初期應該都是設為 00。
要使用 SD CARD 來開機,要設定 eFUSE 的:
  • BT_MEM_CTL : 11 - Expansion Device (SD/MMC/EEPROM)
  • BT_MEM_TYPE : 00 - SD/MMC/eMMC/eSD
還可以指定開機的 SD Slot:
  • BT_SRC : 00 - Slot 1, 01 - Slot 2, 10 - Slot 3, 11 - Slot 4.

BBG 上 default 是用 SD 0 開機 (底面),要改用上面的 SD 1 開機,要修改:
  • DIPSW - 6 要是 High
  • uboot 的 env virable : bootcmd 中,mmc read 0 都要改成 mmc read 1
* 可以看 uboot 的 help mmc 看 mmc 這個 command 的用法。

沒有留言:

標籤

網誌存檔