我们正在评测imx933,发现其默认配置下M33只有128KB可用内存。根据imx93 RM,我们可以看到,BLK_CTRL_S_AONMIX寄存器M33_CFG应该允许我们将2x128KB的数据块合并在一起,方法是将DOUBLE_CODE的值设置为01。
是否有相关示例?SDK(SDK_2_16_000_MCIMX93-EVK)中的所有链接脚本都没有使用大于 128k 的文件,而且我在任何 SDK 示例/演示中都找不到任何相关说明。
我们该如何利用这一点?是否只需要在初始化/RESET时设置寄存器值并修改链接器脚本即可?
我读过关于使用 TCM 作为代码存储器的讨论。
我想询问一下另一种选择:是否可以将 256 KB TCM 用作额外的数据存储器?
这将涉及将 m33_cfg[tcm_size] = 0b10 更改为 0b10。(DOUBLE_DATA_TCM)
我修改了 m33_prepare() 函数,更改寄存器并将 0x20200000 区域清零,以便清除 TCM 并将其初始化为 ECC。
U-Boot 和 Linux 内核启动时没有任何警告或错误。但是,当我使用 remoteproc 启动固件时,它会导致整个系统重启,而没有任何错误信息。
您有什么建议可以解决这个问题吗?
顺祝商祺!
你好,
我们正在使用 NPU 进行 ML 应用,这需要 Ethos。但是,我们的底层应用程序运行在 M33 内核上。我们正在尝试将其集成到现有的 ethous_rpmsg_app 中,但它已经消耗了大量内存。我们需要将内存大小从 128K 增加到 256K。请分享一下实现这一目标的方法。
演示示例 m33_sdk_work/boards/mcimx93evk/demo_apps/ethosu_apps_rpmsg 的内存消耗 -
截图来自 2025-03-13 16-48-10.png
希望你一切都好。
TCM 和 M33 内核存在问题,因为 M33 SDK 映像必须从 ROM 代码启动,而 ROM 代码使用系统 TCM 来保存堆栈。
遗憾的是,目前没有办法直接使用 256KB 代码 TCM。
顺祝商祺!
萨拉斯。