如何使用GNU GCC编译MQX应用

如何使用GNU GCC编译MQX应用,第1张

1. 安装MQX4.0,在飞思卡尔官网把MQX的安装文件下载下来。

2. 安装好之后会在安装目录下生成如下图所示的子目录。

build目录:包含了飞思卡尔不同平台不同编译器的相关库的Makefile文件。具体内容如下列表示意图所示:

build

+---common

| +---make... shared Makefiles with global settings, variables and paths

+---... board-specific folder

| +---make... folder contains mass-build Makefile for all libraries

| +---tools ... tool-specific global settings, variables and paths

| +---bsp ... BSP Library Makefile

| +---psp ... PSP Library Makefile

| +---mfs ... MFS Library Makefile

| +---rtcs... RTCS Library Makefile

| +---shell ... Shell Library Makefile

| +---usbd... USB Device Library Makefile

| +---usbh... USB Host Library Makefile

+---

+---make

3. 安装CodeWarrior Development Studio V10.5编译器。在飞思卡尔官网把CW10.5的安装文件下载下来。安装CW10.5时,请注意安装目录名称不要带空格。

CW10.5的Cross_Tools目录已经自带了GNU GCC for ARM Cortex-M4内核的交叉编译工具链。

4. 安装MinGW(Minimalist GNU on Windows) GNU工具集,在Windows下GNU GCC需要使用make.exe和sed.exe等工具。

5. 上述软件安装完毕后,按照实际安装情况,修改编译MQX所需的交叉工具链的目录。

1).修改全局宏定义脚本$MQX_DIR\build\common\make\global.mak

指定GNU 交叉工具链的安装路径TOOLCHAIN_ROOTDIR宏定义,如:

TOOLCHAIN_ROOTDIR = C:/Freescale/CW10_5

2).指定编译某一硬件平台需要GNU GCC编译器的具体安装路径。如需要编译twrk60d00m这款Demo板,修改脚本文件$MQX\build\twrk60d100m\make\tools\cw10gcc.mak,指定AS,CC,CX,AR,LD等工具的可执行文件。

#------------------------------------------------------------

# toolchain settings

#------------------------------------------------------------

AS = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe

CC = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe

CX = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe

AR = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-ar.exe

LD = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe

6. 修改完毕上述脚本后,就可以开始使用GNU GCC编译MQX。在windows命令窗口下进入需要编译的目录,如Tower K60的编译目录:$MQX\build\twrk60d100m\make。在命令行下输入make指令:

C:\Freescale\Freescale_MQX_4_0\build\twrk60d100m\make>mingw32-make build TOOL=cw10gcc CONFIG=debug

这条make指令能够将整个MQX进行编译,并生成bsp.a,psp.a,shell.a,rtcs.a,usbd.a,usbh.a等库文件。

7. MQX系统库编译完毕后,可以进行应用程序的编译。在命令窗口进入需要编译的应用程序目录。如需要编译hello例程代码,进入$MQX\mqx\examples\hello\make目录,在命令下输入make命令:

C:\Freescale\Freescale_MQX_4_0\mqx\examples\hello\make>mingw32-make BOARD=twrk60d100m TOOL=cw10gcc CONFIG=debug LOAD=intflash build

GNU GCC将会编译应用程序代码,并与MQX的bsp.a,psp.a的库文件链接,生成.elf格式的可以执行文件。

8. 下载调试.elf可执行文件。在CW10.5中New创建一个Bareboard Project工程,选择需要使用的下载调试器,并且选定使用GNU GCC作为编译器。在菜单Properties -->Run/Debug Setting中选择需要下载的目标文件。然后通过菜单Run-->Debug下载调试程序。

MQX与FreeRTOS都是开源免费的实时 *** 作系统,商业应用免费。MQX有NXP公司长期支持,其中MQX系统有RTCS、文件系统MFS、USB主机/设备协议栈等配套软件集合。大大缩短软件开发周期,应用于多种平台;FreeRTOS是不多的同时具有实行性,开源性,可靠性,易用性,多平台支持等特点的嵌入式 *** 作系统。目前,FreeRTOS已经发展到支持包含X86,Xilinx,Altera等多达30种的硬件平台。μC/OS-III是专门为计算机的嵌入式应用设计的,μC/OS-III 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 。uC/OS-III是最新的RTOS,评估应用免费,商业开发需付费,包含多种套件文件系统、GUI、TCP/IP组件等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12048074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存