使用QM的外部工具功能编译代码
来源:互联网 发布:炮火兰捏脸数据 编辑:程序博客网 时间:2024/05/22 05:45
参考 1:http://www.state-machine.com/qm/ui_tools-dlg.html
参考 2:http://www.keil.com/support/man/docs/uv4/uv4_commandline.htm
转载请标明出处:http://blog.csdn.net/chenbb8/article/details/52292009
注:本文的软件环境是QPC5.6.5+QM3.3+MinGW(g++ 4.9.3)+WIN7,并根据调试信息和软件版本,修改了原文中提供的相关命令。如果在你的电脑上出现了警告,可能是因为软件环境不一致,请根据信息自行修改命令。
在通过QM生成代码后(另文介绍),我们可以选择通过外部的IDE进行编译仿真,也可以直接通过QM的加载的外部工具直接编译代码。
这个功能需要用到QM的一个控件:管理工具对话框(Manage Tools Dialog Box)。
Manage Tools Dialog Box图标
管理工具对话框最多允许添加5个外部工具,并为每个工具分配一个快捷键(F8-F12)。
点击上面的图标,打开Manage External Tools对话框:
Manage External Tools
在管理工具对话框不同的几个输入框功能分别如下:
- Environment Variables
定义环境变量,这些环境变量被QM定义的所有外部工具所共享,并且只有在外部工具启动和运行的时候生效。这些环境变量的调用方式,在windows环境下通过%xxx%引用,而在linux环境下主要通过$(xxx)引用。 - External Tools
选择需要设置的外部工具,一共有5个外部工具,对应快捷键F8-F12。 - Icon
在Icon组合框中为这个工具选择一个图标。这个图标将会显示到 Tools Toolbar 和 Tools Menu. - Title
在Title框中输入工具的标题。这个标题可以在 Tools Toolbar 和 Tools Menu中辨认出对应的工具,并且在鼠标停留在Tools Toolbar工具的按钮上时候,还会有气泡提示。 - Command
在Command框,需要填入被调用的工具名称。如果这个工具的目录已经被添加到系统的环境变量中(右击”我的电脑”->属性->高级系统设置->高级->环境变量->系统变量->Path中,添加目录,注意目录和目录之间使用’;’号分隔),那么直接填入文件名(无需后缀)就好。如果没有,那么直接通过Command输入框右侧的图标选择对应的工具。 - Arguments
如果需要,可在这个输入框,填入参数。 - Initial Directory
一般情况下,都是希望Command在特定的工作目录下启动。例如,make 命令行工具需要启动于makefile文件所在的目录。在Initial Directory框输入指定初始工作目录,或者也可以点击右边的文件夹图标进行查找。另外也可以通过’.’符号作为使用相对路径(相对于QM model文件的路径)。Note:这个初始目录并不是指工具的位置。它是工具启动的工作目录。 - Generate code before launching
如果希望QM在运行外部工具之前生成代码,就可以勾选Generate code before launching框。 - Show error message box after failure
如果希望QM可以在外部工具失败后产生提示,就可以勾选Show error message box after failure框。 - Start as detached from QM
如果希望外部工具可以独立运行于QM之外,可以勾选Start as detached from QM。这个选项只有在外部工具拥有GUI的时候才生效。Note1:如果一个工具”分离”于QM运行,那么它必须被明确的关闭。
Note2:QM的第三方工具可以认为是通过命令行来进行调用的,”Command”是命令行调用的命令,”Arguments”是这个命令后带着的参数,”Initial Directory”就是当前的路径。如果本文中的调试结果和你那边的不一致,可以先运行CMD调试通了再添加到QM中
例1:添加GCC作为第三方工具
根据QM教程生成blinky.c后,根据如下图所示的方法添加REBUILD功能:
Setting up GCC build
Title:REBUILD
Command:gcc(假设已经将gcc的路径添加到环境变量中了)或者”%GCC_PATH%\gcc.exe”
Arguments:blinky.c -oblinky.exe -I%QPC%/include -I%QPC%/ports/win32 -L%QPC%/ports/win32/dbg -lqp
Initial Directory: . (model directory)
添加RUN功能的方法如下图所示:
Setting up Blinky run
Title: RUN
Command: blinky.exe (this assumes that gcc is on the PATH)
Initial Directory property: . (model directory)
例2:添加IAR作为第三方工具
许多成熟的嵌入式交叉编译器支持命令行,因为只有这样才算实现真正的自动化编译。例如,IAR就可以通过在命令行中调用IarBuild.exe编译程序。根据如下图所示的方法添加REBUILD功能:
Setting and Log of IAR build
注:家里电脑的EWARM出问题了,这里调用了EW8051编译cc2540的例程,EWARM编译QP的用法应该也一样,如果不行 就先用CMD先调用,根据信息调试下
Title:MAKE
Command:”C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.0\common\bin\IarBuild.exe”(注意带“”)
Arguments:SimpleBLEPeripheral.ewp -build CC2540(注意是ewp 最后一个参数是当前workspace下的configuration)
Initial Directory: D:\project\BLE-CC254x-1.3.2\Projects\ble\SimpleBLEPeripheral\CC2540DB
例3:添加MDK作为第三方工具
MDK不像IAR那样提供专门的,命令行下对工程进行操作的可执行文件。所以这次的操作没办法在QM的Log Console上输出编译过程信息。我们通过-o选项,将信息打印到Build_Output.txt中。
set up MDK build
Title:BUILD
Command:”C:\Keil_v5\UV4\UV4.exe”(注意带“”)
Arguments:-b blinky-qk.uvprojx -o Build_Output.txt-b编译 -r重编译 -f下载
Initial Directory: C:\qp\qpc\examples\arm-cm\blinky_efm32-slstk3401a\qk\arm
接下来我们通过笔记本将编译过程打印出来:
log of MDK build
- 使用QM的外部工具功能编译代码
- QM关于Repeater的使用
- eclipse使用外部工具快捷编译jni
- eclipse使用外部工具快捷编译jni
- ecplise 外部工具的使用
- (原创)Gedit外部工具脚本,用于编译C代码并在编译完成后执行
- qm
- IDEA 使用外部工具
- Rust 使用外部功能函数的几种方式
- 使用EditPlus工具进行简单的C#代码编译和测试
- Java 工程的外部依赖显示工具实现及使用
- JVM监控功能工具jstat的使用
- 使用GCC编译的常用功能
- opencontrail编译contrail-web-core时需要安装的外部工具nodejs
- jakarta-ant的使用(java编译工具)
- jakarta-ant的使用(java编译工具)
- jakarta-ant的使用(java编译工具)
- jakarta-ant的使用(java编译工具)
- js 原型和原型链详解,总结的很好,值得学习
- POJ 3180 The Cow Prom 求强连通分量 .
- 20160823群赛round6
- 用 GRUB 引导自己的操作系统
- hdu4352 XHXJ's LIS(数位dp+状压)
- 使用QM的外部工具功能编译代码
- nginx + lua环境搭建
- c++线程
- Libevent源码分析-----日志和错误处理
- centos7 安装 openvpn2.2.2 过程
- 大数据索引
- 页面的跳转技巧--setViewControllers
- Unity学习 第一章 环境搭建熟悉 unity
- phantomjs