当 M4F (M4FSS0_0)内核未用于任何目的时、如何使用 M4F DRAM 和 IRAM 存储器?
此常见问题解答主要解释了用户如何使用 来自 R5F 的 M4F(M4FSS0_0) DRAM 和 IRAM 存储器。
此常见问题解答适用于您的应用中未使用 M4F (M4FSS0_0)内核的情况。
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.
此常见问题解答主要解释了 当 M4F 应用程序映像未出现在多核应用程序映像中时,用户如何使用来自 R5F 的 M4F DRAM 和 IRAM 存储器。
通常、引导加载程序会初始化所有内核。 在引导流程中、DM (器件管理器)会配置时钟、并且 SBL 会初始化其应用映像位于多核应用映像文件中的内核的存储器。
有关引导流程的更多详细信息、请参阅此处的文档 https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/08_06_00_18/exports/docs/api_guide_am62x/BOOTFLOW_GUIDE.html
如果您要使用与 M4内核关联的存储器、则需要为 M4内核配置时钟并初始化存储器、然后从 R5F 应用访问 MCU M4存储器。
此处、我将采用相同的方法、请在 R5F 应用中按照以下步骤操作。
步骤:
1. 为 M4F 初始化时钟 :
初始化完成后调用 Bootloader_M4Cpu_init 函数、并附加以下代码。
如上所述、我们必须通过调用 SCI 客户端 API 将频率设置为 M4F、我在下面使用了该 API。
int32_t Bootloader_M4Cpu_init(void) { int32_t status = SystemP_SUCCESS; uint32_t clkHz; clkHz = Bootloader_socCpuGetClkDefault(CSL_CORE_ID_M4FSS0_0); status = Bootloader_socCpuRequest(CSL_CORE_ID_M4FSS0_0); //Step 1 status = Bootloader_socCpuSetClock(CSL_CORE_ID_M4FSS0_0, clkHz); //Step 2 if(SystemP_SUCCESS == status) { status = Bootloader_socCpuPowerOnReset(CSL_CORE_ID_M4FSS0_0,0U); //Step 3 } return status; }
2. 存取 M4F 存储器(IRAM 和 DRAM) :
结果:
SBL 映像仅加载 A53和 R5F 内核。
2. R5F 应用正在将数据写入 DRAM 存储器中。