[[en:arm:tqma8mpxl:linux:yocto:how_to:yocto_build_system|Yocto Build System]]
\\
===== Setup M7 Core =====
This manual has been tested with Ubuntu 20.04 as host and the Segger J-Link debugger.
==== Toolchain Installation ====
* Download installer from [[https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads]]
* For the TQMa8MPXL you need the gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
* Unpack the tarball to the install directory, like this: ''cd ${install_dir} && tar xjf gcc-arm-none-eabi-_version_-linux.tar.bz2''
==== Setup J-LINK GDB Server ====
* Download J-Link Connect GDB Server from https://www.segger.com/products/debug-probes/j-link/tools/j-link-gdb-server/about-j-link-gdb-server/
* Install with dpkg-i JLink_Linux_V752d_x86_64.deb
* Connect Segger J-LINK with JTAG Interface on Mainboard (X22)
* Boot the STKa8MPxl in U-Boot
* Start the J-Link GDB Server with ''JLinkGDBServer -if JTAG -device MIMX8ML8_M7''
==== Build HELLO WORLD Application ====
* Open a second terminal
* Install the following packages on your host ''sudo apt install libncurses5 cmake''
* Download MCU Espresso SDK from TQ GitHub Repository
* Change System Variables to Toolchain SDK
export ARMGCC_DIR=${install_dir}/gcc-arm-none-eabi-9-2019-q4-major
export PATH=$PATH:${install_dir}/gcc-arm-none-eabi-9-2019-q4-major/bin
* Change in your MCU Espresso SDK directoy
cd ${MCU_Espresso_SDK}/boards/tqma8mpxl-mba8mpxl/demo_apps/hello_world/armgcc
* if necessary make the script //build_debug.sh// executable
chmod +x build_debug.sh
* run the script to build the firmware
./build_debug.sh
==== Run HELLO WORLD Application ====
* Open UART_3 in your serial console
* ''cd ${MCU_Espresso_SDK}/boards/tqma8mxnl-mba8mx/demo_apps/hello_world/armgcc/debug''
* ''arm-none-eabi-gdb hello_world.elf''
* ''target remote localhost:2331''
* ''monitor reset''
* ''monitor halt''
* ''load''
* ''monitor go''
* In your console ''TQ-Systems GmbH TQMa8MPxL-MBa8MPxL hello world.'' should be seen