本帖最后由 TCX 于 2019-12-12 20:13 编辑
首先说一下,原子家的脱机下载器确实好用,之前买了十几个minipro一直用着,最近有个项目要切换着烧录不同的代码,买了一个新出的P100试试,操作方式跟minipro差别不大,但是有更方便的U盘模式,全视角屏,确实有不少提升。。。呃,回归主题,下面分享一个使用技巧给大家。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最近有个项目想要在STM32上代码段外的FLASH后面的区域烧写一部分标志数据,软硬件版本信息等固定数据,刚开始的时候,都是在代码里面指定这些数据存储的FLASH的地址,像下面这样:
起初没觉得怎样,但是在产品大大要求各种改改改,,硬件升级后也要改改改,新批次也要该改变,每次都要重新改代码,重新编固件,我太难了!!!!! 然后就想到能不能用P100直接烧进去,直接就找原子哥家的QQ技术支持问了一下,原来真的有办法,有救了,其实P100和minipro的用户手册都有写,只是我没有注意到,不过我相信我不是唯一一个不认真看手册的。
这个功能就是多固件一次性下载功能,添加程序固件后,再将编辑好的固定数据,添加到 脱机下载器的配置软件就可以一起烧录到芯片里面了。 怎么编辑数据文件呢,我用的是原子技术提供的winhex软件生成了一个bin文件,添加的时候指定要烧录的地址就行,编辑bin文件方法如下:
第一步:使用winhex新建文件,确定文件大小;
第二步:编辑数据,这里要注意,STM32为小端模式,因此长度超过一个字节的数据,要把低字节放在前面,比如说我的第一个4字节数据,.product_id = 0x00000001, 填到bin文件里面应该是 01 00 00 00。
第三步:保存为bin文件,后缀加上.bin保存为bin文档就可以了。
第四步,添加到脱机下载器的配置软件里面,bin文件要指定编程起始地址,填上要写入的地址:0807F000,如下:
都怪原子哥太低调,都不好好宣传一下这么好的功能,已经给他们提建议了,希望更多人能够用到。非常感谢原子家技术提供的支持,很耐心和专业,从学生时代一直用原子家的产品,现在出来几年了,还在用着,原子家的东西还是信得过的,希望原子哥越做越好。 有用的话加精哦
|