工具/软件:
尊敬的 TI 论坛:
我目前正在努力向 AM5728 器件添加额外的 RAM、并且面临修改 TI AM57xx-EVM-09_02_00_133 SDK 以确保 RAM 正常工作所面临的挑战。
以下是到目前为止我在 U-Boot 中尝试的操作:
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
index 7d7a88509a..57f02f17f5 100644
--- a/board/ti/am57xx/board.c
+++ b/board/ti/am57xx/board.c
@@ -98,7 +98,8 @@ const struct omap_sysinfo sysinfo = {
};
static const struct dmm_lisa_map_regs beagle_x15_lisa_regs = {
- .dmm_lisa_map_3 = 0x80740300,
+ .dmm_lisa_map_2 = 0x80740300,
+ .dmm_lisa_map_3 = 0xFF020100,
.is_ma_present = 0x1
};
@@ -964,6 +965,7 @@ bool am571x_idk_needs_lcd(void)
int board_init(void)
{
gpmc_init();
+ printf("CONFIG_SYS_SDRAM_BASE= %d: \n", CONFIG_SYS_SDRAM_BASE);
gd->bd->bi_boot_params = (CFG_SYS_SDRAM_BASE + 0x100);
return 0;
@@ -1047,6 +1049,14 @@ static int device_okay(const char *path)
}
#endif
+void dram_init_banksize(void) {
+ gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
+ gd->bd->bi_dram[0].size = get_effective_memsize();
+ gd->bd->bi_dram[1].start = 0x200000000;
+ gd->bd->bi_dram[1].size = 0x100000000 - CONFIG_MAX_MEM_MAPPED;
+
+}
+
int board_late_init(void)
{
setup_board_eeprom_env();
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
index 42565e4aae..c7432f2b16 100644
--- a/include/configs/am57xx_evm.h
+++ b/include/configs/am57xx_evm.h
@@ -57,4 +57,12 @@
/*Added support for ZEISS FPGA*/
#define CONFIG_ZEISS_FPGA
+#define CONFIG_VERY_BIG_RAM
+#define CONFIG_PHYS_64BIT
+
+#define CONFIG_MAX_MEM_MAPPED 0x80000000;
+
+#define CONFIG_SYS_MEMTEST_START 0x80000000
+#define CONFIG_SYS_MEMTEST_EN
+
#endif /* __CONFIG_AM57XX_EVM_H */
引导时、系统冻结、显示的最后一条消息为:
U-Boot 2023.04-dirty (Oct 01 2025 - 16:41:17 -0700) CPU : DRA752-GP ES2.0 Model: TI AM5728 BeagleBoard-X15 Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN DRAM: 2 GiB (effective 4 GiB)
如果有任何关于如何增强对 U-Boot 的修改或获取可以帮助成功引导系统的调试打印的建议、我将非常感激。 如果不对 TI AM57xx-evm-09_02_00_133 SDK 进行更改、系统启动正常。
感谢您的支持!