Dear NXP Support Team,
I am currently working with the NXP Layerscape LX2080A processor and developing applications in a bare-metal environment using CodeWarrior Development Studio.
I would like to request any available resources, reference projects, or example codes for the following:
My objective is to develop and debug bare-metal applications without an operating system, and any reference materials or sample projects would be highly appreciated.
Board Information:
Please let me know if there are any recommended documents, repositories, training materials, or community resources available for this use case.
Thank you for your support
sai chandu
Hello,
After installing CodeWarrior for QorIQ LS Series ARMv8, the following stationery/example projects are available directly in the IDE:
Located at:
This example includes:
start.S)exceptions.c, exceptions.S)___DDR_ADDRESS, ___MEMORY_SIZE, ___CORE_NUMBERMulticore tip (LX2160A/LX2080A): To run on cores beyond Core 0 and Core 1, duplicate the
LX2160A_RDBtarget connection and modify the Target Initialization File with the correctCORE_CONTEXTandSAP_CORE_CONTEXTfor each additional core. Disable DDR/PHY re-initialization for secondary cores.
Located at: {CW_ARMv8}\ARMv8\CodeWarrior_Examples\
UART_C_Static_Lib_Bare — printf support through UART port (note: this library targets LS-series UART; the LX2160A/LX2080A uses a different UART controller — see note below) simrdimon.specs with uart.specs in linker flags For the LX2080A, DDR initialization in a bare-metal context follows the same flow as LX2160A:
ddr_init.cfip_ddr.bin) must be deployed at 0x00800000 on XSPI flash 0x0000_8000_0000; Region #1 must be included (DPAA/QMAN dependency) Linker script DDR configuration example:
PROVIDE (___DDR_ADDRESS = 0x80000000);
PROVIDE (___MEMORY_SIZE = 0x1effffff);
PROVIDE (___CORE_NUMBER = 0);
PROVIDE (___START_RAM_ADDRESS = ___DDR_ADDRESS + ___CORE_NUMBER * ___MEMORY_SIZE);
The LX2080A UART controller is NOT backward compatible with the PrimeCell UART used in LS-series processors. The built-in UART_C_Static_Lib_Bare library only supports LS-series UART. For LX2080A UART output, you will need to implement your own driver based on the LX2160A Reference Manual UART register map, or reference SDK UART driver examples.
Community resources for UART on LX2160A/LX2080A:
NXP's Real-Time Edge Software includes a bare-metal framework for LX2160ARDB-REV2 (compatible with LX2080A designs):
Community knowledge base article: Application Development based on BareMetal framework in Real-Time Edge Software
Regards