MQX RTOS developers can now build and debug MQX RTOS on Linux computers right out-of-the-box without extensive setup steps.
Linux support is provided in a separate version of MQX 4.1.0, repackaged for use on Linux systems. Kinetis & Vybrid BSPs from MQX 4.1.0 are supported. The new package is in beta stage. It includes the same basic code as the previous 4.1.0 version, with just the changes needed to build and debug on Linux systems.
Download Freescale MQX RTOS 4.1.0 for Linux Beta
Depending on the popularity of this release, Freescale may extend Linux support to future MQX RTOS mainline releases. Stay tuned.
Give us your feedback! Post to the MQX community. Let us know what you think.
Development tools Supported:
Here are some brief instructions I put together when using with Ubuntu 12.04:
- Download and install gcc for arm (comes with gdb for debugging)
See other post: gcc compiling + gdb debugging on Kinetis on a Linux host - Kinetis L Examples available
- Download and extract the .tar.gz file to a location of your choice
mac@mac-VirtualBox:/$ tar -zxvf Freescale_MQX_4_1_LINUX_beta.tar.gz
- Edit global.mk to tell it where your gcc toolchain is located.
mac@mac-VirtualBox:/$ cd <directory where you extracted mqx>/Freescale_MQX_4_1_LINUX_beta/build/common/make/
mac@mac-VirtualBox:/$ vi global.mak
un-comment the section on gcc_arm and set the TOOLCHAIN_ROOTDIR. For my toolchain gcc is installed to the path /usr/
ifreq ($(TOOL),gcc_arm)
TOOLCHAIN_ROOTDIR = /usr/
endif
- See MQX GNU Getting Started Guide for instructions on how to build and debug.
This document is located at /Freescale_MQX_4_1_LINUX_beta/doc/tools/gnu/
Good luck with your next project. Happy developing!
By the way, makefiles are available to build all MQX libraries and example applications using gnu make and gcc. Both Windows (w/ mingw utilities) and Linux are supported.
Shell scripts that call make are available in /build/<board>/make/ for the libraries
and /build/make/<example name>_<board>/ for the applications.
You can also call make directly.
Examples:
from the directory of the library makefile (e.g. "/mqx/build/make/bsp_twrk60n512")
mac@mac-VirtualBox:/$make TOOL=gcc_arm CONFIG=debug build
or from the directory of the application makefile (e.g. "/mqx/examples/hello/build/make/hello_twrk60n512")
mac@mac-VirtualBox:/$ make TOOL=gcc_arm CONFIG=debug LOAD=intflash build
See MQX_GNU_Getting_Started.pdf in /doc/tools/gnu/ for details.
I know that many people will want to build everything from the a single directory. This avoids the hassle of moving into the directory of the specific application you want to build. This can be easily accomplised in many ways depending on your preference. I created a simple shell script to do this. This method is not the most sophisticated but it seems to work.
!/bin/bash
EXAMPLE=$1
TARGET=$2
MYDIR="$pwd"
cd ./mqx/examples/$EXAMPLE/build/make/${EXAMPLE}_${TARGET}/
make TOOL=gcc_arm CONFIG=debug LOAD=intflash clean
make TOOL=gcc_arm CONFIG=debug LOAD=intflash build
cd $MYDIR
This is called by "mac@mac-VirtualBox:/$ bash <your_script_name>.sh hello twrk21d50m" to build the hello example application for the twrk21d50m board.