自己设计的AM335X
kernel 3.2.0
__turn_mmu_on:
mov r0, r0
mcr p15, 0, r0, c1, c0, 0 @ write control reg –-执行打开MMU后,就挂掉,请问下TI工程师是否哪边的配置错误?
mrc p15, 0, r3, c0, c0, 0 @ read id reg
mov r3, r3
mov r3, r13
mov pc, r3
__enable_mmu_end:
ENDPROC(__turn_mmu_on)
Steven Liu1:
改了这部分的原始代码了吗?没改的话建议先确认一下你的DDR配置是否正确。
user4131006:
回复 Steven Liu1:
Hi Steven
内核的head.S没有修改过,关于DDR3的配置,感觉没多大的问题:uboot 重定位到ddr中运行启动正常,在u-boot#下用mtest命令测试也是ok的(该命令已经打开CONFIG_SYS_ALT_MEMTEST宏功能 并进行长时间的测试)
U-Boot SPL 2013.01.01 (Apr 29 2015 – 00:46:06)
===board_init_f() from arm/lib/spl.c===>>spl:board_init_r()OMAP SD/MMC: 0boot mode – FATreading u-boot.imgreading u-boot.img
===board_init_f() from arm/lib/board.c===
U-Boot 2013.01.01 (Apr 29 2015 – 00:46:06)
Top of RAM usable for U-Boot at: 87ff0000DRAM: 128 MiB>>board.c :board_init_r()WARNING: Caches not enabledCould not get board ID.—Pls dont care!NAND: MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1*** Warning – readenv() failed, using default environment
Net: <ethaddr> not set. Validating first E-fuse MACPHY reset timed outcpsw, usb_etherarm/lib/board.c ->>board_int_r here1Hit any key to stop autoboot: 0 mmc0 is current deviceSD/MMC found on device 0reading uEnv.txt** Unable to read file uEnv.txt **reading uImage3225808 bytes read in 510 ms (6 MiB/s)Booting from mmc …## Booting kernel from Legacy Image at 80007fc0 … Image Name: Linux-3.2.0 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3225744 Bytes = 3.1 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum … OK XIP Kernel Image … OKOK
Starting kernel …
Uncompressing Linux… done, booting the kernel.
——-后续再head.S的 enable MMU后挂死
Hefa Zhuang:
回复 user4131006:
你好,请问这个问题你后来解决了吗?当时是怎么解决的呢?我遇到同样的问题了。
yongqing wang:
回复 Hefa Zhuang:
使用什么版本SDK