IAR USING PRE- AND POST-BUILD ACTIONS
Using pre-build actions for time stamping
If necessary, you can specify pre-build and post-build actions that you want to occur before or after the build.
The Build Actions dialog box—available from the Project menu—lets you specify the actions required.
For more information about the Build Actions dialog box, see Build actions options, page 215.
Using pre-build actions for time stamping
You can use pre-build actions to embed a time stamp for the build in the resulting binary file. Follow these steps:
1 Create a dedicated time stamp file, for example, timestamp.c and add it to your project.
2 In this source file, use the preprocessor macros __TIME__ and __DATE__ to initialize a string variable.
3 Choose Project>Options>Build Actions to open the Build Actions dialog box.
4 In the Pre-build command line text field, specify for example this pre-build action:
cmd /c "del "$OBJ_DIR$\timestamp.o""
This command removes the timestamp.o object file.
Alternatively, you can use the open source command line utility touch for this purpose
or any other suitable utility that updates the modification time of the source file. For example:
"touch $PROJ_DIR$\timestamp.c"
5 If the project is not entirely up-to-date, the next time you use the Make command,
the pre-build action will be invoked before the regular build process.
Then the regular build process must always recompile timestamp.c and
the correct timestamp will end up in the binary file.
If the project already is up-to-date, the pre-build action will not be invoked.
This means that nothing is built, and the binary file still contains the timestamp for when it was last built.
ADDING AN EXTERNAL TOOL
The following example demonstrates how to add the tool Flex to the toolchain.
Thesame procedure can be used also for other tools.
In the example, Flex takes the file myFile.lex as input. The two files myFile.c and myFile.h are generated as output.
1 Add the file you want to work with to your project, for example myFile.lex.
2 Select this file in the workspace window and choose Project>Options. Select Custom Build from the list of categories.
3 In the Filename extensions field, type the filename extension .lex. Remember to specify the leading period (.).
4 In the Command line field, type the command line for executing the external tool, for example
flex $FILE_PATH$ -o$FILE_BNAME$.c
During the build process, this command line is expanded to:
flex myFile.lex -omyFile.c
Note the usage of argument variables.
Note specifically the use of $FILE_BNAME$ which gives the base name of the input file,
in this example appended with the c extension to provide a C source file in the same directory as the input file foo.lex.
For more information about these variables, see Argument variables, page 71.
5 In the Output files field, describe the output files that are relevant for the build.
In this example, the tool Flex would generate two files—one source file and one header file.
The text in the Output files text box for these two files would look like this:
$FILE_BPATH$.c
$FILE_BPATH$.h
6 If the external tool uses any additional files during the build, these should be added in the Additional input files field, for instance:
$TOOLKIT_DIR$\inc\stdio.h
This is important, because if the dependency files change, the conditions will no longer be the same and the need for a rebuild is detected.
7 Click OK.
8 To build your application, choose Project>Make.
IAR USING PRE- AND POST-BUILD ACTIONS的更多相关文章
- ios添加pre和post build action
再vs中,我们可以很方便的再build前.后执行一些脚本为我们做点什么事情.再ios中怎么搞呢,哪必然是对xcode进行操作了.再google搜索了一把,有说操作Scheme的也有说再直接再targe ...
- IAR EWARM Checksum Technical Note
IELFTOOL Checksum - Basic actions EW targets: ARM, RH850, RX, SH, STM8 EW component: General issues ...
- Jenkins Post Build网址
Hudson Post build taskhttps://plugins.jenkins.io/postbuild-taskThis plugin allows the user to execut ...
- 痞子衡嵌入式:在IAR开发环境下RT-Thread工程函数重定向失效分析
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下RT-Thread工程函数重定向失效分析. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
- 痞子衡嵌入式:深扒IAR启动函数流程之段初始化函数__iar_data_init3实现
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR启动函数流程里的段初始化函数__iar_data_init3实现. 本篇是 <IAR启动函数流程及其__low_level_ ...
- 痞子衡嵌入式:在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
- 【STM32H7教程】第6章 STM32H7工程模板建立(IAR8)
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第6章 STM32H7工程模板建立(IAR8) 本章 ...
- 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(2)- KBOOT形态(ROM/Bootloader/Flashloader)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT形态. 痞子衡在前一篇文章里简介了 KBOOT架构,我们知道KBOOT是一个完善的Bootl ...
- Calculate CRC32 as in STM32 hardware (EWARM v.5.50 and later)
http://supp.iar.com/Support/?note=64424&from=note+11927 BackgroundThe STM32 devices from ST Micr ...
随机推荐
- Shell教程4-Shell替换
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: 复制纯文本新窗口 #!/bin/bash a=10 echo -e & ...
- ios 内存管理 心得
- alloc, copy, retain会把引用计数+1 - release会把引用计数-1 - 局部变量如果初始化时不是autorelease的,要及时调用release释放,并且赋值为nil否则 ...
- unable to load default svn client
解决方法: .windows->preferences->Team->SVN->SVN接口 选择SVNKit...
- 11、NFC技术:NDEF Uri格式解析
NDEF Uri格式规范 与NDEF文本格式一样,存储在NFC标签中的Uri也有一定的格式 http://www.nfc-forum.org/specs/spec_dashboard 编写可以解析Ur ...
- MIME邮件格式
转自:http://kptu.iteye.com/blog/890180 排版做了调整. Q.什么是MIME?什么是MIME邮件? A. MIME, 全称为"Multipurpose Int ...
- windows下ncl生成tiff图(案例)
一:安装软件和准备数据 1.需要安装Vapor(注意安装路径不要存在空格) 注:版本2.4.2及以后 2.安装NCL,方法见http://www.cnblogs.com/striver-zhu/p/4 ...
- PHP 优化详解
笔者收集的这些技巧来源较广,完整性不能保证. 由于数量较多,这些优化技巧没有经过测试.请各位看官在使用之前自行测试,毕竟这些技巧是否能派上用场,还是需要由PHP所在的独特环境所决定的. 目录索引 找到 ...
- shell 中awk、if while 例子
1.if while命令写在一行中while read a b;do echo $a $b;done < aa.txt12 13 14cat aa.txt12 13 14if [[ $i -eq ...
- C++中string 的使用
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持 ...
- 性能测试-Jmeter
缘由 很多情况下我们写程序过程中只会对固定模块采取并发限制,而且asp.net对于多线程也有他自己的处理机制,尤其对于注重业务,结果导向的团队可能更注重一定时间节点给出满意的产品,但是你的模块到底是否 ...