按文档将uImage_ipnc_dm368和ipnc_dm368.squashfs烧录到板子上,但无法启动。参数配置信息如下:
tftpboot 0x80700000 uImage_ipnc_dm368;tftpboot 0x82000000 ipnc_dm368.squashfs
nand erase 0x500000 0x400000;nand write 0x80700000 0x500000 0x400000
nand erase 0x900000 0x1000000;nand write 0x82000000 0x900000 0x1000000
setenv bootcmd 'nboot 0x80700000 0 0x500000;bootm 0x80700000'
setenv bootargs 'mem=48M console=ttyS0,115200n8 root=/dev/mtdblock3 rootfstype=squashfs ip=dhcp eth=$(ethaddr) lpj=1077248 cmemk.phys_start="0x83000000" cmemk.phys_end="0x88000000" cmemk.phys_start_1="0x00001000" cmemk.phys_end_1="0x00008000" cmemk.pools_1="1×28672" cmemk.allowOverlap="1" '
saveenv;reset
板子重启后log如下:
NAND read: device 0 offset 0x500000, size 0x400000
4194304 bytes read: OK
## Booting kernel from Legacy Image at 80007fc0 …
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2650052 Bytes = 2.5 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK
Starting kernel …
[ 0.000000] Linux version 2.6.18_pro500-davinci_IPNC_DM368_3.0.0 (root@henry-desktop) (gcc version 4.2.0 (MontaVista 4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Thu May 9 15:44:58 CST 2013
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] Machine: DaVinci DM368 IPNC
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] DaVinci DM0365 variant 0x8
[ 0.000000] PLL0: fixedrate: 24000000, commonrate: 170000000, vpssrate: 340000000
[ 0.000000] PLL0: vencrate_sd: 75555555, ddrrate: 340000000 mmcsdrate: 48571428
[ 0.000000] PLL1: armrate: 432000000, voicerate: 20571428, vencrate_hd: 27000000
[ 0.000000] CPU0: D VIVT write-back cache
[ 0.000000] CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
[ 0.000000] CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
[ 0.000000] Built 1 zonelists. Total pages: 12288
[ 0.000000] Kernel command line: mem=48M console=ttyS0,115200n8 root=/dev/mtdblock3 rootfstype=squashfs ip=dhcp eth=$(ethaddr) lpj=1077248 cmemk.phys_start="0x83000000" cmemk.phys_end="0x88000000" cmemk.phys_start_1="0x00001000" cmemk.phys_end_1="0x00008000" cmemk.pools_1="1×28672" cmemk.allowOverlap="1"
[ 0.000000] TI DaVinci EMAC: kernel boot params Ethernet address: $(ethaddr)
[ 0.000000] PID hash table entries: 256 (order: 8, 1024 bytes)
[ 0.000000] Clock event device timer0_0 configured with caps set: 07
[ 0.000000] Console: colour dummy device 80×30
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 48MB = 48MB total
[ 0.000000] Memory: 45872KB available (2285K code, 276K data, 172K init)
[ 0.000000] Calibrating delay loop (skipped)… 215.44 BogoMIPS preset
[ 0.000000] Security Framework v1.0.0 initialized
[ 0.000000] Capability LSM initialized
[ 0.000000] Mount-cache hash table entries: 512
[ 0.000000] CPU: Testing write buffer coherency: ok
[ 0.010000] NET: Registered protocol family 16
[ 0.010000] DaVinci: 104 gpio irqs
[ 0.010000] MUX: initialized GPIO20
[ 0.010000] MUX: initialized I2C_SCL
[ 0.010000] Generic PHY: Registered new driver
[ 0.010000] ch0 default output "COMPOSITE", mode "NTSC"
[ 0.010000] VPBE Encoder Initialized
[ 0.020000] SCSI subsystem initialized
[ 0.020000] NET: Registered protocol family 2
[ 0.110000] IP route cache hash table entries: 512 (order: -1, 2048 bytes)
[ 0.110000] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.110000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.110000] TCP: Hash tables configured (established 2048 bind 1024)
[ 0.110000] TCP reno registered
[ 0.120000] VFS: Disk quotas dquot_6.5.1
[ 0.120000] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.120000] squashfs: version 3.1 (2006/08/19) Phillip Lougher
[ 0.120000] JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
[ 0.130000] Initializing Cryptographic API
[ 0.130000] io scheduler noop registered
[ 0.130000] io scheduler anticipatory registered (default)
[ 0.130000] io scheduler deadline registered
[ 0.130000] io scheduler cfq registered
[ 0.160000] CSL: Module install successful, device major num = 253[ 0.160000] CSL: Module version 0.10.00, built on May 9 2013 15:37:02[ 0.160000] I2C: Module install successful, device major num = 252[ 0.160000] DMA: Module install successful, device major num = 251[ 0.160000] DRV: Module install successful
[ 0.160000] DRV: Module built on May 9 2013 15:37:03[ 0.160000] DRV: EDMACC.QUEPRI = 00002777
[ 0.160000] DRV: SYSTEM.MSTPRI0 = 00440011
[ 0.160000] DRV: SYSTEM.MSTPRI1 = 00000444
[ 0.160000] DRV: ISP.BCR = 00000002
[ 0.160000] DRV: SYSTEM.MISC = 00000399
[ 0.160000] EDMAK module: built on May 9 2013 at 15:36:50
[ 0.160000] Reference Linux version 2.6.18
[ 0.160000] File /home/workdir/dm368/dvsdk_ipnctools/linuxutils_2_24_03/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
[ 0.160000] IRQK module: built on May 9 2013 at 15:36:50
[ 0.160000] Reference Linux version 2.6.18
[ 0.160000] File /home/workdir/dm368/dvsdk_ipnctools/linuxutils_2_24_03/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
[ 0.160000] irqk initialized
[ 0.160000] CMEMK module: built on May 9 2013 at 15:36:49
[ 0.160000] Reference Linux version 2.6.18
[ 0.160000] File /home/workdir/dm368/dvsdk_ipnctools/linuxutils_2_24_03/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[ 0.170000] allocated heap buffer 0xc4000000 of size 0x5000000
[ 0.170000] CMEM Range Overlaps Kernel Physical – allowing overlap
[ 0.170000] CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
[ 0.170000] cmemk initialized
[ 0.170000] Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
[ 0.170000] serial8250.0: ttyS0 at MMIO map 0x1d06000 mem 0xfbd06000 (irq = 41) is a 16550A
[ 0.180000] RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
[ 0.190000] Davinci EMAC MII Bus: probed
[ 0.200000] MAC address is $(ethaddr)
[ 0.200000] TI DaVinci EMAC Linux version updated 4.0
[ 0.210000] Linux video capture interface: v2.00
[ 0.210000] Trying to register davinci display video device.
[ 0.220000] layer=c0521200,layer->video_dev=c0521360
[ 0.220000] Trying to register davinci display video device.
[ 0.230000] layer=c0521000,layer->video_dev=c0521160
[ 0.240000] davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
[ 0.240000] i2c /dev entries driver
[ 0.250000] nand_davinci nand_davinci.0: Using 4-bit hardware ECC
[ 0.250000] NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
[ 0.270000] Creating 6 MTD partitions on "nand_davinci.0":
[ 0.270000] 0x00000000-0x00300000 : "bootloader"
[ 0.280000] 0x00300000-0x00500000 : "params"
[ 0.280000] 0x00500000-0x00900000 : "kernel"
[ 0.290000] 0x00900000-0x02100000 : "filesystem"
[ 0.300000] 0x02100000-0x02300000 : "data1"
[ 0.300000] 0x02300000-0x08000000 : "data2"
[ 0.310000] nand_davinci nand_davinci.0: hardware revision: 2.3
[ 0.310000] rtc_davinci_dm365 rtc_davinci_dm365.0: rtc intf: proc
[ 0.320000] rtc_davinci_dm365 rtc_davinci_dm365.0: rtc intf: dev (254:0)
[ 0.330000] rtc_davinci_dm365 rtc_davinci_dm365.0: rtc core: registered rtc_davinci_dm365 as rtc0
[ 0.340000] Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).
[ 0.350000] ASoC version 0.13.1
[ 0.350000] CQ0093 Voice Codec 0.1
[ 0.360000] asoc: cq93vc <-> davinci-vcif mapping ok
[ 0.370000] ALSA device list:
[ 0.370000] #0: On-chip voice codec (cq93vc)
[ 0.370000] IPv4 over IPv4 tunneling driver
[ 0.380000] TCP bic registered
[ 0.380000] NET: Registered protocol family 1
[ 0.390000] NET: Registered protocol family 17
[ 0.390000] rtc_davinci_dm365 rtc_davinci_dm365.0: setting the system clock to 2000-01-01 00:00:00 (946684800)
[ 0.400000] Time: timer0_1 clocksource has been installed.
[ 0.410000] Clock event device timer0_0 configured with caps set: 08
[ 0.410000] Switched to high resolution mode on CPU 0
[ 0.450000] Sending DHCP requests …, OK
[ 8.470000] IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.1.134
[ 8.470000] IP-Config: Complete:
[ 8.480000] device=eth0, addr=192.168.1.134, mask=255.255.255.0, gw=192.168.1.1,
[ 8.480000] host=192.168.1.134, domain=, nis-domain=(none),
[ 8.500000] bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=
[ 8.510000] attempt to access beyond end of device
[ 8.510000] mtdblock3: rw=0, want=4292870144, limit=49152
[ 8.530000] SQUASHFS error: sb_bread failed reading block 0xffefffff
[ 8.530000] SQUASHFS error: Unable to read cache block [ffffffffbfffffff:1db0]
[ 8.530000] SQUASHFS error: Unable to read inode [e66726:620]
[ 8.550000] No filesystem could mount root, tried: squashfs
[ 8.550000] Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
[ 8.550000]
请问这是什么问题?
Louis:
你是单独刷了内核和文件系统么?有没有尝试把整个flash都擦掉,然后全部从新刷一遍试一下?
yiqiang zuo:
是不是文件系统区域有坏块?我目前也有跟你差不多的问题,如果文件系统区域有坏块的话,系统是起不来的,我现在也在想办法解决这个问题
rain zhou:
回复 Louis:
是单独刷的,但整个flash擦掉,重新刷也不行。。。
rain zhou:
回复 yiqiang zuo:
yiqiang zuo
是不是文件系统区域有坏块?我目前也有跟你差不多的问题,如果文件系统区域有坏块的话,系统是起不来的,我现在也在想办法解决这个问题