[i.MX] mfgtoolsRel-4.1.0修改从norflash启动,writeU-boot to spi nor(已解决)

[复制链接]
 楼主| xishanggongzi 发表于 2014-5-27 19:02 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_imx 于 2014-6-5 15:55 编辑

原来是从emmc启动,现在需要修改为从norflash启动,不知道该如何修改,模仿修改了下,出现上述问题,板子是公司的,芯是imx6s
 楼主| xishanggongzi 发表于 2014-5-27 19:02 | 显示全部楼层
log如下:
DLL version: 2.2.3
Tuesday, May 27, 2014 18:58:56   Start new logging
ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: DeviceTypeDisk--_devices size: 2
ModuleID[2] LevelID[10]: Volume--StorageDisk, Disk->_driveNumber:2, Volume->_diskNumber:2
ModuleID[2] LevelID[10]: DeviceTypeDisk--find Disk device: 01D9A070
ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 5
ModuleID[2] LevelID[10]: DeviceTypeDisk--_devices size: 2
ModuleID[2] LevelID[10]: Volume--StorageDisk, Disk->_driveNumber:2, Volume->_diskNumber:1
ModuleID[2] LevelID[10]: Volume--StorageDisk, Disk->_driveNumber:1, Volume->_diskNumber:1
ModuleID[2] LevelID[10]: DeviceTypeDisk--find Disk device: 01DA2040
ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 6
ModuleID[2] LevelID[10]: Device Manager thread is running
ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 1
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ flash_erase /dev/mtd0 0 0
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ mount
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is send
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ dd if=$FILE of=/dev/mtd0 bs=512
ModuleID[2] LevelID[1]: PortMgrDlg(0)--MSCDevice--Command Push(no file) excute failed
ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed
ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - EVENT_KILL
ModuleID[2] LevelID[10]: CMyExceptionHandler::OnMsgExceptionEvent() - KillExceptionHandlerThread
ModuleID[2] LevelID[10]: Exception Handler thread is closed
ModuleID[2] LevelID[1]: delete MxHidDeviceClass
ModuleID[2] LevelID[10]: Device Manager thread is closed

 楼主| xishanggongzi 发表于 2014-5-27 19:04 | 显示全部楼层
ucl.xml配置如下:

<LIST name="Android-SabreSD-SPI_NOR & emmc" desc="Choose SPI-NOR/EMMC as media">
        <CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6dl-sabreauto-spi-nor.bin" >Loading uboot.</CMD>
        <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
                loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Kernel.</CMD>
        <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
                loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Initramfs.</CMD>
        <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>

        <!--burn the uboot to SPI-NOR: -->
        <CMD state="Updater" type="push" body="$ flash_erase /dev/mtd0 0 0">Erasing Boot partition</CMD>
        <CMD state="Updater" type="push" body="$ mount">Erasing Boot partition</CMD>
        <CMD state="Updater" type="push" body="send" file="files/u-boot-mx6dl-sabreauto-spi-nor.bin">Sending U-Boot</CMD>
        <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd0 bs=512">write U-Boot to SPI-NOR</CMD>

        <CMD state="Updater" type="push" body="send" file="mksdcard-android.sh.tar">Sending partition shell</CMD>
        <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
        <CMD state="Updater" type="push" body="$ sh mksdcard-android.sh /dev/mmcblk0"> Partitioning...</CMD>

        <CMD state="Updater" type="push" body="$ ls -l /dev/mmc* ">Formatting sd partition</CMD>

        <CMD state="Updater" type="push" body="send" file="files/android/boot.img">Sending kernel uImage</CMD>
        <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0p1">write boot.img</CMD>
        <CMD state="Updater" type="push" body="frf">flush the memory.</CMD>

        <CMD state="Updater" type="push" body="$ mkfs.ext4 -b 4096 -m 0 /dev/mmcblk0p4">Formatting data partition</CMD>
        <CMD state="Updater" type="push" body="send" file="mk-encryptable-data-android.sh.tar">Sending data partition shell</CMD>
        <CMD state="Updater" type="push" body="$ tar xf $FILE ">Extracting data partition shell</CMD>
        <CMD state="Updater" type="push" body="$ sh mk-encryptable-data-android.sh /dev/mmcblk0 /dev/mmcblk0p4">Making data encryptable</CMD>

        <CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p5">Formatting system partition</CMD>
        <CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p6">Formatting cache partition</CMD>
        <CMD state="Updater" type="push" body="frf">flush the memory.</CMD>
        <CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p7">Formatting device partition</CMD>
        <CMD state="Updater" type="push" body="pipe dd of=/dev/mmcblk0p5 bs=512" file="files/android/system.img">Sending and writting system.img</CMD>
        <CMD state="Updater" type="push" body="frf">flush the memory.</CMD>
        <!-- Write userdata.img is optional, for some customer this is needed, but it's optional. -->
        <!-- Also, userdata.img will have android unit test, you can use this to do some auto test. -->
        <!-- <CMD state="Updater" type="push" onError="ignore" body="pipe dd of=/dev/mmcblk0p7" file="file/android/userdate.img"> Sending userdata.img(optional) </CMD>
        <CMD state="Updater" type="push" body="frf">flush the memory.</CMD> -->
        <CMD state="Updater" type="push" body="pipe dd of=/dev/mmcblk0p2 bs=512" file="files/android/recovery.img">Sending and writting recovery.img</CMD>

        <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>

        <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
</LIST>
 楼主| xishanggongzi 发表于 2014-5-27 19:06 | 显示全部楼层
Jumping to OS image之前的配置不知道用哪个,随便用不行吧??????之前emmc启动使用的是如下,是OK的。

<CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6dl-sabresd.bin" >Loading U-boot</CMD>
    <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
    <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
    <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
 楼主| xishanggongzi 发表于 2014-5-27 19:07 | 显示全部楼层
新手,给位前辈多多关照下啊!!!十分感谢!!!
FSL_TICS_A 发表于 2014-5-28 14:24 | 显示全部楼层
你好,楼主!
我会将你的问题转告给I.mx工程师,他稍后会回复你的。
请耐心等待!
 楼主| xishanggongzi 发表于 2014-5-29 16:37 | 显示全部楼层
FSL_TICS_A 发表于 2014-5-28 14:24
你好,楼主!
我会将你的问题转告给I.mx工程师,他稍后会回复你的。
请耐心等待! ...

什么时候能有答复啊,明天一过就放假了,一耽误又是一个星期啊
FSL_TICS_Rita 发表于 2014-5-29 17:58 | 显示全部楼层
你好,请问你是用的飞思卡尔的板子还是你们公司自己design的?
FSL_TICS_Rita 发表于 2014-5-30 16:49 | 显示全部楼层
你好,请问你的板子是参考飞思卡尔哪块板子参考设计的?前面你提到的Jumping to OS image之前,按照
<CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6dl-sabresd.bin" >Loading U-boot</CMD>
    <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
    <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
    <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
就是 可以的,因为你的DDR是一样的,没有更换。
FSL_TICS_Rita 发表于 2014-5-30 16:52 | 显示全部楼层
你烧写到板子上的images是哪里来的?官网的Demo还是你自己编译的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

123

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部