DM368内核烧进NAND 中,之后启动,开始有打印信息
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
2 NAND chips detected
Creating 5 MTD partitions on "davinci_nand.0":
0x000000000000-0x000000f00000 : "bootloader"
0x000000f00000-0x000001000000 : "params"
0x000001000000-0x000001400000 : "kernel"
0x000001400000-0x000021400000 : "filesystem1"
0x000021400000-0x000080000000 : "filesystem2"
davinci_nand davinci_nand.0: controller rev. 2.3
之后进入用NFS挂载的文件系统,操作
target # mount /dev/mtdblock4 /mnt/nand -t jffs2
报错:
Empty flash at 0x1efa394c ends at 0x1efa3af0
BUG: soft lockup – CPU#0 stuck for 61s! [mount:1439]
Modules linked in: dm365mmap edmak irqk cmemk ipv6
Pid: 1439, comm: mount
CPU: 0 Not tainted (2.6.32.17-davinci1 #3)
PC is at nand_davinci_correct_4bit+0xc0/0x21c
LR is at nand_davinci_correct_4bit+0x84/0x21c
pc : [<c01e6ecc>] lr : [<c01e6e90>] psr: 80000013
sp : c164baf8 ip : c164baf8 fp : c164bb44
r10: c20ae000 r9 : c1213508 r8 : 000059b7
r7 : 000003ff r6 : 00006847 r5 : 000000fc r4 : 00003f01
r3 : 00030101 r2 : fed10000 r1 : c164baf8 r0 : c20ae000
Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 0005317f Table: 813e4000 DAC: 00000015
[<c002df0c>] (show_regs+0x0/0x50) from [<c006eec8>] (softlockup_tick+0x11c/0x184)
r5:000000c6 r4:00000089
[<c006edac>] (softlockup_tick+0x0/0x184) from [<c004c5d0>] (run_local_timers+0x1c/0x20)
[<c004c5b4>] (run_local_timers+0x0/0x20) from [<c004c60c>] (update_process_times+0x38/0x58)
[<c004c5d4>] (update_process_times+0x0/0x58) from [<c006438c>] (tick_sched_timer+0x90/0xc4)
r7:000000d4 r6:245c2108 r5:c164bab0 r4:c04242d8
[<c00642fc>] (tick_sched_timer+0x0/0xc4) from [<c005b7f0>] (__run_hrtimer+0xa8/0x104)
r7:7fffffff r6:c0423e18 r5:c04242d8 r4:c00642fc
[<c005b748>] (__run_hrtimer+0x0/0x104) from [<c005bb0c>] (hrtimer_interrupt+0x154/0x350)
r6:ffffffff r5:000000d4 r4:245c0d2d
[<c005b9b8>] (hrtimer_interrupt+0x0/0x350) from [<c0035b7c>] (timer_interrupt+0x1c/0x28)
[<c0035b60>] (timer_interrupt+0x0/0x28) from [<c006f554>] (handle_IRQ_event+0x44/0x114)
[<c006f510>] (handle_IRQ_event+0x0/0x114) from [<c00714f8>] (handle_edge_irq+0x148/0x1b4)
r7:c041eaf4 r6:00000020 r5:c0424e98 r4:c164a000
[<c00713b0>] (handle_edge_irq+0x0/0x1b4) from [<c002c070>] (asm_do_IRQ+0x70/0x8c)
r7:00000002 r6:00006847 r5:00000000 r4:00000020
[<c002c000>] (asm_do_IRQ+0x0/0x8c) from [<c002cb4c>] (__irq_svc+0x4c/0x90)
Exception stack(0xc164bab0 to 0xc164baf8)
baa0: c20ae000 c164baf8 fed10000 00030101
bac0: 00003f01 000000fc 00006847 000003ff 000059b7 c1213508 c20ae000 c164bb44
bae0: c164baf8 c164baf8 c01e6e90 c01e6ecc 80000013 ffffffff
r5:fec48000 r4:ffffffff
[<c01e6e0c>] (nand_davinci_correct_4bit+0x0/0x21c) from [<c01e15f0>] (nand_read_page_hwecc_oob_first+0x104/0x150)
[<c01e14ec>] (nand_read_page_hwecc_oob_first+0x0/0x150) from [<c01e4230>] (nand_do_read_ops+0x208/0x41c)
[<c01e4028>] (nand_do_read_ops+0x0/0x41c) from [<c01e47a0>] (nand_read+0x94/0xb8)
[<c01e470c>] (nand_read+0x0/0xb8) from [<c01dcb2c>] (part_read+0xac/0x100)
r9:00000000 r8:0000052f r6:c2180400 r5:00000000 r4:1efa3af8
重启系统,引导内核错误提示:Wrong Image Format for bootm command
第二天什么都没改,烧进NAND 中的内核可以正常启动 (与之前显示MTD信息的是同一内核,启动地址没变),其他显示信息都一样,就是看不到
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
2 NAND chips detected
Creating 5 MTD partitions on "davinci_nand.0":
0x000000000000-0x000000f00000 : "bootloader"
0x000000f00000-0x000001000000 : "params"
0x000001000000-0x000001400000 : "kernel"
0x000001400000-0x000021400000 : "filesystem1"
0x000021400000-0x000080000000 : "filesystem2"
davinci_nand davinci_nand.0: controller rev. 2.3
用NFS挂载的文件系统可以进入,在/dev下没有 /mtd* 之类信息
想请大家帮忙分析下原因,以及怎么解决,期待您的回复。
kooking:
你这儿有两片nand?前面的错误可能是内核没有选中支持jffs格式的选项,另外用CCS测试一下nand,看现在是否还正常
ann 1:
回复 kooking:
细看了下板子上NAND,只有一块;内核和uboot代码中相关NAND初始化值为2,后来均改为1,重编译,下载uboot和内核,内核仍然看不到MTD信息.我用的是sfh_DM36x.exe 把UBOOT下到板子里的。CCS 下 商家提供的nandwrite.out,nanderase.out ,运行后均报错:
data verification failed at address 0X8E000000
please veryfify target memory and memory map
运行自带ddr.out,显示01 Testing DDR… > Data test (quick) > Error = 0x7 > Addr test (quick) A16 (X) A17 (X) A18 (X) A19 (X) A20 (X) A21 (X) A22 (X) A23 (X) A24 (X) A25 (X) A26 (X) > Inv addr test (quick) A16 (X) A17 (X) A18 (X) A19 (X) A20 (X) A21 (X) A22 (X) A23 (X) A24 (X) A25 (X) A26 (X) FAIL… error code 359… quitting
不知道是不是NAND 有问题,还是其他什么问题。谢谢回复
kooking:
回复 ann 1:
DDR测试没有通过,不会还存在硬件故障吧