Hi,
We wanted A53 Core of iMX8M board to run Baremetal code in 32-bit mode.
Can someone point us to the compiler and the startup code?
And what debugger should be used? We use Lauterbach, When we try to debug A53, it by default goes to 64bit mode. Is there any other way to use Lauterbach? or is there any other debugger?
Regards,
Shreyas H
In any boot mode of the i.MX8M processor, the code execution starts from the Boot ROM code that performs some initial SoC configuration and then loads the software from a boot media according to the boot configuration, selected by the BOOT_CFG[15:0] signals or corresponding e-fuses. For details, please refer to the Section 6.1 "System Boot" of the i.MX8M Reference Manual document, available on the processor's Documentation web page:
For details on the Cortex-A53 core configuration and operation, please refer to the corresponding documentation by ARM:
https://developer.arm.com/ip-products/processors/cortex-a/cortex-a53
NXP by itself does not provide any software for Cortex-A series cores bare metal development. Only some OS-based Board Support Package kits (BSPs) are available:
https://www.nxp.com/design/software/embedded-software/i-mx-software:IMX-SW
The MCUXpresso SDK (with and without FreeRTOS support) is available for Cortex-M series cores, embedded in some i.MX series processors:
https://mcuxpresso.nxp.com/en/welcome
Best Regards,
Artur
Hi Shreyas H,
your Lauterbach TRACE32 debugger will automatically switch to 32/64 bit mode depending on the current processor configuration.
You can manually change mode by writing to the CSPR register, or by right-clicking the mode in the Register window. This is enough for first test, however in the long term you'll have to find out how to boot the processor into 32-bit mode autonomously.
Best regards,
Reinhard