您好、先生、
我们通过 DM8127-CSK EVM 模块的基准使用 dm8127定制板。
在 EVM 模块 DDR3 (MT41K256M16TW) 中,默认使用2芯片选择和4个模块。
在我们的定制电路板中使用 DDR3 (相同 IC) 1芯片选择和2模块(较低和较高数据)。
引导时、它在 u-boot 中挂起
下面是挂起的。
GC - clustnum:72516、startsect:74752
大小:284349、得到:284349
跳转到 U-Boot
已加载-跳转到 U-Boot...图像入口点:0x80800000
initcall:80821e78
initcall:80825004
U-Boot 2016.05 (1月18 2023 - 14:27:26 +0530)
initcall:8080ba84
U-Boot 代码:80800000 -> 8083BC80 BSS:-> 808709D0
initcall:8080b8a8
initcall:80bacc
I2C:就绪
initcall:8080bab4
DRAM:initcall:80800b60
initcall:8080bd20
显示器长度:000709D0
RAM 大小:40000000
RAM 顶部:C0000000
initcall:8080b8d0
initcall:8080ba2c
将 TLB 表从 bfff0000更改为 bfff4000
initcall:8080bc4c
initcall:8080b9e0
在 bff7f000处为 U-Boot 保留450k
initcall:8080b9b4
为 malloc()保留1152k,网址为:bfe5f000
initcall:80bbe8
为电路板信息保留80字节、地址为:bfe5efb0
initcall:8080bc54
initcall:8080b980
为全局数据保留184字节,地址为:bfe5eef8
initcall:8080b914
为 FDT 保留12864字节、地址为:bfe5bcb8
initcall:80bc3c
initcall:8080bd9c
initcall:80bcf8
initcall:80bc70
RAM 配置:
组#0:8000000 1 GiB
DRAM:1 GiB
initcall:8080b8f8
新的堆栈指针为:bfe5bc90
initcall:8080 bba4
initcall:8080bb34
重定位偏移为:3f77f000
重新定位到 bff7f000、bfe5eef8的新 gd、bfe5bc90的 sp
之后不启动任何东西。
u-boot 中的更改:
1. dm8127.dts
内存{
DEVICE_TYPE ="存储器";
REG =<0x8000000000 0x40000000>;/* 1 GB */
};
2.sys_proto.h
#ifdef CONFIG_OMAP_common
#define TI_ARMV7_DRAM_ADDR_SPACE_START 0x80000000
#define TI_ARMV7_DRAM_ADDR_SPACE_END 0x9FFFFFFF
3.u-boot/board/ti/dm8127/evm.c
静态常量结构 DMM_LISA 映射寄存器 EVM_LISA 映射寄存器={
.dm_lisa_map_0 = 0x80600100、
.dm_lisa_map_1 = 0x80600100、
.dm_lisa_map_2 = 0x0、
.dm_lisa_map_3 = 0x0、
.in_ma_present = 0x1
};
void SDRAM_init (void)
{
CONFIG_DMM (&EVM_LISA 映射寄存器);
#ifdef CONFIG_TI814X_EVM_DDR3
CONFIG_DDR (0、空、&EVM_DDR3_phy0_DATA[0]、&EVM_DDR3_cctrL_data、
&EVM_DDR3_emif0_regs、0);
// CONFIG_DDR (1、NULL、&EVM_DDR3_phy1_DATA[0]、&EVM_DDR3_cctrL_data、
//&EVM_DDR3_emif1_regs、1);//cispl
其他
CONFIG_DDR (0、空、&EVM_DDR2_DATA、&EVM_DDR2_cctrL_DATA、
&EVM_DDR2_emif0_regs、0);
// CONFIG_DDR (0、NULL、&EVM_DDR2_DATA、&EVM_DDR2_cctrL_data、
//&EVM_DDR2_emif1_regs、1);//cispl
#endif
}
4.3.u-boot/arch/arm/cpU/armv7/am33xx/board.c
#ifdef CONFIG_SPL_Build
void board_init_f (ulong 虚拟)
{
//board_earle_init_f();
//SDRAM_init();
//earle_system_init();
Board_EARLY_INIT_f ();
debug ("==print from arch/arm/mach-omap2=\n");
SDRAM_INIT();
debug ("=print from arch/arm/mach-omap2、after SDRAM_init=\n");
/* DRAM_init 必须将完整的 ramsize 存储在 gd->ram_size 中*/
gd->ram_size = get_ram_size (
(void *) CONFIG_SYS_SDRAM_base、CONFIG_MAX_RAM_Bank_Size);
}
#endif
代码方面需要进行的任何更改、您能给我一些建议吗?
谢谢您、
此致、
Ramachandra