查看: 4327|回复: 2

[MQX] 如何使用GNU GCC编译MQX应用

[复制链接]

该用户从未签到

30

主题

61

帖子

0

高级会员

Rank: 4

积分
971
最后登录
2025-7-21
发表于 2014-3-28 16:07:48 | 显示全部楼层 |阅读模式
 
如何使用GNU GCC编译MQX应用

         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.5Cross_Tools目录已经自带了GNU GCC for ARM Cortex-M4内核的交叉编译工具链。

 
4.       安装MinGW(Minimalist GNU on Windows) GNU工具集,在WindowsGNU GCC需要使用make.exesed.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,指定ASCCCXARLD等工具的可执行文件。
 
#------------------------------------------------------------
# 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.apsp.ashell.artcs.ausbd.ausbh.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将会编译应用程序代码,并与MQXbsp.apsp.a的库文件链接,生成.elf格式的可以执行文件。

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

 
我知道答案 目前已有2人回答

如何使用GNU GCC编译MQX应用.pdf

526.6 KB, 下载次数: 19, 下载积分: 威望 1

回复

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-20 10:55
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    1189

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1642
    最后登录
    2022-3-21
    发表于 2016-8-23 12:51:54 | 显示全部楼层
    mark   cw10gcc 和CW10的工程有什么区别吗
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-12-31 08:09
  • 签到天数: 438 天

    连续签到: 1 天

    [LV.9]以坛为家II

    9

    主题

    510

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1673
    最后登录
    2020-12-31
    发表于 2018-11-26 18:54:55 | 显示全部楼层
    我也要试一把
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 06:16 , Processed in 0.088499 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表