打印
[i.MX]

用MGFTool烧写imx6q上的nand时候出错

[复制链接]
3057|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a151141|  楼主 | 2015-4-14 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
a151141|  楼主 | 2015-4-14 14:14 | 只看该作者
对应的ucl2.xml   是此文件中根据<LIST name="MX6Q-Sabreauto-NAND" desc="Choose NAND as media">段进行简单的修改
<LIST name="Linux-SabreSD-NAND" desc="Choose NAND as media">

        <CMD state="BootStrap" type="find" body="Recovery" timeout="180"/>
        <CMD state="BootStrap" type="boot" body="Recovery" file ="u-boot-mx6q-sabresd.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>
        <CMD state="BootStrap" type="find" body="Updater" timeout="180"/>


  <CMD state="Updater" type="push" body="$ echo hello12345">List MTD partition</CMD>
  <CMD state="Updater" type="push" body="$ ls -l /dev/*">List MTD partition</CMD>
       
        <CMD state="Updater" type="push" body="$ flash_eraseall /dev/mtd0">Erasing Kernel partition</CMD>

        <!--burn the uboot to NAND: -->       
        <CMD state="Updater" type="push" body="send" file="files/linux/u-boot-mx6q-sabresd-nand.bin">Sending U-Boot</CMD>       
        <CMD state="Updater" type="push" body="$ kobs-ng init --chip_0_device_path=/dev/mtd0 $FILE">Flashing Bootloader</CMD>

        <!--burn the kernel to NAND: -->
        <CMD state="Updater" type="push" body="$ flash_eraseall /dev/mtd1">Erasing rootfs partition</CMD>
        <CMD state="Updater" type="push" body="send" file="files/linux/uImage">Sending Kernel Image</CMD>
        <CMD state="Updater" type="push" body="$ nandwrite /dev/mtd1 -p $FILE">Flashing Kernel</CMD>

        <!--burn the rootfs to NAND: -->
        <CMD state="Updater" type="push" body="$ flash_erase /dev/mtd2 0 0">Erasing rootfs partition</CMD>
        <CMD state="Updater" type="push" body="$ ubiformat /dev/mtd2"/>
        <CMD state="Updater" type="push" body="$ ubiattach /dev/ubi_ctrl -m 2">Attaching UBI partition</CMD>
        <CMD state="Updater" type="push" body="$ ubimkvol /dev/ubi0 -Nrootfs -s67108864"/>
        <CMD state="Updater" type="push" body="$ mkdir -p /mnt/mtd2"/>
        <CMD state="Updater" type="push" body="$ mount -t ubifs ubi0:rootfs /mnt/mtd2"/>
        <CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd2" file="files/linux/rootfs.tar.bz2">Sending and writting rootfs</CMD>
        <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>
        <CMD state="Updater" type="push" body="$ umount /mnt/mtd2">Unmounting rootfs partition</CMD>

        <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
</LIST>

使用特权

评论回复
板凳
a151141|  楼主 | 2015-4-14 14:15 | 只看该作者
对应的串口监测到得信息,停在最后一行不动

U-Boot 2009.08-dirty (Nov 27 2013 - 10:51:14)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 177
Temperature:   28 C, calibration data 0x5604cc69
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: unknown-board Board: 0x63012 [POR ]
Boot Device: SPI NOR
I2C:   ready
DRAM:   1 GB
MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot:  0
## Booting kernel from Legacy Image at 10800000 ...
   Image Name:   Linux-3.0.35-2310-gc27cb38
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3154592 Bytes =  3 MB
   Load Address: 10008000
   Entry Point:  10008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 10c00000 ...
   Image Name:   uboot initramfs rootfs
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4543306 Bytes =  4.3 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-2310-gc27cb38 (r65388@shlinux3) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #1 SMP PREEMPT Tue Dec 18 19:48:45 CST 2012
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @8c008000 s5184 r8192 d15296 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc enable_wait_mode=off
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1024MB = 1024MB total
Memory: 1028728k/1028728k available, 19848k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)
    vmalloc : 0xc0800000 - 0xf2000000   ( 792 MB)
    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .init : 0x80008000 - 0x80039000   ( 196 kB)
      .text : 0x80039000 - 0x805a9968   (5571 kB)
      .data : 0x805aa000 - 0x805f3980   ( 295 kB)
       .bss : 0x805f39a4 - 0x8061e8b4   ( 172 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=2
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal

使用特权

评论回复
地板
a151141|  楼主 | 2015-4-14 14:17 | 只看该作者
MFGTool.log文件内容

DLL version: 2.0.8
Tuesday, April 14, 2015 13:56:48   Start new logging
ModuleID[1] LevelID[10]: Parse E:\DevelopedBoard\e9_cd\WindowsModuleID[1] LevelID[10]: Parse E:\DevelopedBoard\e9_cd\WindowsModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[00C33110]
ModuleID[2] LevelID[10]: Device Manager thread is running
ModuleID[1] LevelID[10]: Initialize Device Manager success
ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is E:\DevelopedBoard\e9_cd\WindowsModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is E:\DevelopedBoard\e9_cd\WindowsModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is E:\DevelopedBoard\e9_cd\WindowsModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: ExecuteCommand--Jump[WndIndex:0]
ModuleID[2] LevelID[10]: *********MxHidDevice[00C33110] Jump to Ramkernel successfully!**********
ModuleID[2] LevelID[10]: CmdOperation[0], current state command has been finished and the last command is successful, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_REMOVAL_EVT(\\?\USB#Vid_15a2&Pid_0054#5&94b8c27&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT(\\?\USB#Vid_15a2&Pid_0054#5&94b8c27&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, _devices.size: 1
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, devInstPathToFind: USB\VID_15A2&PID_0054\5&94B8C27&0&3, _deviceInstanceID: USB\VID_15A2&PID_0054\5&94B8C27&0&3
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, Find the device
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_0054, Hub:5-Port:3
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT, Notify
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume Arrive/Remove or Device Arrive/Remove
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, m_p_usb_port is not NULL, so only refresh
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume/Device Remove
ModuleID[2] LevelID[1]: CmdOpreation[0]--set m_hDeviceRemoveEvent.
ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device remove1
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent()-DEVICE_REMOVAL_EVT, hDevCanDeleteEvent has been set
ModuleID[2] LevelID[10]: delete MxHidDevice[00C33110]
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_ARRIVAL_EVT(\\?\USB#Vid_066f&Pid_37ff#5&94b8c27&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT(\\?\USB#Vid_066f&Pid_37ff#5&94b8c27&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT,[Msc,DiskDeviceClass] vid_066f&pid_37ff, not handled
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - VOLUME_ARRIVAL_EVT(G)
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT(G)
ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice()  G
ModuleID[2] LevelID[10]: DeviceTypeDisk--_devices size: 1
ModuleID[2] LevelID[10]: Volume--StorageDisk, Disk->_driveNumber:1, Volume->_diskNumber:1
ModuleID[2] LevelID[10]: DeviceTypeDisk--find Disk device: 00C383F0
ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 3
ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice() successful G add to current list, retrycount: 0
ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 3
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT-Disk(G), Hub:5-Port:3
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT, Notify
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume Arrive/Remove or Device Arrive/Remove
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, m_p_usb_port is not NULL, so only refresh
ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume/Device Arrive
ModuleID[2] LevelID[1]: CmdOpreation[0]--set m_hDeviceArriveEvent.
ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device arrive1
ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 1
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ echo hello12345
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ ls -l /dev/*
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ flash_eraseall /dev/mtd0
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 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

感觉可能有问题的部分,自己做了一下标记

使用特权

评论回复
5
后会无期1| | 2015-4-15 20:43 | 只看该作者
不太懂,希望有人解决一下

使用特权

评论回复
6
FSL_TICS_Rita| | 2015-4-21 18:22 | 只看该作者
楼主你好,请问你这里板子是参考飞思卡尔哪块开发板设计的呢?

使用特权

评论回复
7
FSL_TICS_Rita| | 2015-4-21 18:23 | 只看该作者
不知道楼主帖中的问题是否已经解决呢?

使用特权

评论回复
8
598330983| | 2015-4-21 20:34 | 只看该作者
密密麻麻的,我都不知道怎么看,不知道有人能看没。

使用特权

评论回复
9
FSL_TICS_Rita| | 2015-5-13 18:02 | 只看该作者
楼主你好,关于从往nand上烧写和从NAND启动,建议你参考一下板子SABRE for Automotive Infotainment Based on the i.MX 6 Series 。http://www.freescale.com/webapp/ ... ode=RDIMX6SABREAUTO,这块板子是支持从nand启动的。建议你参考这块板子来修改。

使用特权

评论回复
10
FSL_TICS_Rita| | 2015-5-13 18:04 | 只看该作者
非常感谢你关于i.mx的技术问题。如果你没有其他问题,我们将此帖默认为已解决。
如果没有解决,欢迎继续在这里讨论哈~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

15

帖子

0

粉丝