Hi there,
I am working with ...
and have created a new project for the i.MXRT1172 (M7 only, no M4 core) based on the SDK for the i.MXRT1170 EVKB board.
While comparing the output for clock_config.c with a standard enet example (enet_txrx_transfer.c), I noticed these differences
Left: my project based on the 1172, right: imported example code for enet_txrx_transfer.c
See below the settings that the code was generated with
Although the 1172 doesn't have an M4 core, the code for the clock configuration is executed unconditionally due to removing the #if __CORTEX_M == 4 statements instead of removing the code contained therein.
The most positive assumption that I can come up with is: the code that's executed for the M4 doesn't do any harm except wasting power.
I didn't check the rest of the generated code, so I'm asking for someone to shed some light on this.
Best regards,
Rainer
Hello Rainer,
Thank you for the report of this issue. You are right that the generated code shall be fixed to provide initialization of the Cortex M7 core specific clock roots only. So the Cortex M4 specific code shall be removed for RT1172 and RT1171.
You can also disabled the initialization code of the Cortex M4 specific clock roots using the Root clock initialization setting of the clock root output, see the following screenshot:
But the generated code still contain some issues (a part of the code is still generated).
I have created bug report for the development team. It will be fixed in the next release.
Best Regards,
Marek Neuzil
sorry, I missed to fill in the MCUXpresso version. It's MCUXpresso IDE v11.10.0 [Build 3148] [2024-07-03]