BK3633 Keil 环境下一键编译 Debug 和 Release 版本的设置说明

一 目的

  1. 一次编译出 Debug 和 Release 版本,提高效率;
  2. 固件名自动填充版本号和编译日期,便于发布与调试。

二 步骤

2.1 打开 BK3633 的 app_gatt 的 Keil 工程文件

在这里插入图片描述

2.2 修改原始目标为 Debug 和新增 Release 目标

在这里插入图片描述

2.3 在 app_gatt\obj 目录中新增 debug 和 release 目录,用于存放各自对应的编译目标文件

在这里插入图片描述

2.4 修改 Debug 和 Release 目标生成的目标文件路径到上一步骤创建的 debug 和 release 目录

Debug 目标如下:
在这里插入图片描述
Release 目标如下:
在这里插入图片描述

2.5 修改 Debug 和 Release 目标生成 bin 文件的 fromelf 命令的输入文件路径

Debug 目标如下:
在这里插入图片描述
Release 目标如下:
在这里插入图片描述

2.6 修改 translate.bat 文件内容,使其输出带有版本号,编译日期,debug 或 release 字样的固件名

在这里插入图片描述
此处切记,编辑器默认的换行符必须是 CRLF,否则 bat 脚本将无法成功运行

translate.bat 内容如下:

:: 获取发布标记输入参数值
set RELEASE_FLAG=%1%

:: 由于不好同步代码里面版本号,所以此处也需要创建相同的版本变量,
:: 版本号变更时,此处也需要变更,才能使得生成 oad ota 升级文件变更版本号.
set APP_MAJOR_VER=1
set APP_MINOR_VER=0

:: 获取当前日期,例如:20220507
set /a APP_VER=(APP_MAJOR_VER "<<" 4) + APP_MINOR_VER
set BUILD_DATE=%date:~2,2%%date:~5,2%%date:~8,2%

:: SDK traslate.bat 自带内容
.\output\BinConvert  -oad .\output\boot\bk3633_boot.bin  .\output\stack\bk3633_stack.bin  .\output\app\bk3633_app.bin -m 0x1F00 -l 0x25b00 -v %APP_VER% -rom_v 0x000D -e 00000000 00000000 00000000 00000000

:: 先修改文件名,再复制文件到组合了版本号、编译日期、发布版本标记的固件名文件,此处保留原始文件,是为了方便追踪
move .\output\app\bk3633_app_merge_crc.bin .\output\app\bk3633_app_merge_crc_%RELEASE_FLAG%.bin
move .\output\app\bk3633_app_oad.bin .\output\app\bk3633_app_oad_%RELEASE_FLAG%.bin
copy .\output\app\bk3633_app_merge_crc_%RELEASE_FLAG%.bin .\output\app\bk3633_app_merge_V%APP_MAJOR_VER%.%APP_MINOR_VER%_%BUILD_DATE%_%RELEASE_FLAG%.bin
copy .\output\app\bk3633_app_oad_%RELEASE_FLAG%.bin .\output\app\bk3633_app_oad_V%APP_MAJOR_VER%.%APP_MINOR_VER%_%BUILD_DATE%_OTA_%RELEASE_FLAG%.bin
2.7 在 Debug 和 Release 目标执行 translate.bat 脚本时分别增加输入参数 debug 和 release

Debug 目标如下:
在这里插入图片描述
Release 目标如下:
在这里插入图片描述

2.8 修改编译选项,源文件中判断宏定义是否定义,来区别 debug 和 release 版本

Debug 目标新增如下编译选项:
在这里插入图片描述
Release 目标不新增该编译选项

源文件中使用如下条件判断:

#ifdef APP_DEV_DEBUG
	//debug 版本
#else
	//release 版本
#endif

其实 Debug 和 Release 目标最主要的区别就在于调试打印信息是否输出

2.9 保存以上所有工程修改

在这里插入图片描述

三 执行

3.1 单独编译 Debug 目标

在这里插入图片描述

3.2 一次性编译 Debug 和 Release 目标

在这里插入图片描述

四 结果

一次性编译后,在目标目录下自动生成了如下文件,避免了每次发布版本需要手动添加版本号和编译日期等信息,提高了效率
在这里插入图片描述

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!要在Keil中配置芯片编译环境,您可以按照以下步骤进行操作: 1. 下载并安装Keil MDK(Microcontroller Development Kit)软件,确保您已获得合法的许可证。 2. 打开Keil软件,点击"Project",然后选择"New µVision Project"。 3. 在弹出的对话框中,选择一个文件夹来保存您的项目,并为项目命名。 4. 选择您要使用的芯片型号。如果您的芯片型号不在列表中,请确保您已经正确安装了相关的芯片支持包或者更新了Keil软件版本。 5. 点击"OK"后,Keil会为您创建一个新的项目,并自动打开一个空的编辑器窗口。 6. 在左侧的"Project"窗口中,右键单击您的项目,并选择"Options for Target"。 7. 在弹出的对话框中,您可以配置编译器、链接器和调试器等选项。其中,最重要的是配置芯片的相关设置,比如时钟频率、存储器布局等。这些设置通常通过芯片厂商提供的设备描述文件(Device Description File)进行配置。您可以在芯片厂商的官方网站上找到这些文件并下载。 8. 在"Options for Target"对话框中,选择"Debug"选项卡,配置您要使用的调试器。 9. 完成配置后,点击"OK"保存设置并关闭对话框。 10. 现在,您可以在Keil中编写和编译您的代码,并通过调试器进行调试和仿真。 以上是在Keil中配置芯片编译环境的基本步骤,具体的操作可能因不同的芯片型号和软件版本而有所差异。建议您参考Keil软件的官方文档或者芯片厂商提供的开发指南,以获取更详细的配置指导。祝您编译顺利!如需进一步帮助,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值