在i.MX28 EVK board上,用mfg tool(mfgtool版本是1.6.2.048)更新eboot_ivt.sb到SDMMC显示操作完成,开机按space进入eboot menu,发现menu里的设置还是之前旧的,所以现在有个疑问:新eboot是否真写到SDMMC。
另外,从串口吐出的debug信息上,只看到更新eboot成功,没有看到更新nk.nb0和file,实际我在UCL.xml里除了配置files/eboot_ivt.sb,还配置了files/nk.nb0和files/sandy.mp3,应该这些都要更新才对。
下面是我的UCL.xml的配置:
<UCL>
<CFG>
<STATE name="Recovery" dev="IMX28"/>
<STATE name="Updater" dev="Updater" />
<DEV name="IMX28" vid="15A2" pid="004F"/>
<DEV name="Updater" vid="066F" pid="37FF" />
</CFG>
<LIST name="NAND" desc="Choose NAND as media">
<CMD type="boot" body="Recovery" file="uce_ivt.sb">Booting Update Client Engine.</CMD>
<CMD type="find" body="Updater" timeout="180"/>
<CMD type="push" body="MediaType:NAND">Send media type.</CMD>
<!--<CMD type="push" body="QueryStoreStatus:DSK1:,Timeout:10">Query store status.</CMD>-->
<CMD type="push" body="QueryStoreName:NAND FLASH Storage,Timeout:10">Send store name.</CMD>
<CMD type="push" body="wfw">Notity device to prepare receiving a firmware.</CMD>
<CMD type="push" body="fwtype:EB_SB">Specify firmware type.</CMD>
<CMD type="push" body="send" file="files/eboot_ivt.sb">Sending a firmware file.</CMD>
<CMD type="push" body="save">write the firmware to NAND flash.</CMD>
<CMD type="push" body="wfw">Notity device to prepare receiving a firmware.</CMD>
<CMD type="push" body="fwtype:NK_NB">Specify firmware type.</CMD>
<CMD type="push" body="send" file="files/nk.nb0">Sending a firmware file.</CMD>
<CMD type="push" body="save">write the firmware to NAND media.</CMD>
<CMD type="push" body="QueryFolderStatus:NANDFlash,Timeout:10">Query store folder status.</CMD>
<CMD type="push" body="wfl">Notity device to prepare receiving a file.</CMD>
<CMD type="push" body="filename:NANDFlash\\sandy.mp3">Sending file name.</CMD>
<CMD type="push" body="send" file="files/sandy.mp3">Sending a file.</CMD>
<CMD type="push" body="save">Finish sending data.</CMD>
<CMD type="push" body="Done">Whole update work is finished.</CMD>
</LIST>
<LIST name="SD/MMC" desc="Choose SD/MMC as media">
<CMD type="boot" body="Recovery" file="uce_ivt.sb">Booting Update Client Engine.</CMD>
<CMD type="find" body="Updater" timeout="180"/>
<CMD type="push" body="MediaType:SDMMC">Send media type.</CMD>
<!--<CMD type="push" body="QueryStoreStatus:DSK1:,Timeout:10">Query store status.</CMD>-->
<CMD type="push" body="QueryStoreName:SD Memory Card,Timeout:10">Query store name.</CMD>
<CMD type="push" body="Partitions:EBOOT:64MB,NK:32MB,File">Starting partitions.</CMD>
<CMD type="push" body="wfw">Notity device to prepare receiving a firmware.</CMD>
<CMD type="push" body="fwtype:EB_SB">Specify firmware type.</CMD>
<CMD type="push" body="send" file="files/eboot_ivt.sb">Sending a firmware file.</CMD>
<CMD type="push" body="save">write the firmware to SD/MMC media.</CMD>
<CMD type="push" body="wfw">Notity device to prepare receiving a firmware.</CMD>
<CMD type="push" body="fwtype:NK_NB">Specify firmware type.</CMD>
<CMD type="push" body="send" file="files/nk.nb0">Sending a firmware file.</CMD>
<CMD type="push" body="save">write the firmware to SD/MMC media.</CMD>
<CMD type="push" body="QueryFolderStatus:SDMemory,Timeout:10">Query store folder status.</CMD>
<CMD type="push" body="wfl">Notity device to prepare receiving a file.</CMD>
<CMD type="push" body="filename:SDMemory\\sandy.mp3">Sending file name.</CMD>
<CMD type="push" body="send" file="files/sandy.mp3">Sending a file.</CMD>
<CMD type="push" body="save">Finish sending data.</CMD>
<CMD type="push" body="Done">Whole update work is finished.</CMD>
</LIST>
</UCL>
下面是从串口吐出的debug 信息,从debug信息中可以看到NAND不支持(目前EVK上没有NAND),只支持SD/MMC,但只看到更新ebbot,其他nk.nb0,file没有看到更新信息。
pArgs->ip4address........ 0
pDevice->Name............ s
pDevice->ifcType......... 0
pDevice->id.............. 0x80080000
pDevice->resource........ 0
pDevice->type............ 2
pDevice->pDriver......... 0x8048902C
WARN: OALKitlInit: KITL Disabled
reset GPMI module
enable bch module
ERROR: F:\WINCE600_2\PLATFORM\COMMON\SRC\SOC\COMMON_FSL_V2\NAND\FMDCOMMON\BIG_SECTOR_INTERLEAVE\.\fmd.cpp line 208: No NAND type matched!
BOT_InternalInit with Drivers\Active\06
UFN_ATTACH with key = Drivers\Active\06
UFN_CONFIGURED: BOT_OpenInterface again
UTP command:Media type: SDMMC.
UTP command:QueryStoreName.
UTP command:Check if disk is ready.
Please be patient to wait...
Send storage Friendly name: SD Memory Card.
Send time out: 10.
Find Store Device Name is DSK1:
Find Store Friendly Name is SD Memory Card
Info:Find Store by Friendly Name SD Memory Card
Get Store disk name:DSK1: by Friendly name SD Memory Card.
Opening disk DSK1: OK.
GetStoreList:szDisplayName is DSK1: SD Memory Card
Create g_pWriteBufferPool successfully!
DSK1: is ready.
UTP command:Partitions.
UTP command:Creating partitions.
Please be patient to wait...
There are 3 partitions.
EBOOT Partition 0:64MB done!
NK Partition 1:32MB done!
File Partition 2:0MB done!
WriteMBR: Write MBR to SDHC Finished!
Sleep 100 ms.
Sleep 200 ms.
Sleep 300 ms.
Sleep 400 ms.
Sleep 500 ms.
Sleep 600 ms.
Reopen disk DSK1: after SD/MMC virtual plugin.
ReCreate g_pWriteBufferPool successfully!
UTP command:Write image.
UTP command:Firmware type.
UTP command:Image type: EBOOT SB.
UTP command:Send.
UTP command:Send data.
Minimun image buffer size is : 0x10000.
Whole data length to be sent: 0x559b0.
INFO: Totally 685 sectors needs to be written.
Recievin