純筆記分享如何在uboot中透過tftp更新BMC
步驟一:先將欲燒入檔案放入tftp server中 (ex. 192.168.0.1:/tftp/iris/rom.ima)
步驟二:進入uboot 並依序執行以下指令,有兩個方法,選其一即可
(memory address可對照ast2600的datasheet中ARM Address Space Mapping章節一起看)
// 設定tftp server IP
setenv serverip 192.168.0.1
// 動態獲得BMC IP (也可設靜態IP)
dhcp
// 從tftp server下載image "rom.ima"至0x80000000位址
// 0x80000000 是SDRAM的起始位置
tftp 0x80000000 iris/rom.ima
// sf 是spi flash的縮寫,probe是指初始化指定的SPI上之設備
sf probe
// sf update <addr> <offset> <len> ,從SPI flash <offset> 處擦除並寫入記憶體位置<addr>起的 <len> bytes
// 0x4000000 是64MB (需改寫為欲燒入fimware image大小)
sf update 0x80000000 0 0x4000000
// 重新啟動
reset
另外一個方式是:
// 設定tftp server IP
setenv serverip 192.168.0.1
// 動態獲得BMC IP (也可設靜態IP)
dhcp
// 從tftp server下載image "rom.ima"至0x80000000位址
// 0x80000000 是SDRAM的起始位置
tftp 0x80000000 iris/rom.ima
// sf 是spi flash的縮寫,probe是指初始化指定的SPI上之設備
sf probe
// make all FLASH banks writable
protect off all
// erase all FLASH banks
erase all
// cp [.b, .w, .l] <source> <target> <count>
// cp: 記憶體複製;.b表示 count 的單位是byte
// 0x80000000 是SDRAM的起始位置
// 0x20000000 是預設 BMC SPI Flash Memory (FW SPI CS0) 的起始位置
// 0x4000000 是64MB (需改寫為欲燒入fimware image大小)cp.b 0x80000000 0x20000000 0x4000000
// protect all FLASH banks
protect on all
// 重新啟動
reset
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。