工具/软件:
我目前正在使用 CCS 测试 AM6442 EVM 板。 我尝试从 MCU+ SDK v10.01 获得一个示例工程(基于 FreeRTOS)、我已经增强了该工程、以便在 R5F0_1 内核上从 DDR 运行、因为我已超过 MSRAM 空间。 工程编译顺利、但在 XDS110 调试接口中将其加载到内核后、没有任何内容。 程序处于运行状态、断点不会命中、当我暂停它时、它卡在 HwiP_armv7r_vectors_freertos_asm 中的 prefetch_abort_addr 调用中:

到目前为止、在我的研究中、我使用了 SoC 外设驱动程序--> SDK 帮助文件的 DDR 部分来创建和加载 board_ddrReginit.h 文件、但没有找到任何其他具体的帮助。
非常感谢有关此问题的任何帮助、我的 syscfg 和链接器信息如下:
与 DDR 相关的 SYSCFG 设置:


内存摘要显示:

我对的修改 Memory Configurator -> Section 在 linker.cmd 文件中生成以下结果:
很重要
{
.vectors :{
}> R5F_VECS , palign(8)
组 : {
.text.hwi :{
} palign(8)
.text.cache :{
} palign(8)
.text.mpu:{
} palign(8)
.text:abort :{
} palign(8)
}> DDR_5RF01
组 : {
.text:{
} palign(8)
.rodata :{
} palign(8)
}> DDR_5RF01
组 : {
.data:{
} palign(8)
}> DDR_5RF01
组 : {
.bss :{
} palign(8)
RUN_START (__BSS_START)
RUN_END (__BSS_END)
.sysmem :{
} palign(8)
.stack :{
} palign(8)
}> DDR_5RF01
组 : {
.irqstack :{
。 =。 +_IRQ_STACK_SIZE;
}对齐 (8)
RUN_START (__IRQ_STACK_START)
RUN_END (__IRQ_STACK_END)
.fiqstack :{
。 =。 +__FIQ_STACK_SIZE;
}对齐 (8)
RUN_START (__FIQ_STACK_START)
RUN_END (__FIQ_STACK_END)
.svcstack :{
。 =。 +_SVC_STACK_SIZE;
}对齐 (8)
RUN_START (__SVC_STACK_START)
RUN_END (__SVC_STACK_END)
.abortstack :{
。 =。 +_ABORT_STACK_SIZE;
}对齐 (8)
RUN_START (__ABORT_STACK_START)
RUN_END (__ABORT_STACK_END)
.undefinedstack :{
。 =。 +__undefined_stack_size;
}对齐 (8)
RUN_START (__undefined_stack_start)
RUN_END (_Undefined_stack_end)
}> MSRAM
组 : {
.arm.exidx:{
} palign(8)
.init_array:{
} palign(8)
.fini_array:{
} palign(8)
.text.boot:{
} palign(8)
}> MSRAM
.bss.user_shared_mem (NoLoad):{
}> USER_SHM_MEM
.bss.log_shared_mem (NoLoad):{
}> LOG_SHM_MEM
.bss.ipc_vring_mem(空载):{
}> RTOS_NORTOS_IPC_SHM_MEM
.bss.nocache (NoLoad):{
}> MSRAM
}
移动数据
{
R5F_VECS :origin = 0x0、长度= 0x40
R5F_TCMA :origin = 0x40、长度= 0x7FC0
R5F_TCMB0 :origin = 0x41010000、长度= 0x8000
non_cache_MEM :origin = 0x70040000、长度= 0x8000
MSRAM :origin = 0x70000000、length = 0x40000
USER_SHM_MEM :原点= 0x70050000、长度= 0x4000
Log_SHM_MEM :原点= 0x70054000、长度= 0x4000
RTOS_NORTOS_IPC_SHM_MEM :origin = 0x70048000、length = 0x8000
Flash :origin = 0x60180000、length = 0x80000
DDR_5RF01 :origin = 0x80000000、length = 0x800000
}

