We are reviewing the imx933 and just found the M33 only has 128KB available in its default config. Per the imx93 RM we see that BLK_CTRL_S_AONMIX register M33_CFG should allow us to combine the 2x128KB block together by setting 01 for DOUBLE_CODE.
Are there any examples of this? None of the linker scripts in the SDK (SDK_2_16_000_MCIMX93-EVK) use anything bigger than 128k and I cannot find any references to this in any SDK example/demo.
How do we utilize this? Is it simply a matter of setting the register at init/reset and modifying the linker script?
Hello @Manuel_Salas
I have read this discussion about using the TCM as code memory.
I wanted to ask about the other option: would it be feasible to use the 256 KB TCM as additional data memory instead?
This would involve changing m33_cfg[tcm_size] = 0b10. (DOUBLE_DATA_TCM)
I patched the m33_prepare() function to change the register and zeroize the 0x20200000 region in order to clear the TCM and initialize it for ECC.
U-Boot and the Linux kernel start without any warnings or errors. However, when I start the firmware using remoteproc, it causes the entire system to restart without any error messages.
Do you have any advice on how to fix this?
Best regards,
Hi,
We are using an NPU for an ML application, which requires Ethos. However, our low-level application runs on an M33 core. We are trying to integrate it into the existing ethous_rpmsg_app, but it already consumes a lot of memory. We need to increase the memory size from 128K to 256K. Please share the method to achieve this.
Memory Consumption of Demo example m33_sdk_work/boards/mcimx93evk/demo_apps/ethosu_apps_rpmsg -Screenshot from 2025-03-13 16-48-10.pngScreenshot from 2025-03-13 16-48-10.png
Hello @TRX_Ivan
I hope you are doing very well.
There is an issue with TCM and M33 core because M33 SDK image has to be started from ROM code, which use system TCM to save stack.
Unfortunately, there is not workaround to directly use 256KB code TCM.
Best regards,
Salas.