MCUEL_21 发表于 2011-2-10 10:10:09

如何在烧写(HEX或BIN)文件里面加入版本号信息?读写版本信息如何操作?

如题!比如加入版本信息: REV.IR
(编译器是ICCAVR V722)

Gorgon_Meducer 发表于 2011-2-10 10:29:44

在里面加入版本信息我不太清楚……HEX和BIN文件应该都不支持加入注释功能的……
建议你在文件名上下点功夫好了……

bj-stm8 发表于 2011-2-10 10:41:32

文件名

jiki119 发表于 2011-2-10 10:44:00

easy,要放在源代码里,不是更好ime,显示不显示都可以的。

MCUEL_21 发表于 2011-2-10 11:11:05

HEX或BIN文件不包含文件版本信息。手工另外加,那就没有多大的意义了。
本来的想法是在固定的地址:
比如FLASH的中断向量地址0x44之后加入REV.IR
.org0x48
.asiz "REV.IR"
.area text

JQ_Lin 发表于 2011-2-10 11:20:14

我没学过C。
我在汇编中加入软件版本信息,还可读出硬件版本信息,进行必要的操作。

wajlh 发表于 2011-2-10 12:58:38

写程序时定义一个常量不久行了。再加一个函数读取该常量不就行了。严格来说可以直接修改HEX或者BIN文件,但是难度太大了

MCUEL_21 发表于 2011-2-10 14:41:22

版本信息加入到HEX或者BIN烧写的文件,在烧写之前就可以读出指定地址的信息来进行版本的比较,而不是那种普通的由运行程序来放一个版本的代号。

   一般思路是在汇编中中断向量之后执行代码前加入软件版本信息,ICCAVR V722编译器不知道能否实现,有谁设计过?

但51单片机的Keilc51编译器可以实现。

MCUEL_21 发表于 2011-2-11 13:10:39

思路1.
ICCAVRV722编译器添加有点困难!

只有在烧写BIN文件的结尾手动加入6字节的版本号信息
加入支持版本的读写比较处理程序(暂规定在文件的结尾手动添加6个字节的16进制数据:
VER.IR--52 45 56 2E 49 52 或
VER.01--52 45 56 2E 30 31 或   
VER.02--52 45 56 2E 30 32

待设计验证后再写上来....
页: [1]
查看完整版本: 如何在烧写(HEX或BIN)文件里面加入版本号信息?读写版本信息如何操作?