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.

[参考译文] TMS320DM8127:DDR3 (MT41K256M16TW-107) u-boot 启动问题?

Guru**** 657930 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1188420/tms320dm8127-ddr3-mt41k256m16tw-107-u-boot-booting-issues

器件型号:TMS320DM8127

您好、先生、

我们通过 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

参考:https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671313/am3358-ddr3-memory-issue-with-mt41k256m16tw-107

已修改但未使用?

代码方面需要进行的任何更改、您能给我一些建议吗?

谢谢您、

此致、

Ramachandra

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、先生、

    现在、它在 u-boot 的 BareMetal 中工作、但它不工作。

     IPNC_RDK (TI814x_ES_2x_EVM_A8_DDR3.GEL)的折射已加载、它在 CCS 裸机代码中有效、但在 u-boot 中存在问题。

    如果 DDR 问题存在 u-boot 或 SD 卡启动问题、是否存在任何挂起的问题?

    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 0xBFFFFFFF  

    3.u-boot/board/ti/dm8127/evm.c

    静态常量结构 DMM_LISA 映射寄存器 EVM_LISA 映射寄存器={
    .dm_lisa_map_0 = 0x0、
    .dm_lisa_map_1 = 0x0、
    .dm_lisa_map_2 = 0x80600100、
    .dm_lisa_map_3 = 0xFF020100、
    .in_ma_present = 0x1

    但没有使用它会挂起  

    跳转到 U-Boot
    已加载-跳转到 U-Boot...图像入口点:0x80800000
    initcall:80821e78
    initcall:80825004


    U-Boot 2016.05 (1月19 2023 - 18:49:03 +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

    它会挂起吗?

    请告诉我,

    谢谢您、

    此致、

    Ramachandra

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、先生、

    根据 0020.AM335x_EMIF_Configuration_Tool_v3.xlsx 文件、我修改了 SDRAM 配置、但在 Linux 内核中、它仍然有效。