主题中讨论的其他器件: SysConfig
工具与软件:
您好!
我想检查以下示例是否在 SK-AM64B 的 A53内核上运行、但是
A53内核的 SysConfig 没有 OPSI 或闪存、因此我无法添加它们。
请告诉我如何在 A53内核上运行示例应用。
mcu_plus_sdk_am64x_09_02_01_05\examples\drivers\ospi\ospi_flash_io
此致、
Yukinobu
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.
工具与软件:
您好!
我想检查以下示例是否在 SK-AM64B 的 A53内核上运行、但是
A53内核的 SysConfig 没有 OPSI 或闪存、因此我无法添加它们。
请告诉我如何在 A53内核上运行示例应用。
mcu_plus_sdk_am64x_09_02_01_05\examples\drivers\ospi\ospi_flash_io
此致、
Yukinobu
尊敬的 Vaibhav:
我从 mcu_plus_sdk_am64x_09_02_01_05更改为 mcu_plus_sdk_am64x_10_00_00_20以在 A53内核上使用闪存、并在 SysConfig 中添加了闪存。 如果您使用创建的"example.syscfg"、IpcNotify_waitSync()的 IpcNotify_waitSync()将停止工作。 因此、样本 ipc_notify_echo 不能按预期工作。
此外、ipc_notify_echo 的行为会根据"example.syscfg"的版本而变化。
如果使用 SDK09_02_01_05的"example.syscfg"、则 IPC 示例应用将正常终止。 2.
2.如果使用在 SDK10_00_00_20中创建的"example.syscfg"、则 IPC 示例应用程序将停止。
在检查生成的 ti_DPL_config.c 时、我发现 SDK10_00_00_20中缺少 Hwip_enable ()。
Q1为什么不再在 SDK 10_00_00_20中调用 Hwip_enable ()?
Q2在 SDK 10_00_00_20中不调用 Hwip_enable ()是否正确?
请提供建议、因为我会为每个版本附加 example.syscfg。
SDK 10_00_00_02
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "AM64x" --part "Default" --package "ALV" --context "a53ss0-0" --product "MCU_PLUS_SDK_AM64x@10.00.00"
* @v2CliArgs --device "AM6442" --package "FCBGA (ALV)" --variant "AM6442-D" --context "a53ss0-0" --product "MCU_PLUS_SDK_AM64x@10.00.00"
* @versions {"tool":"1.21.2+3837"}
*/
/**
* Import the modules used in this configuration.
*/
const flash = scripting.addModule("/board/flash/flash", {}, false);
const flash1 = flash.addInstance();
const ipc = scripting.addModule("/drivers/ipc/ipc");
const debug_log = scripting.addModule("/kernel/dpl/debug_log");
const mmu_armv8 = scripting.addModule("/kernel/dpl/mmu_armv8", {}, false);
const mmu_armv81 = mmu_armv8.addInstance();
const mmu_armv82 = mmu_armv8.addInstance();
const mmu_armv83 = mmu_armv8.addInstance();
const mmu_armv84 = mmu_armv8.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
flash1.$name = "CONFIG_FLASH0";
flash1.peripheralDriver.$name = "CONFIG_OSPI0";
ipc.r5fss0_0 = "notify";
ipc.r5fss0_1 = "notify";
ipc.r5fss1_0 = "notify";
ipc.r5fss1_1 = "notify";
ipc.m4fss0_0 = "notify";
debug_log.enableCssLog = false;
debug_log.enableSharedMemLog = true;
mmu_armv81.$name = "CONFIG_MMU_REGION0";
mmu_armv81.size = 0x80000000;
mmu_armv82.$name = "CONFIG_MMU_REGION1";
mmu_armv82.vAddr = 0x70000000;
mmu_armv82.pAddr = 0x70000000;
mmu_armv82.size = 0x200000;
mmu_armv82.attribute = "MAIR7";
mmu_armv83.$name = "CONFIG_MMU_REGION2";
mmu_armv83.vAddr = 0x701D0000;
mmu_armv83.pAddr = 0x701D0000;
mmu_armv83.size = 0x10000;
mmu_armv83.attribute = "MAIR4";
mmu_armv84.$name = "CONFIG_MMU_REGION3";
mmu_armv84.vAddr = 0x80000000;
mmu_armv84.pAddr = 0x80000000;
mmu_armv84.size = 0x80000000;
mmu_armv84.attribute = "MAIR7";
/**
* Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
* version of the tool will not impact the pinmux you originally saw. These lines can be completely deleted in order to
* re-solve from scratch.
*/
flash1.peripheralDriver.OSPI.$suggestSolution = "OSPI0";
flash1.peripheralDriver.OSPI.CLK.$suggestSolution = "OSPI0_CLK";
flash1.peripheralDriver.OSPI.CSn0.$suggestSolution = "OSPI0_CSn0";
flash1.peripheralDriver.OSPI.DQS.$suggestSolution = "OSPI0_DQS";
flash1.peripheralDriver.OSPI.D7.$suggestSolution = "OSPI0_D7";
flash1.peripheralDriver.OSPI.D6.$suggestSolution = "OSPI0_D6";
flash1.peripheralDriver.OSPI.D5.$suggestSolution = "OSPI0_D5";
flash1.peripheralDriver.OSPI.D4.$suggestSolution = "OSPI0_D4";
flash1.peripheralDriver.OSPI.D3.$suggestSolution = "OSPI0_D3";
flash1.peripheralDriver.OSPI.D2.$suggestSolution = "OSPI0_D2";
flash1.peripheralDriver.OSPI.D1.$suggestSolution = "OSPI0_D1";
flash1.peripheralDriver.OSPI.D0.$suggestSolution = "OSPI0_D0";
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "AM64x" --package "ALV" --part "Default" --context "a53ss0-0" --product "MCU_PLUS_SDK@07.03.01"
* @versions {"tool":"1.17.0+3128"}
*/
/**
* Import the modules used in this configuration.
*/
const ipc = scripting.addModule("/drivers/ipc/ipc");
const debug_log = scripting.addModule("/kernel/dpl/debug_log");
const dpl_cfg = scripting.addModule("/kernel/dpl/dpl_cfg");
const mmu_armv8 = scripting.addModule("/kernel/dpl/mmu_armv8", {}, false);
const mmu_armv81 = mmu_armv8.addInstance();
const mmu_armv82 = mmu_armv8.addInstance();
const mmu_armv83 = mmu_armv8.addInstance();
const mmu_armv84 = mmu_armv8.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
ipc.m4fss0_0 = "notify";
ipc.r5fss0_0 = "notify";
ipc.r5fss0_1 = "notify";
ipc.r5fss1_0 = "notify";
ipc.r5fss1_1 = "notify";
debug_log.enableCssLog = false;
debug_log.enableSharedMemLog = true;
mmu_armv81.$name = "CONFIG_MMU_REGION0";
mmu_armv81.size = 0x80000000;
mmu_armv82.$name = "CONFIG_MMU_REGION1";
mmu_armv82.vAddr = 0x70000000;
mmu_armv82.pAddr = 0x70000000;
mmu_armv82.size = 0x200000;
mmu_armv82.attribute = "MAIR7";
mmu_armv83.$name = "CONFIG_MMU_REGION2";
mmu_armv83.vAddr = 0x701D0000;
mmu_armv83.pAddr = 0x701D0000;
mmu_armv83.size = 0x10000;
mmu_armv83.attribute = "MAIR4";
mmu_armv84.$name = "CONFIG_MMU_REGION3";
mmu_armv84.vAddr = 0x80000000;
mmu_armv84.pAddr = 0x80000000;
mmu_armv84.size = 0x80000000;
mmu_armv84.attribute = "MAIR7";
尊敬的 Yukinobu:
Q1为什么不再在 SDK 10_00_00_20中调用 Hwip_enable ()?
执行此更改是为了消除应用程序中的意外挂起。
请参阅下图。

您在使用最新的 SDK 时遇到了问题,其中 Hwip_enable ()不是在 System_init ()函数中调用的。 我对吗?
我将在结束时检查此情况、请留出一些时间恢复。
此致、
Tushar