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.

335x DDR更换为128MB

大家好,最近在做335x移植的时候,遇到点问题,想请教下:

SDK版本:ti-processor-sdk-linux-am335x-evm-05.03.00.07-Linux-x86-Install.bin

uboot版本:2018.01

问题描述: 我手上有两块板子硬件,是不一样的板子,一块板子是DDR3的两片内存组成的256MB的,另外一块板子是DDR2的一片内存128MB的,编译uboot,我用官方的配置am335x_evm_defconfig,在256MB内存的板子上是可以运行起来的,并且引导内核,挂载文件系统都正常。但是把该代码放在128MB的内存上是有问题的,引导不起来内核,其中关于内存部分我做了修改如下(uboot):

1. 修改设备树文件 am335x-evm.dts (arch\arm\dts)

 memory {
 device_type = "memory";
- reg = <0x80000000 0x10000000>; /* 256 MB */
 };

修改为:

 memory {
 device_type = "memory";
 + reg = <0x80000000 0x8000000>; /* 128 MB */
 };

2. 修改uboot环境变量为:

setenv bootm_size "0x8000000"
setenv fdt_addr_r "0x87000000"
setenv fdtaddr "0x87000000"
setenv rdaddr "0x87080000"
setenv ramdisk_addr_r "0x87080000"
setenv kernel_addr_r "0x82000000"
setenv loadaddr "0x82000000"

setenv bootargs "console=ttyO0,115200n8 root=/dev/mmcblk1p2 rw rootfstype=ext3 rootwait"
load mmc 0 0x82000000 zImage;load mmc 0 0x80F00000 am335x-evm.dtb;bootz 0x82000000 - 0x80f00000


然后,然后uboot就引导不起来内核了,启动信息如下:

U-Boot SPL 2018.01-00571-gdeced8b-dirty (Aug 31 2019 - 14:41:54)
Trying to boot from MMC1, spl_image->size = 0
boot_mode = 2
spl_mmc_do_fs_boot --->
*** Warning - bad CRC, using default environment

spl_load_image_fat_buf err = 0 --->


U-Boot 2018.01-00571-gdeced8b-dirty (Aug 31 2019 - 14:41:54 +0800)

CPU : AM335X-GP rev 1.0
Model: TI AM335x EVM
DRAM: Ram size: 08000000
Ram top: 88000000
128 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net: PHY reset timed out
cpsw, usb_ether
Hit any key to stop autoboot: 0
=>
nknown command ' - try 'help'
=>
Unknown command ' - try 'help'
=> setenv bootm_size "0x8000000"
=> setenv fdt_addr_r "0x87000000"
=> setenv fdtaddr "0x87000000"
=> setenv rdaddr "0x87080000"
=> setenv ramdisk_addr_r "0x87080000"
=> setenv kernel_addr_r "0x82000000"
=> setenv loadaddr "0x82000000"
=> setenv bootargs "console=ttyO0,115200n8 root=/dev/mmcblk1p2 rw rootfstype=ext3 rootwait"
=> load mmc 0 0x82000000 zImage;load mmc 0 0x80F00000 am335x-evm.dtb;bootz 0x82000000 - 0x80f00000
3904000 bytes read in 300 ms (12.4 MiB/s)
41315 bytes read in 6 ms (6.6 MiB/s)
## Flattened Device Tree blob at 80f00000
Booting using the fdt blob at 0x80f00000
Loading Device Tree to 85ca9000, end 85cb6162 ... OK

或者有时候会进行到打印Starting kernel ...

=> setenv bootargs "console=ttyO0,115200n8 root=/dev/mmcblk1p2 rw rootfstype=ext3 rootwait"
=> load mmc 0 0x82000000 zImage;load mmc 0 0x80F00000 am335x-evm.dtb;bootz 0x82000000 - 0x80f00000
3904000 bytes read in 302 ms (12.3 MiB/s)
41315 bytes read in 6 ms (6.6 MiB/s)
## Flattened Device Tree blob at 80f00000
Booting using the fdt blob at 0x80f00000
Loading Device Tree to 85ca9000, end 85cb6162 ... OK

Starting kernel ...

接着就什么都没有了,稍等下会进行重启。。。。两块板子的硬件确认都是完好的(运行别人之前移植过03版本SDK的uboot和kernel都是好的,当然我没有那个源码),遇到这情况怎么破呢?

感谢支持!