自动生成版本信息,重新编译指定文件,一键编译IAR工程同时生成hex,bin,out文件

平台:IAR + windows_bat

1.自动生成版本信息 目的: 脚本自动更新程序svn对应的的版本号

前提: svn需要安装command line (参考 https://jingyan.baidu.com/article/a3a3f8113f89198da2eb8aed.html)

主要技术点: 具体.bat脚本主要来源于网络,文件放置在agv_dev_platform->User目录下,编译脚本将生成svnversion.h文件,文件内容仅是SVN_REVISION的一个宏,最终程序使用这个宏进行版本显示即可

配置方法: 在程序编译之前执行更新svnversion.h文件,具体操如下 IAR->右击工程options->Build Actions->Pre-build Actions

2.编译工程的同时更新编译时间,一键编译IAR工程同时生成hex,bin,out文件

目的: 在指定工程目录下Exe文件夹下生成类似“F4-20180815-180547”的文件夹,同时文件夹中包含以文件为名的bin、hex、out文件,方便版本定位和调试

前提: IAR必须配置为生成hex文件,且名字为project,具体操作如下 IAR->右击工程options->Output Converter->Output->output format选择Interl Extended hex并勾上Generate additional output IAR必须配置为生成project.out文件,具体操作如下 IAR->右击工程options->Linker->Output中填写project.out

主要技术点: 文件主要涉及到两个脚本,具体内容已经放置在project->batcmd下面,重新编译指定文件主要是删除指定文件的.O文件,一键编译主要流程为在程序编译结束之后将hex和out文件重新命名,同时移动到一个以时间戳命名的文件夹内,最后再增加一个由hex转化成bin的文件

配置方法: 在程序编译之前执行更新svnversion.h文件,具体操如下 IAR->右击工程options->Build Actions->Post-build Actions Configuration->增加命令“$PROJ_DIR$\..\batcmd\rename.bat EWARMv8-App app-agv main_app project F4-” 命令内容根据不同的工程可能会有些许的不同,务必填写,脚本中需要其中的参数去找到固件对应的目录,每个参数分析如下

  • 命令:$PROJ_DIR$\..\batcmd\rename.bat /* 执行重命名脚本 */
  • 参数1:EWARMv8-App/* 该名字来源于工程名,工程吗是什么填写什么 */
  • 参数2:app-agv/* 该名字来源于configurations,项目是叫什么填写什么 */
  • 参数3:main_app/* 该名字来为指定需要重新编译的文件,目前工程中F4使用main_app,F1使用main_stm32f10x_app */
  • 参数4:project/* 暂时规定为project不可以修改,其为out和bin的文件名 */
  • 参数5:F4-/* 暂时规定F4统一使用F4-,F1统一使用F1-,该参数主要为生成目的固件名字的头 */

附件:

1 @echo off
2 set src_dir=%~dp0
3 for /f "delims=" %%i in (‘svn info ^| findstr "Revision"‘) do set rev=%%i
4 set rev=%rev:~10%
5 echo #define SVN_REVISION %rev% > "%src_dir%"svnversion.h

svnversion.bat

rename.bat

原文地址:https://www.cnblogs.com/mrsandstorm/p/9485972.html

时间: 2024-11-05 13:29:31

自动生成版本信息,重新编译指定文件,一键编译IAR工程同时生成hex,bin,out文件的相关文章

SVN仓库连同版本信息迁移新服务器的步骤

SVN仓库连同版本信息迁移新服务器的步骤 步骤一:导出(1)链接原服务器,找到SVN Server安装路径下的bin文件,并复制文件路径,如 C:\Program File\SVN Server\bin(2)打开cmd,定位到SVN Server安装路径,如:cd C:\Program File\SVN Server\bin (3)开始导出仓库及版本信息,(仓库路径如:E:\Repositories\Program,导出文件存储路径如:E:\Output\data.dump),输入: svnad

Linux 内核、系统 版本信息 获取

1.查看内核 ## 通过读取 /proc/version 文件,获取内核版本信息 # cat /proc/version ## 直接通过 uname命令 获取内核信息 # uname -r   2.查看系统版本 ## lsb_release 命令查看 ## lsb_release -a 查看系统所有信息 ## lsb_release -sc 只查看系统版本发行号 # lsb_release -a # lsb_release -sc ## 读取 /etc/issue 文件,获取系统版本信息,适用于

eclipse工程当中的.classpath 和.project文件什么作用?

.project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH .classpath 文件从数据上我们容易看出,上面描述了工程的依赖文件:源文件的具体位置(kind="src")运行的系统环境(kind="con")工程的library的具体位置信息(kind="lib")在每个lib的xml子节点中,有关于它的其它配置信息(例

myeclipse工程当中的.classpath 和.project文件什么作用?

.project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH .classpath 文件从数据上我们容易看出,上面描述了工程的依赖文件: 源文件的具体位置(kind="src") 运行的系统环境(kind="con") 工程的library的具体位置信息(kind="lib") 在每个lib的xml子节点中,有关于它的其它配置

前端开发环境之GRUNT自动WATCH压缩JS文件与编译SASS文件

前端开发环境之GRUNT-JAVASCRIPT任务运行器 前言: 1.sass编译为css文件,早先时刻写css,后来看了sass挺不错的,于是在新的项目中开始使用上了sass. 原方法: ①安装ruby ②编译sass文件(eg:style) sass style.scss style.css ③监控文件/文件夹的变化来自动编译sass文件 sass --watch style.scss:style.css #file sass --watch cssFilePath            

vs下取得资源文件中的版本信息

转载于:http://www.cnblogs.com/procoder/archive/2009/11/13/windows-mobile-wtl-version.html 在Windows Mobile和Wince(Windows Embedded CE)下开发的产品,有时候需要显示当前产品的版本信息.一般来说,版本信息是保存在资源文件里面的,例如下图: 为了保持一致,所有版本信息应该都从资源文件读取,不应该另外硬编码(Hard code). 下面讲述读取资源文件版本信息的方法: 1.在资源文

编译最新版jwplayer播放器,修改logo,右键版本信息

自己动手,丰衣足食 不需要flash builder或者flex builder 编译版本6.11 flex版本:4.13.0 ant版本:1.9.4 最终效果图: 一.下载源代码 jwplayer: https://github.com/jwplayer/jwplayer flex: http://sourceforge.net/adobe/flexsdk/wiki/Downloads/ ant: http://ant.apache.org/bindownload.cgi 二.修改jwplay

python+selenium之自动生成excle,保存到指定的目录下

进行之自动化测试,想把自动生成的excle保存到指定的目录下.网上百度的代码如下: 1 import xlwt 2 import time 3 time = time.strftime ('%Y%m%d%H%M%S', time.localtime (time.time ())) 4 7 w = xlwt.Workbook () # 创建一个工作簿 8 ws = w.add_sheet ('卡批量入库4.xls') # 创建一个工作表 9 ws.write (0, 0, '卡号') # 在1行1

反编译C#的dll文件并修改,再重新生成dll

1.把dll文件导入到ildasm工具中,ildasm是由微软提供的.net程序反编译工具,位于“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin” 2.在ildasm中File->dump,把dll文件转储为*.il文件存到某个指定文件夹里,得到*.il和*.res两个文件,有时也会有*.resource文件 3.打开得到的*.il文件,找到对应的方法,进行修改(如果修改的代码太多,那则需要先学习一下“C#反编译之IL语法”),具体情况具体分析