Part Number:AM3354Other Parts Discussed in Thread:TPS65910, , AM3352
TI fae及各位大侠好:
当前使用am3354平台,搭配镁光ddr3 SCB13H2G160AF(256MB),镁光nand flash MX30LF4G18AC MT29F4G08ABADA (512MB),PMIC为tps65910
编译sdk07.03.00,其u-boot为2020.01, linux内核为5.4.106
编译好u-boot 2020.01通过串口更新下载,然后搭建tftp加载引导内核dtb和image,系统启动后,卡在Unhandled fault: external abort on non-linefetch (0x1008) at 0xd02e6000,具体日志如下:
linux内核5.4.106选用config和dts分别为:tisdk_am335x-evm_defconfig和am335x-evm.dts
编译内核的步骤如下:
$ cd source_code/ti-processor-sdk-linux-am335x-evm-07.03.00.005/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70
$ source ./environment-setup
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- distclean$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- tisdk_am335x-evm_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- am335x-evm.dtb //支持nand flash
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- LOADADDR=0x80008000 uImage
tftp网络加载内核dtb和uImage如下:
set bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.7.170:/home/d/wangyuan/imac120/ti-processor-sdk-linux-am335x-evm-07.03.00.005/targetNFS ip=192.168.7.235:::::eth0:off console=ttyO0,115200n8 loglevel=8
setenv ipaddr 192.168.7.235
setenv gatewayip 192.168.7.1
setenv serverip 192.168.7.47
setenv netmask 255.255.255.0
tftp 0x82000000 uImage //参考u-boot环境变量(pri)进行设置
tftp 0x88000000 am335x-evm.dtb //参考u-boot环境变量(pri)进行设置
bootm 0x82000000 – 0x88000000
目前通过错误提示,也定位不到原因,帮忙具体看下:
通过arm-none-linux-gnueabihf-addr2line分析定位问题,具体出错如下:
[ 2.217383] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 2.223678] 8<— cut here —
[ 2.226766] Unhandled fault: external abort on non-linefetch (0x1008) at 0xd02e6000
[ 2.234462] pgd = 46ee4814
[ 2.237180] [d02e6000] *pgd=8f14e811, *pte=4a326653, *ppte=4a326453
[ 2.243495] Internal error: : 1008 [#1] PREEMPT ARM
[ 2.248396] Modules linked in:
[ 2.251475] CPU: 0 PID: 14 Comm: kworker/0:1 Not tainted 5.4.106-g023faefa70 #2
[ 2.258814] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 2.264967] Workqueue: events deferred_probe_work_func
[ 2.270141] PC is at sysc_probe+0x83c/0x1194
[ 2.274442] LR is at omap_reset_deassert+0xc4/0x210
[ 2.279339] pc : [<c046c6e4>] lr : [<c04eccdc>] psr: 60000013
[ 2.285633] sp : cf14de10 ip : 00000001 fp : 00000000
[ 2.290879] r10: ce06e4c0 r9 : 00000028 r8 : c0a2c79c
[ 2.296127] r7 : cf16c010 r6 : c0a2cc5c r5 : 00000000 r4 : ce05bb40
[ 2.302682] r3 : d02e6000 r2 : 00000000 r1 : 00026000 r0 : 00000000
[ 2.309241] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 2.316408] Control: 10c5387d Table: 80004019 DAC: 00000051
[ 2.322181] Process kworker/0:1 (pid: 14, stack limit = 0x99661a37)
[ 2.328475] Stack: (0xcf14de10 to 0xcf14e000)
pc : [<c046c6e4>] lr : [<c04eccdc>] psr: 60000013
分析编译生成的vmlinux,确定出错问题的位置行数
$ arm-none-linux-gnueabihf-addr2line -f -e vmlinux c046c6e4
__raw_readl
/home/****/***/ti-processor-sdk-linux-am335x-evm-07.03.00.005/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/./arch/arm/include/asm/io.h:113
vim ./arch/arm/include/asm/io.h +113
#define __raw_readl __raw_readl
static inline u32 __raw_readl(const volatile void __iomem *addr)
{
u32 val;
asm volatile("ldr %0, %1"
: "=r" (val)
: "Qo" (*(volatile u32 __force *)addr));
return val;
}
以上显示,汇编代码处理出错,属于io处理
log日志启动失败具体如下:
U-Boot 2020.01-dirty (Oct 22 2021 – 14:54:58 +0800)
CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM: 256 MiB
board_init
&cdev->miisel = 5
WDT: Started with servicing (60s timeout)
NAND: 512 MiB
MMC: OMAP SD/MMC: 0
Loading Environment from FAT… <ethaddr> not set. Validating first E-fuse MAC
Net: phy.c phy_probe
phy.c genphy_config_advert
phy_write 1st start
phy_write 1st
phy_write 2nd start
phy_write 2nd
phy.c genphy_restart_aneg
phy_write 4th
eth0: ethernet@4a100000
Hit any key to stop autoboot: 0
=> set bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.7.170:/home/d/wangyuan/imac120/ti-processor-sdk-linux-am335x-evm-07.03.00.005/targetNFS ip=192.168.7.235:::::eth0:off console=ttyO0,115200n8 loglevel=8
=> setenv ipaddr 192.168.7.235
=> setenv gatewayip 192.168.7.1
=> setenv serverip 192.168.7.47
=> setenv netmask 255.255.255.0
=> tftp 0x82000000 uImage
link up on port 0, speed 100, full duplex
Using ethernet@4a100000 device
TFTP from server 192.168.7.47; our IP address is 192.168.7.235
Filename 'uImage'.
Load address: 0x82000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#########################################################
2.2 MiB/s
done
Bytes transferred = 4649536 (46f240 hex)
=> tftp 0x88000000 am335x-evm.dtb
link up on port 0, speed 100, full duplex
Using ethernet@4a100000 device
TFTP from server 192.168.7.47; our IP address is 192.168.7.235
Filename 'am335x-evm.dtb'.
Load address: 0x88000000
Loading: #####
2 MiB/s
done
Bytes transferred = 63872 (f980 hex)
=> bootm 0x82000000 – 0x88000000
## Booting kernel from Legacy Image at 82000000 …
Image Name: Linux-5.4.106-g023faefa70
Created: 2021-11-01 7:03:48 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4649472 Bytes = 4.4 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Kernel Image
Loading Device Tree to 8df24000, end 8df3697f … OK
Starting kernel …
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.106-g023faefa70 (root@df131f57a6ff) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #3 PREEMPT Mon Nov 1 15:02:55 CST 2021
[ 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] OF: fdt: Machine model: TI AM335x EVM
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 48 MiB at 0x8a800000
[ 0.000000] On node 0 totalpages: 65280
[ 0.000000] Normal zone: 574 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 65280 pages, LIFO batch:15
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon)
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64706
[ 0.000000] Kernel command line: noinitrd root=/dev/nfs rw nfsroot=192.168.7.170:/home/d/wangyuan/imac120/ti-processor-sdk-linux-am335x-evm-07.03.00.005/targetNFS ip=192.168.7.235:::::eth0:off console=ttyO0,115200n8 loglevel=8
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 194180K/261120K available (9216K kernel code, 294K rwdata, 3092K rodata, 1024K init, 255K bss, 17788K reserved, 49152K cma-reserved, 0K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[ 0.000000] random: get_random_bytes called from start_kernel+0x2b4/0x470 with crng_init=0
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000024] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000052] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000065] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000443] timer_probe: no matching timers found
[ 0.000689] Console: colour dummy device 80×30
[ 0.000740] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 0.000748] This ensures that you still see kernel messages. Please
[ 0.000755] update your kernel commandline.
[ 0.000820] Calibrating delay loop… 597.60 BogoMIPS (lpj=2988032)
[ 0.118665] pid_max: default: 32768 minimum: 301
[ 0.118966] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.118986] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.120220] CPU: Testing write buffer coherency: ok
[ 0.120313] CPU0: Spectre v2: using BPIALL workaround
[ 0.121449] Setting up static identity map for 0x80100000 – 0x80100060
[ 0.121658] rcu: Hierarchical SRCU implementation.
[ 0.121769] EFI services will not be available.
[ 0.122266] devtmpfs: initialized
[ 0.138367] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.139009] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.139041] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.143767] pinctrl core: initialized pinctrl subsystem
[ 0.144869] DMI not present or invalid.
[ 0.145504] NET: Registered protocol family 16
[ 0.148864] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.179382] l3-aon-clkctrl:0000:0: failed to disable
[ 0.182123] cpuidle: using governor ladder
[ 0.182169] cpuidle: using governor menu
[ 0.206347] No ATAGs?
[ 0.206363] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.229739] debugfs: Directory '49000000.edma' with parent 'dmaengine' already present!
[ 0.229788] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.230767] reg-fixed-voltage fixedregulator0: GPIO lookup for consumer (null)
[ 0.230786] reg-fixed-voltage fixedregulator0: using device tree for GPIO lookup
[ 0.230822] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator0[0]'
[ 0.230847] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
[ 0.230866] reg-fixed-voltage fixedregulator0: using lookup tables for GPIO lookup
[ 0.230880] reg-fixed-voltage fixedregulator0: No GPIO consumer (null) found
[ 0.231297] reg-fixed-voltage fixedregulator1: GPIO lookup for consumer (null)
[ 0.231315] reg-fixed-voltage fixedregulator1: using device tree for GPIO lookup
[ 0.231343] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator1[0]'
[ 0.231366] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator1[0]'
[ 0.231381] reg-fixed-voltage fixedregulator1: using lookup tables for GPIO lookup
[ 0.231394] reg-fixed-voltage fixedregulator1: No GPIO consumer (null) found
[ 0.231742] reg-fixed-voltage fixedregulator-v1_8d: GPIO lookup for consumer (null)
[ 0.231759] reg-fixed-voltage fixedregulator-v1_8d: using device tree for GPIO lookup
[ 0.231786] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator-v1_8d[0]'
[ 0.231810] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-v1_8d[0]'
[ 0.231825] reg-fixed-voltage fixedregulator-v1_8d: using lookup tables for GPIO lookup
[ 0.231838] reg-fixed-voltage fixedregulator-v1_8d: No GPIO consumer (null) found
[ 0.232055] v1_8d: supplied by vbat
[ 0.232255] reg-fixed-voltage fixedregulator-v3_3d: GPIO lookup for consumer (null)
[ 0.232270] reg-fixed-voltage fixedregulator-v3_3d: using device tree for GPIO lookup
[ 0.232296] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator-v3_3d[0]'
[ 0.232319] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-v3_3d[0]'
[ 0.232334] reg-fixed-voltage fixedregulator-v3_3d: using lookup tables for GPIO lookup
[ 0.232348] reg-fixed-voltage fixedregulator-v3_3d: No GPIO consumer (null) found
[ 0.232551] v3_3d: supplied by vbat
[ 0.233888] iommu: Default domain type: Translated
[ 0.236985] SCSI subsystem initialized
[ 0.237672] mc: Linux media interface: v0.10
[ 0.237727] videodev: Linux video capture interface: v2.00
[ 0.237856] pps_core: LinuxPPS API ver. 1 registered
[ 0.237867] pps_core: Software ver. 5.3.6 – Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.237896] PTP clock support registered
[ 0.237944] EDAC MC: Ver: 3.0.0
[ 0.240107] Advanced Linux Sound Architecture Driver Initialized.
[ 0.241824] clocksource: Switched to clocksource timer1
[ 0.253196] thermal_sys: Registered thermal governor 'fair_share'
[ 0.253208] thermal_sys: Registered thermal governor 'bang_bang'
[ 0.253232] thermal_sys: Registered thermal governor 'step_wise'
[ 0.253241] thermal_sys: Registered thermal governor 'user_space'
[ 0.253251] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.254040] NET: Registered protocol family 2
[ 0.255101] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.255147] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.255186] TCP bind hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.255222] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.255363] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.255399] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.255597] NET: Registered protocol family 1
[ 0.256395] RPC: Registered named UNIX socket transport module.
[ 0.256414] RPC: Registered udp transport module.
[ 0.256422] RPC: Registered tcp transport module.
[ 0.256430] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.256452] PCI: CLS 0 bytes, default 64
[ 0.257756] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.259505] Initialise system trusted keyrings
[ 0.259960] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[ 0.267301] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.268405] NFS: Registering the id_resolver key type
[ 0.268463] Key type id_resolver registered
[ 0.268474] Key type id_legacy registered
[ 0.268549] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.269542] Key type asymmetric registered
[ 0.269560] Asymmetric key parser 'x509' registered
[ 0.269631] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[ 0.269646] io scheduler mq-deadline registered
[ 0.269656] io scheduler kyber registered
[ 0.276872] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
[ 0.277035] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
[ 0.277104] OMAP GPIO hardware version 0.1
[ 0.305388] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
[ 0.305530] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
[ 0.308235] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.325320] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
[ 0.325477] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
[ 0.327250] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
[ 0.327371] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
[ 0.337357] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[ 0.341416] pwm-backlight backlight: GPIO lookup for consumer enable
[ 0.341442] pwm-backlight backlight: using device tree for GPIO lookup
[ 0.341483] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
[ 0.341508] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
[ 0.341527] pwm-backlight backlight: using lookup tables for GPIO lookup
[ 0.341542] pwm-backlight backlight: No GPIO consumer enable found
[ 0.341579] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[ 0.411471] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 0.417795] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
[ 1.377557] printk: console [ttyS0] enabled
[ 1.385560] omap_rng 48310000.rng: Random Number Generator ver. 20
[ 1.391962] random: fast init done
[ 1.395655] random: crng init done
[ 1.423359] brd: module loaded
[ 1.436452] loop: module loaded
[ 1.447124] mdio_bus fixed-0: GPIO lookup for consumer reset
[ 1.453014] mdio_bus fixed-0: using lookup tables for GPIO lookup
[ 1.459145] mdio_bus fixed-0: No GPIO consumer reset found
[ 1.464707] libphy: Fixed MDIO Bus: probed
[ 1.474170] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
[ 1.480401] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
[ 1.486991] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000[0]'
[ 1.501788] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000[0]'
[ 1.516491] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
[ 1.523156] mdio_bus 4a101000.mdio: No GPIO consumer reset found
[ 1.581878] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 1.589578] libphy: 4a101000.mdio: probed
[ 1.594723] mdio_bus 4a101000.mdio:00: GPIO lookup for consumer reset
[ 1.601207] mdio_bus 4a101000.mdio:00: using device tree for GPIO lookup
[ 1.608095] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000/ethernet-phy@0[0]'
[ 1.624284] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000/ethernet-phy@0[0]'
[ 1.640334] mdio_bus 4a101000.mdio:00: using lookup tables for GPIO lookup
[ 1.647310] mdio_bus 4a101000.mdio:00: No GPIO consumer reset found
[ 1.654307] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[ 1.663793] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[ 1.670184] cpsw 4a100000.ethernet: ALE Table size 1024
[ 1.675596] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[ 1.682890] cpsw 4a100000.ethernet: Detected MACID = b0:7e:11:b4:ad:ae
[ 1.692124] i2c /dev entries driver
[ 1.699292] cpuidle: enable-method property 'ti,am3352' found operations
[ 1.706958] sdhci: Secure Digital Host Controller Interface driver
[ 1.713240] sdhci: Copyright(c) Pierre Ossman
[ 1.718926] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.726064] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.738633] NET: Registered protocol family 10
[ 1.744983] Segment Routing with IPv6
[ 1.748787] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.755881] NET: Registered protocol family 17
[ 1.760827] Key type dns_resolver registered
[ 1.765517] omap_voltage_late_init: Voltage driver support not added
[ 1.772927] Loading compiled-in X.509 certificates
[ 1.795195] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[ 1.800395] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[ 1.806763] gpiochip_find_base: found new base at 510
[ 1.812293] gpio gpiochip4: (omap-gpmc): added GPIO chardev (254:4)
[ 1.818715] gpiochip_setup_dev: registered GPIOs 510 to 511 on device: gpiochip4 (omap-gpmc)
[ 1.828723] omap2-nand 8000000.nand: GPIO lookup for consumer rb
[ 1.834865] omap2-nand 8000000.nand: using device tree for GPIO lookup
[ 1.841480] of_get_named_gpiod_flags: parsed 'rb-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]' – status (0)
[ 1.852507] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xdc
[ 1.858892] nand: Macronix MX30LF4G18AC
[ 1.862773] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[ 1.870573] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[ 1.876092] 10 fixed-partitions partitions found on MTD device omap2-nand.0
[ 1.883115] Creating 10 MTD partitions on "omap2-nand.0":
[ 1.888552] 0x000000000000-0x000000020000 : "NAND.SPL"
[ 1.896163] 0x000000020000-0x000000040000 : "NAND.SPL.backup1"
[ 1.904007] 0x000000040000-0x000000060000 : "NAND.SPL.backup2"
[ 1.911635] 0x000000060000-0x000000080000 : "NAND.SPL.backup3"
[ 1.919337] 0x000000080000-0x0000000c0000 : "NAND.u-boot-spl-os"
[ 1.927269] 0x0000000c0000-0x0000001c0000 : "NAND.u-boot"
[ 1.934910] 0x0000001c0000-0x0000001e0000 : "NAND.u-boot-env"
[ 1.942572] 0x0000001e0000-0x000000200000 : "NAND.u-boot-env.backup1"
[ 1.950777] 0x000000200000-0x000000a00000 : "NAND.kernel"
[ 1.961906] 0x000000a00000-0x000010000000 : "NAND.file-system"
[ 2.112155] tps65910 0-002d: No interrupt support, no core IRQ
[ 2.118267] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
[ 2.125001] gpiochip_find_base: found new base at 504
[ 2.130363] gpio gpiochip5: (tps65910): added GPIO chardev (254:5)
[ 2.136746] gpiochip_setup_dev: registered GPIOs 504 to 509 on device: gpiochip5 (tps65910)
[ 2.149706] vrtc: supplied by vbat
[ 2.154783] vio: supplied by vbat
[ 2.160012] vdd_mpu: supplied by vbat
[ 2.165608] vdd_core: supplied by vbat
[ 2.172234] vdig1: supplied by vbat
[ 2.177196] vdig2: supplied by vbat
[ 2.182155] vpll: supplied by vbat
[ 2.187013] vdac: supplied by vbat
[ 2.191915] vaux1: supplied by vbat
[ 2.196862] vaux2: supplied by vbat
[ 2.201859] vaux33: supplied by vbat
[ 2.206920] vmmc: supplied by vbat
[ 2.211674] vbb: supplied by vbat
[ 2.215853] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 2.222143] 8<— cut here —
[ 2.225227] Unhandled fault: external abort on non-linefetch (0x1008) at 0xd02e6000
[ 2.232925] pgd = 4815246e
[ 2.235644] [d02e6000] *pgd=8f131811, *pte=4a326653, *ppte=4a326453
[ 2.241960] Internal error: : 1008 [#1] PREEMPT ARM
[ 2.246861] Modules linked in:
[ 2.249941] CPU: 0 PID: 14 Comm: kworker/0:1 Not tainted 5.4.106-g023faefa70 #3
[ 2.257279] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 2.263431] Workqueue: events deferred_probe_work_func
[ 2.268606] PC is at sysc_probe+0x83c/0x1194
[ 2.272907] LR is at omap_reset_deassert+0xc4/0x210
[ 2.277806] pc : [<c046c6e4>] lr : [<c04eccdc>] psr: 60000013
[ 2.284100] sp : cf13fe10 ip : 00000001 fp : 00000000
[ 2.289346] r10: ce05e840 r9 : 00000028 r8 : c0a2c79c
[ 2.294593] r7 : cf168010 r6 : c0a2cc5c r5 : 00000000 r4 : ce055b40
[ 2.301149] r3 : d02e6000 r2 : 00000000 r1 : 00026000 r0 : 00000000
[ 2.307708] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 2.314875] Control: 10c5387d Table: 80004019 DAC: 00000051
[ 2.320648] Process kworker/0:1 (pid: 14, stack limit = 0xebeb89eb)
[ 2.326941] Stack: (0xcf13fe10 to 0xcf140000)
[ 2.331323] fe00: 00000001 00000000 c0c1da10 c0f0ae20
[ 2.339544] fe20: c0bed564 cf168010 00000001 c0c1d8f0 00000001 00000001 00000030 c0f03048
[ 2.347765] fe40: 00000007 00000000 cf168010 c0f1fd70 c0f80038 00000000 c0f1fd70 00000007
[ 2.355985] fe60: cf12e3d8 c05cdc34 cf168010 c0f80034 00000000 c0f80038 00000000 c05cbd9c
[ 2.364206] fe80: cf168010 c0f1fd70 c05cc230 c0f30390 00000000 00000000 c0f303b8 c05cc078
[ 2.372427] fea0: c0f1fd70 cf13fef4 cf168010 00000000 cf13fef4 c05cc230 c0f30390 00000000
[ 2.380646] fec0: 00000000 c0f303b8 cf12e3d8 c05ca02c 00000000 cf03b1dc cf2a23b4 c0f03048
[ 2.388866] fee0: cf168010 00000001 cf168054 c05cbb48 cf168010 cf168010 00000001 c0f03048
[ 2.397088] ff00: cf168010 cf168010 c0f305e8 c05caeac cf168010 c0f30384 c0f30384 c05cb344
[ 2.405308] ff20: c0f303b4 cf03aa80 00000000 cfc6f200 00000000 c0141bc8 cf13e000 c0f13c20
[ 2.413529] ff40: cf03aa80 c0f0d4ac cf03aa94 cf13e000 c0f13c20 c0f0d4c0 c0f0d4ac c01420b8
[ 2.421749] ff60: 00000000 cf12e3c0 cf12e380 cf13e000 00000000 cf03aa80 c0141e48 cf061ed0
[ 2.429970] ff80: cf12e3d8 c0146638 00000000 cf12e380 c01464f8 00000000 00000000 00000000
[ 2.438190] ffa0: 00000000 00000000 00000000 c01010e8 00000000 00000000 00000000 00000000
[ 2.446410] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2.454630] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 2.462871] [<c046c6e4>] (sysc_probe) from [<c05cdc34>] (platform_drv_probe+0x48/0x98)
[ 2.470836] [<c05cdc34>] (platform_drv_probe) from [<c05cbd9c>] (really_probe+0x1e0/0x348)
[ 2.479147] [<c05cbd9c>] (really_probe) from [<c05cc078>] (driver_probe_device+0x60/0x170)
[ 2.487456] [<c05cc078>] (driver_probe_device) from [<c05ca02c>] (bus_for_each_drv+0x84/0xd0)
[ 2.496028] [<c05ca02c>] (bus_for_each_drv) from [<c05cbb48>] (__device_attach+0xf0/0x15c)
[ 2.504336] [<c05cbb48>] (__device_attach) from [<c05caeac>] (bus_probe_device+0x84/0x8c)
[ 2.512558] [<c05caeac>] (bus_probe_device) from [<c05cb344>] (deferred_probe_work_func+0x64/0x90)
[ 2.521576] [<c05cb344>] (deferred_probe_work_func) from [<c0141bc8>] (process_one_work+0x1c4/0x444)
[ 2.530760] [<c0141bc8>] (process_one_work) from [<c01420b8>] (worker_thread+0x270/0x5cc)
[ 2.538982] [<c01420b8>] (worker_thread) from [<c0146638>] (kthread+0x140/0x184)
[ 2.546422] [<c0146638>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
[ 2.553674] Exception stack(0xcf13ffb0 to 0xcf13fff8)
[ 2.558750] ffa0: 00000000 00000000 00000000 00000000
[ 2.566969] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2.575187] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 2.581840] Code: e3130004 1a0001a9 e5943014 e0833001 (e593c000)
[ 2.587969] —[ end trace 26dfa50f46bb5adb ]—
Shine:
请问有参考过下面的帖子吗?看一下是不是clock, power没使能?https://e2e.ti.com/support/processors-group/processors/f/processors-forum/49197/unhandled-fault-external-abort-on-non-linefetch-0x1018-at-0x4002100c-bus-error
,
chamberlain:
有参考过这个帖子。
目前经验证使用过am335x-evm.dts和am335x-evmsk.dts,编译二者的dts生成dtb后,系统加载dtb和uImage;
分别验证两个dtb启动后,系统都卡死在同一地方: Unhandled fault: external abort on non-linefetch (0x1008) at 0xd02e6000
当前,找不到更好的解决思路;pmic,nand flash,ddr这些也都配置了;
感觉像clock,power等的问题导致,也找不到具体原因,没有更好方向。
,
Shine:
我把您的问题升级到e2e上了,请关注下面帖子的回复。https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1050332/am3354-unhandled-fault-external-abort-on-non-linefetch-0x1008-at-0xd02e6000
,
chamberlain:
好的,Shine,感谢!
我留意下帖子回复。
目前也在对比BeagleBone Black开发板的启动信息,定位我司am3354主板系统启动出问题的原因。
,
Shine:
抱歉,回复晚了,下面是e2e产品线工程师的回复。
We would have to narrow down to which module causes the issue. Please first remove most of nodes from the board dts file and only keep the minimal config to boot the board, then gradually add modules in dts until the issue happen again.
Please use the "hello_world.dts" mentioned in the link below as a reference.https://software-dl.ti.com/processor-sdk-linux/esd/docs/07_03_00_005/linux/How_to_Guides/Board_Port/Linux.html
,
user4835762:
你好
我也遇到了相同的问题,相同的开发板,请问您的问题解决了吗?我有看ti推荐的帖子,但是我没有找到相关CM_FCLKEN1_CORE的操作。
能咨询下您是怎么解决的吗?
谢谢