一.前言
前面几篇文章写了一下关于cmake改造嵌入式编程的体验,点击查看
摆脱MDK,用cmake改造嵌入式软件开发体验
用IDE配置并运行cmake工程
读者反响不错,至今已有3个赞了,给了我很大的鼓舞(手动滑稽),今天就来分享一下嵌入式开发中最重要的环节,固件发布,毕竟,程序写的再溜,不出固件,老板拿什么卖钱嘛.
二.普通做法
首先说明一下一般大家做嵌入式发布程序的一般流程:程序猿在MDK编好固件之后,在工程目录的build的文件夹会产生编译出来的hex文件,如下图:
然后程序猿就把固件拷贝到一个新建的文件夹,重新命个名(因为mdk里生成的固件名称是固定的),一般是写上产品名称,版本号啊然后有一些特殊的定义也会加上(比如什么至尊版,加强版,普通版之类的区分同一产品的不同价位或者功能),再编写一个changlist或者版本记录,然后把版本记录也拷贝一份到文件夹内,然后再压缩发给测试人员或者生产负责人.
二.高级做法1.0
高级做法是编写一个脚本,比如python脚本或者bat(shell)脚本,在脚本里面执行一些拷贝或者某些系统命令,比如nrf52832带sdk的程序就需要把sdk合并到最终的hex文件里去.
比如这样:
这样的话可以做到针对某个编译参数生成特定名称的固件,可以算是一个提高吧,用MDK的话就可以采取这种方式
三.高级方法2.0
高级做法2.0是高级做法1.0的升级版,前提是需要搭建好cmake的编译环境,闲话少说,上法宝:
---------19-12-10更新-----------
四.高级版MDK版
最近发现MDK同样可以做到clion或者qtcreater同样的高级方法,共享如下,本质上还是运用python脚本,python真的可以做好多事情,配置如图:
也不是很难理解,具体为什么我就不讲了,同学们照着我的葫芦能画出来瓢就行.
以上就是更新的内容,最近发现MDk也不是那么的烂,还是算比较灵活的,后面一篇搞几个MDK高级操作,列位看官请上眼.
五.总结
目前,关于固件生成的批量化就简单研究到这里了,如果同学们还有什么需求可以一起探讨.文章有错误在所难免,欢迎指正.