在线时间102 小时
UID166490
注册时间2010-1-5
NXP金币73
该用户从未签到
高级会员

- 积分
- 971
- 最后登录
- 2025-7-21
|
MQX支持使用GNU GCC编译器,并且提供了完整Makefile文件。下面介绍如何使用GNU GCC通过命令行方式编译MQX4.0。
1. 安装MQX4.0,在飞思卡尔官网把MQX的安装文件下载下来。[url=https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MQX]https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MQX[/url],
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时,请注意安装目录名称不要带空格。
[url=https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=CW-MCU10]https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=CW-MCU10[/url]
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下载调试程序。
|
|