你好,我目前正在开发一个使用 RT595 和 Zephyr 实时操作系统的项目,我想知道如何从 MCU 启动 DSP。根据官方文档 (IMXRT595-EVK-UG) 第 4.7 节,通过在 IDE 中设置 dsp_image_copy_to_ram=1,可以实现 " 程序一次,ARM 内核会自动唤醒 DSP "。现在该项目已完全过渡到Zephyr版本系统,我想知道用上市DSP应用程序的具体步骤以及应如何对其进行配置。感谢您的帮助。
一般步骤:
要在 Zephyr 项目中从 MCU 上市 DSP,你应该首先使用 Xtensa Xplorer 版本 DSP 二进制文件,然后通过 CMake 将该二进制文件集成到 Zephyr 版本中,最后从应用程序中调用 BOARD_DSP_Init() 函数来处理启动顺序。
在完成迁移之前,您需要使用官方文档(MCUXpresso + EVK)完成功能,并且需要具备开发 Zephry 的能力。
参考资料:
1。版本 DSP 固件: 适用于 EVK-
MIMXRT595 的 Xplorer 入门 通常,你会得到两个输出文件,例如 dsp_text_release.bin 和 dsp_data_release.bin。这些是 Cortex-M33 内核将加载到 DSP RAM 中的固件映像
2. 将 DSP 二进制文件集成到 Zephyr 版本中:
Zephyr 编译系统要求您在 Cortex-M33 应用程序中明确包含这些二进制文件。为此,您可以修改 Zephyr 应用程序的 CMakeLists.txt 文件。你可能需要使用 Zephyr 的版本系统功能(例如 zephyr_file_copy 或将它们定义为二进制 blob)将文件放置在最终固件映像中的已知位置。
3. 适用于 i.MX RT595 的 MCUXpresso SDK 提供了用于管理 DSP 生命周期的驱动程序 ( fsl_dsp.c/.h)。 适用于恩智浦设备的Zephyr包含此软件开发工具包,因此您可以直接从Zephyr应用程序代码中调用这些函数。 详细信息可以从 EVK 版 Xplorer 入门的 “3.3 DSP 内核初始化” 中找
到-MIMXRT595