This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358 Uboot Nand 识别不到

Other Parts Discussed in Thread: AM3358

AM3358 的 Uboot 识别不了 Nand。该如何正确配置Uboot?

以下是所有的配置:

SDK 版本:ti-sdk-am335x-evm-08.00.00.00

Uboot版本:u-boot-2014.07-g7e537bf

config:am335x_evm_config

mux.c pinmux配置片段:

#ifdef CONFIG_NAND
static struct module_pin_mux nand_pin_mux[] = {
	{OFFSET(gpmc_ad0),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD0  */
	{OFFSET(gpmc_ad1),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD1  */
	{OFFSET(gpmc_ad2),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD2  */
	{OFFSET(gpmc_ad3),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD3  */
	{OFFSET(gpmc_ad4),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD4  */
	{OFFSET(gpmc_ad5),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD5  */
	{OFFSET(gpmc_ad6),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD6  */
	{OFFSET(gpmc_ad7),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD7  */
#ifdef CONFIG_SYS_NAND_BUSWIDTH_16BIT
	{OFFSET(gpmc_ad8),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD8  */
	{OFFSET(gpmc_ad9),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD9  */
	{OFFSET(gpmc_ad10),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD10 */
	{OFFSET(gpmc_ad11),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD11 */
	{OFFSET(gpmc_ad12),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD12 */
	{OFFSET(gpmc_ad13),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD13 */
	{OFFSET(gpmc_ad14),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD14 */
	{OFFSET(gpmc_ad15),	(MODE(0) | PULLUDDIS | RXACTIVE)}, /* AD15 */
#endif
	{OFFSET(gpmc_wait0),	(MODE(0) | PULLUP_EN | RXACTIVE)}, /* nWAIT */
	{OFFSET(gpmc_wpn),	(MODE(7) | PULLUP_EN)},		   /* nWP */
	{OFFSET(gpmc_csn0),	(MODE(0) | PULLUP_EN)},		   /* nCS */
	{OFFSET(gpmc_wen),	(MODE(0) | PULLDOWN_EN)},	   /* WEN */
	{OFFSET(gpmc_oen_ren),	(MODE(0) | PULLDOWN_EN)},	   /* OE */
	{OFFSET(gpmc_advn_ale),	(MODE(0) | PULLDOWN_EN)},	   /* ADV_ALE */
	{OFFSET(gpmc_be0n_cle),	(MODE(0) | PULLDOWN_EN)},	   /* BE_CLE */
	{-1},
};
*
*
*
       

       if (board_is_evm_sk(header)) {
		/* Starter Kit EVM */
		enable_uart0_pin_mux();
		enable_uart1_pin_mux();
		configure_module_pin_mux(i2c1_pin_mux);
		configure_module_pin_mux(gpio0_7_pin_mux);
		configure_module_pin_mux(rgmii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux_sk_evm);
		configure_module_pin_mux(nand_pin_mux);
	} 

下面是Uboot打印:
U-Boot SPL 2014.07-00107-gd28f2b9-dirty (Mar 20 2015 - 10:23:48)
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2014.07-00107-gd28f2b9-dirty (Jul 16 2015 - 11:01:15)

I2C:   ready
DRAM:  256 MiB
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot:  0 
U-Boot# 

 

以下是 自动生成的 config.h ,看上去Nand 已经被定义了。

/* Automatically generated - do not edit */
#define CONFIG_SERIAL1 1
#define CONFIG_CONS_INDEX 1
#define CONFIG_NAND 1
#define CONFIG_SYS_ARCH "arm"
#define CONFIG_SYS_CPU "armv7"
#define CONFIG_SYS_BOARD "am335x"
#define CONFIG_SYS_VENDOR "ti"
#define CONFIG_SYS_SOC "am33xx"
#define CONFIG_BOARDDIR board/ti/am335x
#include <config_cmd_defaults.h>
#include <config_defaults.h>
#include <configs/am335x_evm.h>
#include <asm/config.h>
#include <config_fallbacks.h>
#include <config_uncmd_spl.h>

  • 你的nand型号是什么

    另外没有识别的打印信息也贴出来

  • 最新更新一下,NAND 型号未识别的原因是 Nand没有焊接好,但目前又遇到新的问题:

    根文件系统(ubifs)挂载不上,出现 kernel panic.完整打印如下:

    U-Boot 2014.07-00107-gd28f2b9-dirty (Jul 17 2015 - 14:40:04)
    
    I2C:   ready
    DRAM:  256 MiB
    NAND:  256 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Card did not respond to voltage select!
    ** Bad device mmc 0 **
    Using default environment
    
    Net:   <ethaddr> not set. Validating first E-fuse MAC
    cpsw, usb_ether
    Hit any key to stop autoboot:  0 
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    Booting from nand ...
    
    NAND read: device 0 offset 0x80000, size 0x40000
     262144 bytes read: OK
    
    NAND read: device 0 offset 0x200000, size 0x800000
    size adjusted to 0x7e0000 (1 bad blocks)
    Skipping bad block 0x003c0000
     8257536 bytes read: OK
    Kernel image @ 0x82000000 [ 0x000000 - 0x415ab0 ]
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8e6fa000, end 8e705141 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.14.26-g2489c02 (jenkins@sdit-build02) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 Wed Feb 11 08:26:25 CST 2015
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine model: TI AM335x EVM-SK
    [    0.000000] cma: CMA: reserved 24 MiB at 8c800000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon )
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64512
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=9,2048 rootfstype=ubifs rootwait=1
    [    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] Memory: 224348K/260096K available (5791K kernel code, 313K rwdata, 2088K rodata, 269K init, 231K bss, 35748K reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc07ba054   (7881 kB)
    [    0.000000]       .init : 0xc07bb000 - 0xc07fe454   ( 270 kB)
    [    0.000000]       .data : 0xc0800000 - 0xc084e760   ( 314 kB)
    [    0.000000]        .bss : 0xc084e760 - 0xc0888738   ( 232 kB)
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000016] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
    [    0.000045] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000403] Console: colour dummy device 80x30
    [    0.000441] Calibrating delay loop... 548.86 BogoMIPS (lpj=2744320)
    [    0.049250] pid_max: default: 32768 minimum: 301
    [    0.049373] Security Framework initialized
    [    0.049442] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.049459] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.058802] CPU: Testing write buffer coherency: ok
    [    0.059328] Setting up static identity map for 0x805ad920 - 0x805ad978
    [    0.060555] devtmpfs: initialized
    [    0.063109] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.067940] ------------[ cut here ]------------
    [    0.067998] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2568 _init+0x3d0/0x41c()
    [    0.068012] omap_hwmod: mailbox: doesn't have mpu register target base
    [    0.068021] Modules linked in:
    [    0.068045] CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.26-g2489c02 #1
    [    0.068056] Backtrace: 
    [    0.068099] [<c0011268>] (dump_backtrace) from [<c0011404>] (show_stack+0x18/0x1c)
    [    0.068110]  r6:00000a08 r5:00000009 r4:cf06de40 r3:00000000
    [    0.068150] [<c00113ec>] (show_stack) from [<c05a602c>] (dump_stack+0x20/0x28)
    [    0.068180] [<c05a600c>] (dump_stack) from [<c00381f8>] (warn_slowpath_common+0x6c/0x8c)
    [    0.068201] [<c003818c>] (warn_slowpath_common) from [<c00382bc>] (warn_slowpath_fmt+0x38/0x40)
    [    0.068211]  r8:c07c6fdc r7:00000000 r6:00000000 r5:00000000 r4:c0812a48
    [    0.068246] [<c0038288>] (warn_slowpath_fmt) from [<c07c6a48>] (_init+0x3d0/0x41c)
    [    0.068256]  r3:c0708f8c r2:c070aa1c
    [    0.068293] [<c07c6678>] (_init) from [<c0024954>] (omap_hwmod_for_each+0x38/0x64)
    [    0.068303]  r10:c07f0550 r8:c07c6fdc r7:00000000 r6:c07c6678 r5:c080e0c0 r4:c0812a48
    [    0.068344] [<c002491c>] (omap_hwmod_for_each) from [<c07c7008>] (__omap_hwmod_setup_all+0x2c/0x48)
    [    0.068353]  r7:000000c6 r6:00000000 r5:00000001 r4:c07fdc54
    [    0.068385] [<c07c6fdc>] (__omap_hwmod_setup_all) from [<c00088b8>] (do_one_initcall+0xf4/0x150)
    [    0.068419] [<c00087c4>] (do_one_initcall) from [<c07bbbf0>] (kernel_init_freeable+0xf0/0x1b8)
    [    0.068429]  r10:c07f0550 r9:c07f0530 r8:c07bb4d0 r7:000000c6 r6:c084e780 r5:00000001
    [    0.068455]  r4:c07fdc54
    [    0.068489] [<c07bbb00>] (kernel_init_freeable) from [<c05a10a8>] (kernel_init+0x14/0xf4)
    [    0.068498]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c05a1094
    [    0.068523]  r4:c084e780
    [    0.068545] [<c05a1094>] (kernel_init) from [<c000e878>] (ret_from_fork+0x14/0x3c)
    [    0.068554]  r4:00000000 r3:cf06c000
    [    0.068615] ---[ end trace 721a8e11d87614cb ]---
    [    0.073914] omap_hwmod: tptc0 using broken dt data from edma
    [    0.074028] omap_hwmod: tptc1 using broken dt data from edma
    [    0.074130] omap_hwmod: tptc2 using broken dt data from edma
    [    0.078807] omap_hwmod: debugss: _wait_target_disable failed
    [    0.136646] pinctrl core: initialized pinctrl subsystem
    [    0.137992] regulator-dummy: no parameters
    [    0.140970] NET: Registered protocol family 16
    [    0.143691] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.147137] cpuidle: using governor ladder
    [    0.147157] cpuidle: using governor menu
    [    0.156595] syscon 44e10000.control_module: regmap [mem 0x44e10000-0x44e107fb] registered
    [    0.158650] platform 49000000.edma: alias fck already exists
    [    0.158687] platform 49000000.edma: alias fck already exists
    [    0.158708] platform 49000000.edma: alias fck already exists
    [    0.160325] OMAP GPIO hardware version 0.1
    [    0.173793] omap-gpmc 50000000.gpmc: could not find pctldev for node /pinmux@44e10800/nandflash_pins_s0, deferring probe
    [    0.173839] platform 50000000.gpmc: Driver omap-gpmc requests probe deferral
    [    0.177967] No ATAGs?
    [    0.177994] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.214320] bio: create slab <bio-0> at 0
    [    0.236231] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.237535] vbat: 5000 mV 
    [    0.238226] vtt: 1500 mV 
    [    0.242332] vgaarb: loaded
    [    0.243061] i2c-core: driver [palmas] using legacy suspend method
    [    0.243077] i2c-core: driver [palmas] using legacy resume method
    [    0.244060] SCSI subsystem initialized
    [    0.246077] usbcore: registered new interface driver usbfs
    [    0.246346] usbcore: registered new interface driver hub
    [    0.246618] usbcore: registered new device driver usb
    [    0.247903] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
    [    0.247940] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [    0.248448] pps_core: LinuxPPS API ver. 1 registered
    [    0.248463] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.248657] PTP clock support registered
    [    0.251257] Advanced Linux Sound Architecture Driver Initialized.
    [    0.253434] Switched to clocksource timer1
    [    0.280494] NET: Registered protocol family 2
    [    0.281657] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.281709] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.281749] TCP: Hash tables configured (established 2048 bind 2048)
    [    0.281829] TCP: reno registered
    [    0.281847] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.281881] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.282147] NET: Registered protocol family 1
    [    0.282607] RPC: Registered named UNIX socket transport module.
    [    0.282623] RPC: Registered udp transport module.
    [    0.282631] RPC: Registered tcp transport module.
    [    0.282641] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.284076] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
    [    0.287695] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.527940] VFS: Disk quotas dquot_6.5.2
    [    0.528023] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.528690] NFS: Registering the id_resolver key type
    [    0.528785] Key type id_resolver registered
    [    0.528798] Key type id_legacy registered
    [    0.528855] jffs2: version 2.2. (NAND) (SUMMARY)  漏 2001-2006 Red Hat, Inc.
    [    0.529076] msgmni has been set to 486
    [    0.531060] NET: Registered protocol family 38
    [    0.531113] io scheduler noop registered
    [    0.531125] io scheduler deadline registered
    [    0.531153] io scheduler cfq registered (default)
    [    0.533373] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.537886] backlight.7 supply power not found, using dummy regulator
    [    0.542511] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.546784] omap_uart 44e09000.serial: no wakeirq for uart0
    [    0.546981] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
    [    1.396648] console [ttyO0] enabled
    [    1.401182] omap_uart 48022000.serial: no wakeirq for uart0
    [    1.407350] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1
    [    1.418849] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    1.426382] [drm] Initialized drm 1.1.0 20060810
    [    1.446449] brd: module loaded
    [    1.457410] loop: module loaded
    [    1.461172] (hci_tty): inside hci_tty_init
    [    1.466139] (hci_tty): allocated 249, 0
    [    1.475233] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.487199] usbcore: registered new interface driver asix
    [    1.493168] usbcore: registered new interface driver ax88179_178a
    [    1.499805] usbcore: registered new interface driver cdc_ether
    [    1.506226] usbcore: registered new interface driver smsc95xx
    [    1.512514] usbcore: registered new interface driver net1080
    [    1.518669] usbcore: registered new interface driver cdc_subset
    [    1.525147] usbcore: registered new interface driver zaurus
    [    1.531340] usbcore: registered new interface driver cdc_ncm
    [    1.537967] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.544856] ehci-pci: EHCI PCI platform driver
    [    1.549810] ehci-omap: OMAP-EHCI Host Controller driver
    [    1.555950] usbcore: registered new interface driver cdc_wdm
    [    1.562206] usbcore: registered new interface driver usb-storage
    [    1.569956] mousedev: PS/2 mouse device common for all mice
    [    1.577559] TI-am335x-tsc TI-am335x-tsc: ti,charge-delay not specified
    [    1.585116] input: ti-tsc as /devices/ocp.3/44e0d000.tscadc/TI-am335x-tsc/input/input0
    [    1.595421] i2c-core: driver [rtc-ds1307] using legacy suspend method
    [    1.602187] i2c-core: driver [rtc-ds1307] using legacy resume method
    [    1.609895] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [    1.618470] i2c /dev entries driver
    [    1.622359] Driver for 1-wire Dallas network protocol.
    [    1.630704] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.640432] 48060000.mmc supply vmmc not found, using dummy regulator
    [    1.648155] omap_hsmmc 48060000.mmc: could not set regulator OCR (-22)
    [    1.697595] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.704489] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    1.712350] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    1.721667] usbcore: registered new interface driver usbhid
    [    1.727562] usbhid: USB HID core driver
    [    1.731909] platform 44d00000.wkup_m3: Driver wkup_m3 requests probe deferral
    [    1.743509] oprofile: using arm/armv7
    [    1.747750] TCP: cubic registered
    [    1.751231] Initializing XFRM netlink socket
    [    1.755851] NET: Registered protocol family 17
    [    1.760568] NET: Registered protocol family 15
    [    1.765394] Key type dns_resolver registered
    [    1.770683] cpu cpu0: dev_pm_opp_add: duplicate OPPs detected. Existing: freq: 720000000, volt: 1200000, enabled: 1. New: freq: 720000000, volt: 1285000, enabled: 1
    [    1.786166] cpu cpu0: of_init_opp_table: Failed to add OPP 720000000
    [    1.792920] cpu cpu0: dev_pm_opp_add: duplicate OPPs detected. Existing: freq: 600000000, volt: 1100000, enabled: 1. New: freq: 600000000, volt: 1225000, enabled: 1
    [    1.808361] cpu cpu0: of_init_opp_table: Failed to add OPP 600000000
    [    1.815178] cpufreq_cpu0: failed to get cpu0 clock: -2
    [    1.820593] cpufreq-cpu0: probe of cpufreq-cpu0.0 failed with error -2
    [    1.828274] PM: bootloader does not support rtc-only!
    [    1.833735] ThumbEE CPU extension supported.
    [    1.838254] Registering SWP/SWPB emulation handler
    [    1.845271] vbat: disabling
    [    1.848220] regulator-dummy: disabling
    [    1.855553] tilcdc 4830e000.lcdc: no encoders/connectors found
    [    1.861709] tilcdc 4830e000.lcdc: failed to initialize mode setting
    [    1.870164] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.875636] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.882238] gpmc_probe_nand_child: ti,nand-ecc-opt invalid value
    [    1.889818] nand: Could not find valid ONFI parameter page; aborting
    [    1.896561] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xda
    [    1.903227] nand: Hynix NAND 256MiB 3,3V 8-bit
    [    1.907908] nand: 256MiB, SLC, page size: 2048, OOB size: 64
    [    1.914027] 10 ofpart partitions found on MTD device omap2-nand.0
    [    1.920423] Creating 10 MTD partitions on "omap2-nand.0":
    [    1.926117] 0x000000000000-0x000000020000 : "SPL"
    [    1.933320] 0x000000020000-0x000000040000 : "SPL_backup1"
    [    1.941139] 0x000000040000-0x000000060000 : "SPL_backup2"
    [    1.948909] 0x000000060000-0x000000080000 : "SPL_backup3"
    [    1.956729] 0x000000080000-0x0000000c0000 : "dtb"
    [    1.963931] 0x0000000c0000-0x0000001c0000 : "U-boot"
    [    1.971998] 0x0000001c0000-0x0000001e0000 : "env"
    [    1.978996] 0x0000001e0000-0x000000200000 : "env_backup1"
    [    1.986721] 0x000000200000-0x000000a00000 : "Kernel"
    [    2.000482] 0x000000a00000-0x000010000000 : "File-System"
    [    2.216498] DCDC1: at 1500 mV 
    [    2.221040] vdd_mpu: 925 <--> 1325 mV at 1100 mV 
    [    2.227278] vdd_core: 925 <--> 1150 mV at 1100 mV 
    [    2.233552] LDO1: at 1800 mV 
    [    2.237901] LDO2: at 3300 mV 
    [    2.242261] LDO3: at 1800 mV 
    [    2.246646] LDO4: at 3300 mV 
    [    2.251063] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [    2.256720] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    2.263120] wkup_m3 44d00000.wkup_m3: invalid resource
    [    2.268745]  remoteproc0: wkup_m3 is available
    [    2.273413]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [    2.282838]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    2.293873]  remoteproc0: Direct firmware load failed with error -2
    [    2.300448]  remoteproc0: Falling back to user helper
    [    2.306747] UBI: attaching mtd9 to ubi0
    [    2.311104] __nand_correct_data: uncorrectable ECC error
    [    2.316568] UBI warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
    [    2.328939] __nand_correct_data: uncorrectable ECC error
    [    2.334377] UBI warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
    [    2.346243] __nand_correct_data: uncorrectable ECC error
    [    2.351636] UBI warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
    [    2.363507] __nand_correct_data: uncorrectable ECC error
    [    2.368900] UBI error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read 64 bytes
    [    2.379416] CPU: 0 PID: 1 Comm: swapper Tainted: G        W    3.14.26-g2489c02 #1
    [    2.387368] Backtrace: 
    [    2.389979] [<c0011268>] (dump_backtrace) from [<c0011404>] (show_stack+0x18/0x1c)
    [    2.397931]  r6:cf2b7000 r5:00000040 r4:ffffffb6 r3:00000000
    [    2.403921] [<c00113ec>] (show_stack) from [<c05a602c>] (dump_stack+0x20/0x28)
    [    2.411507] [<c05a600c>] (dump_stack) from [<c03d5eb4>] (ubi_io_read+0x128/0x2ec)
    [    2.419376] [<c03d5d8c>] (ubi_io_read) from [<c03d6294>] (ubi_io_read_ec_hdr+0x4c/0x1f0)
    [    2.427873]  r10:c08807a4 r9:00000000 r8:00000000 r7:cf35dc00 r6:00000000 r5:cf2b7000
    [    2.436127]  r4:cf335a14
    [    2.438798] [<c03d6248>] (ubi_io_read_ec_hdr) from [<c03da714>] (ubi_attach+0x140/0x1310)
    [    2.447384]  r10:c08807a4 r9:00000000 r8:cf335a00 r7:cf2b7000 r6:00000000 r5:cf320000
    [    2.455637]  r4:cf335a14
    [    2.458318] [<c03da5d4>] (ubi_attach) from [<c03d0d48>] (ubi_attach_mtd_dev+0x5e0/0xbb0)
    [    2.466815]  r10:cf320000 r9:00000028 r8:000007ff r7:cf2b7000 r6:00000000 r5:cf320000
    [    2.475069]  r4:333337d0
    [    2.477747] [<c03d0768>] (ubi_attach_mtd_dev) from [<c07dea08>] (ubi_init+0x1f4/0x2c4)
    [    2.486062]  r10:cf320000 r9:c07f92f4 r8:c07f92f4 r7:0000004c r6:c07f92f0 r5:00000000
    [    2.494313]  r4:00000000
    [    2.496983] [<c07de814>] (ubi_init) from [<c00088b8>] (do_one_initcall+0xf4/0x150)
    [    2.504933]  r10:c07f0550 r9:cf06c000 r8:c07de814 r7:000000c6 r6:00000000 r5:00000007
    [    2.513172]  r4:c07fe384
    [    2.515867] [<c00087c4>] (do_one_initcall) from [<c07bbbf0>] (kernel_init_freeable+0xf0/0x1b8)
    [    2.524911]  r10:c07f0550 r9:c07f0548 r8:c07bb4d0 r7:000000c6 r6:c084e780 r5:00000007
    [    2.533150]  r4:c07fe384
    [    2.535847] [<c07bbb00>] (kernel_init_freeable) from [<c05a10a8>] (kernel_init+0x14/0xf4)
    [    2.544437]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c05a1094
    [    2.552676]  r4:c084e780
    [    2.555359] [<c05a1094>] (kernel_init) from [<c000e878>] (ret_from_fork+0x14/0x3c)
    [    2.563296]  r4:00000000 r3:cf06c000
    [    2.567084] UBI error: validate_ec_hdr: bad VID header offset 512, expected 2048
    [    2.574852] UBI error: validate_ec_hdr: bad EC header
    [    2.580149] Erase counter header dump:
    [    2.584090] 	magic          0x55424923
    [    2.588018] 	version        1
    [    2.591126] 	ec             10
    [    2.594338] 	vid_hdr_offset 512
    [    2.597629] 	data_offset    2048
    [    2.601010] 	image_seq      0
    [    2.604130] 	hdr_crc        0xce3f4efa
    [    2.608058] erase counter header hexdump:
    [    2.612304] CPU: 0 PID: 1 Comm: swapper Tainted: G        W    3.14.26-g2489c02 #1
    [    2.620253] Backtrace: 
    [    2.622834] [<c0011268>] (dump_backtrace) from [<c0011404>] (show_stack+0x18/0x1c)
    [    2.630784]  r6:cf35dc00 r5:00000000 r4:0000000a r3:00000000
    [    2.636771] [<c00113ec>] (show_stack) from [<c05a602c>] (dump_stack+0x20/0x28)
    [    2.644368] [<c05a600c>] (dump_stack) from [<c03d5858>] (validate_ec_hdr+0x98/0xf4)
    [    2.652405] [<c03d57c0>] (validate_ec_hdr) from [<c03d636c>] (ubi_io_read_ec_hdr+0x124/0x1f0)
    [    2.661357]  r7:cf35dc00 r6:00000000 r5:cf2b7000 r4:ffffffb6
    [    2.667337] [<c03d6248>] (ubi_io_read_ec_hdr) from [<c03da714>] (ubi_attach+0x140/0x1310)
    [    2.675924]  r10:c08807a4 r9:00000000 r8:cf335a00 r7:cf2b7000 r6:00000000 r5:cf320000
    [    2.684178]  r4:cf335a14
    [    2.686851] [<c03da5d4>] (ubi_attach) from [<c03d0d48>] (ubi_attach_mtd_dev+0x5e0/0xbb0)
    [    2.695347]  r10:cf320000 r9:00000028 r8:000007ff r7:cf2b7000 r6:00000000 r5:cf320000
    [    2.703599]  r4:333337d0
    [    2.706271] [<c03d0768>] (ubi_attach_mtd_dev) from [<c07dea08>] (ubi_init+0x1f4/0x2c4)
    [    2.714585]  r10:cf320000 r9:c07f92f4 r8:c07f92f4 r7:0000004c r6:c07f92f0 r5:00000000
    [    2.722823]  r4:00000000
    [    2.725505] [<c07de814>] (ubi_init) from [<c00088b8>] (do_one_initcall+0xf4/0x150)
    [    2.733454]  r10:c07f0550 r9:cf06c000 r8:c07de814 r7:000000c6 r6:00000000 r5:00000007
    [    2.741693]  r4:c07fe384
    [    2.744376] [<c00087c4>] (do_one_initcall) from [<c07bbbf0>] (kernel_init_freeable+0xf0/0x1b8)
    [    2.753405]  r10:c07f0550 r9:c07f0548 r8:c07bb4d0 r7:000000c6 r6:c084e780 r5:00000007
    [    2.761658]  r4:c07fe384
    [    2.764342] [<c07bbb00>] (kernel_init_freeable) from [<c05a10a8>] (kernel_init+0x14/0xf4)
    [    2.772917]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c05a1094
    [    2.781169]  r4:c084e780
    [    2.783853] [<c05a1094>] (kernel_init) from [<c000e878>] (ret_from_fork+0x14/0x3c)
    [    2.791789]  r4:00000000 r3:cf06c000
    [    2.795562] UBI error: ubi_io_read_ec_hdr: validation failed for PEB 0
    [    2.802423] UBI error: ubi_attach_mtd_dev: failed to attach mtd9, error -22
    [    2.809776] UBI error: ubi_init: cannot attach mtd9
    [    2.873502] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    2.879916] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
    [    2.888192] libphy: 4a101000.mdio: probed
    [    2.892419] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Atheros 8031 ethernet
    [    2.902135] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Atheros 8031 ethernet
    [    2.912873] cpsw 4a100000.ethernet: Detected MACID = 68:c9:0b:74:50:65
    [    2.921400] cpsw 4a100000.ethernet: cpsw: Detected MACID = 68:c9:0b:74:50:67
    [    2.931844] input: gpio_buttons.6 as /devices/gpio_buttons.6/input/input1
    [    2.940027] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:02 UTC (946684802)
    [    2.952981] ALSA device list:
    [    2.956193]   No soundcards found.
    [    2.960488] UBIFS error (pid 1): ubifs_mount: cannot open "ubi0:rootfs", error -19
    [    2.968502] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0): error -19
    [    2.976917] Please append a correct "root=" boot option; here are the available partitions:
    [    2.985733] 1f00             128 mtdblock0  (driver?)
    [    2.991045] 1f01             128 mtdblock1  (driver?)
    [    2.996369] 1f02             128 mtdblock2  (driver?)
    [    3.001674] 1f03             128 mtdblock3  (driver?)
    [    3.007000] 1f04             256 mtdblock4  (driver?)
    [    3.012304] 1f05            1024 mtdblock5  (driver?)
    [    3.017626] 1f06             128 mtdblock6  (driver?)
    [    3.022931] 1f07             128 mtdblock7  (driver?)
    [    3.028253] 1f08            8192 mtdblock8  (driver?)
    [    3.033573] 1f09          251904 mtdblock9  (driver?)
    [    3.038878] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

    分区看上去已经正确识别,并尝试挂载文件系统。mtd9 

    根据 http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/66208.aspx

    按照上面修改了两点:

    1. 修改 ecc-opt 为 "none"

    nand-bus-width = <8>;
    ti,nand-ecc-opt = "none";
    gpmc,device-nand = "true";

    2. 修改启动参数:

    bootargs中的ubi.mtd=NAND.rootfs 直接改成mtd partition id了:ubi.mtd=9

    结果依然如此,谢谢你的回复,期待解决问题方法。

  • Kernel启动参数:

    bootargs=console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=9,2048 rootfstype=ubifs rootwait=1

  • 找到原因了,ELM 首先需要在 device tree中打开,

    http://processors.wiki.ti.com/index.php/Linux_Core_NAND_User%27s_Guide

    搜索 elm,这样配置 bch8 校验,Linux不会因为缺失 ELM 启动失败。

    http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/59921.aspx

    根据文中的描述,烧写 ROOTFS 使用 nand write 即可,不需要 ubi write ,因为UBOOT中, ubi 分许,sub page 默认是 512,而且貌似有较大的问题,直接根据文档来做ROOTFS 并烧写。

    记得,关注:

    http://www.360doc.com/content/14/1018/14/18578054_417913216.shtml

    这篇文章中对一些常见的启动 ERROR 做了介绍,如果遇到先看看。