工具/软件:
你(们)好
我们使用 Board_init () 为 2 个 MCU 内核配置每个 MCU 内核的 GPIO(例如 MCU_1_0 和 MCU_2_0)、并观察到中断 处理不当。
我们需要禁用另一个内核才能 正确使用中断。 是否有任何正确处理多核 GPIO 的示例?
此致、
Piotr
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.
工具/软件:
你(们)好
我们使用 Board_init () 为 2 个 MCU 内核配置每个 MCU 内核的 GPIO(例如 MCU_1_0 和 MCU_2_0)、并观察到中断 处理不当。
我们需要禁用另一个内核才能 正确使用中断。 是否有任何正确处理多核 GPIO 的示例?
此致、
Piotr
嗨、 Neehar、
我们方面有一些误解。 所有 R5 内核都有一个 GPIO 配置、在每个内核上调用 GPIO_init 也会每次都重新配置中断。 我们需要添加选项、以便仅允许特定内核配置特定 GPIO。
我想问另一件事。 在考虑安全运行的情况下、如何在多核环境中使用 Board_Init 功能。 我的理解是、pinumx 和 clock 等操作只能在启动时配置、配置应在锁定之后。 因此、Board_init 由 mcu1_0 调用、不应该调用其他内核(尽管 PSDK 中提供了其他示例,但在这种情况下可免费使用,并在需要时调用电路板)。 请告诉我我我的想法是否正确。
此致、
Michal Mrowczynski
您好、Michal、
Board_Init 函数旨在如何在考虑安全操作的多核环境中使用。 我的理解是、pinumx 和 clock 等内容只应在启动时配置、配置应在锁定之后
正确、Board_init () 只能从一个内核调用、只需调用一次。 无需多次调用 Board_init ()、因为所有 pinmux、时钟、I/O 都已启用。
但是、我们建议为每个内核创建单独的 gpioPinConfigs[]、并针对每个内核单独初始化这些配置。 这可确保每个内核的 GPIO 引脚和中断保持独立。
谢谢、
Neehar
您好、Michal、
只要您在某个点配置了所有模块(如 PLL、时钟、Pinmux)、就无需单独运行 Board_init ()。 例如、只要同时配置 Board_INIT_MODULE_CLOCK_MCU 和 BOARD_INIT_MODULE_CLOCK_MAIN、就可以只在 MCU1_0 内核上运行 Board_init () 。 同样、 Board_init_PLL_MCU 和 Board_init_PLL_MAIN 或其他 Main 域模块均可能未配置。
谢谢、
Neehar