I need to run LS1043A in 32bit execution state. Codewarrior doesn't support for creating a AArch32 baremetal project. Could any one provide me a LS1043A 32 bit SDK for a baremetal project or any alternative solution?
ARMv8 processors includes two execution states, AArch64 and AArch32.
In AArch32 state, the A32 and T32 instruction sets, that are compatible with earlier version of the ARM architecture.
You could install CodeWarrior for ARMv7, and create a bareboard project for LS1021 processor to have reference.
In your product design, probably you could refer to AARCH32 supporting in u-boot provided in Linux SDK.
Use AArch64 state u-boot bring up the board, then before u-boot loading Linux Kernel, switch the core to AArch32 mode, EL2, by setting up scr_el3, sctlr_el2, elr_el3 and spsr_el3 registers. Once the registers are setup, the “eret” instruction will bring the system to the address assigned in elr_el3, which is the entry point of 32-bit Linux kernel.