工具/软件:TI C/C++编译器
您好!
我有一个带256 DDR 的 TMS320C6748定制板。
我创建了自定义存储器映射、目前在引导时遇到问题。 但是、它在仿真模式下工作良好。 仅限闪存引导故障。 闪存启动不起作用。
我已应用了一些极端值进行测试。 MEM 大小将在实际会话中减小。 这是因为编译了 USB 驱动程序。
[在.cfg 文件结束时]
Program.sectMap[".bss:extMemCache:ramdisk"] = new Program.SectionSpec ();
Program.sectMap[".bss:extMemCache:ramdisk"].loadSegment ="app_cached_BIOS_RSVD_MEM";
Program.sectMap[".bss:extMemCache:ramdisk"].type ="无负载"
[本地.cmd 文件]
堆0x80000
-stack 0x80000
存储器
{
FLASH_CS2 org=0x60000000 len=0x02000000 /* AEMIF CS2区域*/
FLASH_boot org=0x62000000 len=0x02000000 //* AEMIF CS3区域*/
FLASH_org=0x64000000 len=0x02000000 //* AEMIF CS4区域*/
}
部分
{
a.aemif_mem:
{
}> FLASH_boot、run_start (NANDStart)
"CFG"> DDR_CFG
"DDR"> DDR
.DDRRAM :
{
。 += 0x04000000;
}> APP_CODE_MEM、type=DSECT、RUN_START (EXTERNAL_RAM_START)、RUN_END (EXTERNAL_RAM_END)
}
[定制平台.xdt]
metaonly 模块平台继承 xdc.platform.IPlatform{
/*config int DDR_size = 0x07FF33EC;*/
配置 int KB = 1024;
配置 int MB =KB*KB;
配置 int SBL_size = 4*KB;
配置 int DDR_ADDR = 0xC0000000;
配置 int DDR_size = 10*MB;
配置 int app_code_MEM_ADDR = DDR_ADDR+DDR_SIZE+SBL_SIZE;
配置 int app_code_MEM_size = 30*MB;
配置 int app_cached_data_MEM_ADDR = app_code_MEM_ADDR+app_code_MEM_size;
配置 int app_cached_data_MEM_size = 30*MB;
配置 int app_uncached_data_blk3_MEM_ADDR = app_cached_data_MEM_ADDR+app_cached_data_MEM_size;
配置 int app_uncached_data_blk3_MEM_size = 30*MB;
配置 int app_cached_data_blk1_MEM_ADDR = app_uncached_data_blk3_MEM_ADDR+app_uncached_data_blk3_MEM_size;
配置 int app_cached_data_blk1_MEM_size = 30*MB;
配置 int app_cached_data_blk2_MEM_ADDR = app_cached_data_blk1_MEM_ADDR+app_cached_data_blk1_MEM_size;
配置 int app_cached_data_blk2_MEM_size = 30*MB;
配置 int app_cached_BIOS_RSVD_MEM_ADDR = app_cached_data_BLK2_MEM_ADDR+app_cached_data_BLK2_MEM_size;
配置 int app_cached_BIOS_RSVD_MEM_size = 30*MB;
配置 int DDR_CFG_ADDR = APP_cached_BIOS_RSVD_MEM_ADDR+APP_cached_BIOS_RSVD_MEM_SIZE;
配置 int DDR_CFG_SIZE = 10*MB;
配置 ti.platforms.generic.Platform.Instance CPU =
ti.platforms.generic.Platform.create("CPU"、{
时钟速率: 300.0、
CatalogName: "ti.catalog.c6000"、
DeviceName: "TMS320C6748"、
定制内存映射:
[
["IRAM"、 {name:"IRAM"、 base:0x1180000、 len:0x00040000、 space:"code/data"、 访问:"rwx"、}]、
["IRM"、 {name:"irom"、 base:0x11700000、 len:0x00100000、 space:"code/data"、 访问:"Rx"、]]、
["L3_CBA_RAM"、 {name:"L3_CBA_RAM"、 base:0x8000000、 len:0x00020000、 space:"code/data"、 访问:"rwx"、}]、
["DDR"、 {name:"DDR"、 base:DDR_ADDR、 len:DDR_size、 space:"code/data"、 访问:"rwx"、}]、
["app_code_MEM"、 {name:"app_code_MEM"、 base:app_code_MEM_ADDR、 len:app_code_MEM_size、 space:"code/data"}]、
["app_cached_data_MEM"、 {name:"app_cached_data_MEM"、 base:app_cached_data_MEM_ADDR、 len:app_cached_data_MEM_size、 space:"code/data"、}]、
["app_uncached_data_BLK3_MEM"、 {name:"app_uncached_data_BLK3_MEM"、base:app_uncached_data_BLK3_MEM_ADDR、 len:app_uncached_data_BLK3_MEM_size、 space:"代码/数据"、}、len:
["app_cached_data_blk1_MEM"、 {name:"app_cached_data_blk1_MEM"、 base:app_cached_data_blk1_MEM_ADDR、 len:app_cached_data_blk1_MEM_size、 space:"code/data"、}]、
["app_cached_data_blk2_MEM"、 {name:"app_cached_data_blk2_MEM"、 base:app_cached_data_blk2_MEM_ADDR、 len:app_cached_data_blk2_MEM_size、 space:"code/data"、}]、
["app_cached_BIOS_RSVD_MEM"、 {name:"app_cached_BIOS_RSVD_MEM"、 base:app_cached_BIOS_RSVD_MEM_ADDR、 len:app_cached_BIOS_RSVD_MEM_size、 space:"code/data"、}]、
["DDR_CFG"、 {name:"DDR_CFG"、 base:DDR_CFG_ADDR、 len:DDR_CFG_SIZE、 space:"代码/数据"、 访问:"rwx"、}]、
]、
L2模式:"0K"、
L1PMode:"32K"、
L1DMode:"32K"、
});
实例:
覆盖配置字符串 codeMemory ="app_code_MEM";
覆盖配置字符串 dataMemory ="app_code_MEM";
覆盖配置字符串 stackMemory ="IRAM";
配置字符串 l2Mode ="0k";
配置字符串 l1PMode ="32k";
配置字符串 l1DMode ="32k";
}
我在这里出了什么问题?