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.

内核 head.S调试,enable MMU后 挂死求助,谢谢!



自己设计的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)

  • 改了这部分的原始代码了吗?没改的话建议先确认一下你的DDR配置是否正确。

  • 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: 0
    boot mode - FAT
    reading u-boot.img
    reading 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: 87ff0000
    DRAM: 128 MiB
    >>board.c :board_init_r()
    WARNING: Caches not enabled
    Could 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 MAC
    PHY reset timed out
    cpsw, usb_ether
    arm/lib/board.c ->>board_int_r here1
    Hit any key to stop autoboot: 0
    mmc0 is current device
    SD/MMC found on device 0
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    reading uImage
    3225808 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 ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel. 

    -------后续再head.S的 enable MMU后挂死

  • 你好,请问这个问题你后来解决了吗?当时是怎么解决的呢?我遇到同样的问题了。
  • 使用什么版本SDK