加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

UV4生成bin文件注意事项

发布时间:2020-12-15 06:31:57 所属栏目:百科 来源:网络整理
导读:在使用UV4编译生成目标文件的时候,在选项里可以配置生成hex文件,如下图,在下图中勾上Create HEX File前的复选框即可. 但是我们的目标是生成bin文件,因此需要另外两行用户指令来完成(其实我们可以不生成hex文件,只不过hex文件是用来给flash magic之个工具来用

在使用UV4编译生成目标文件的时候,在选项里可以配置生成hex文件,如下图,在下图中勾上Create HEX File前的复选框即可.

但是我们的目标是生成bin文件,因此需要另外两行用户指令来完成(其实我们可以不生成hex文件,只不过hex文件是用来给flash magic之个工具来用的).

在User选项卡中,如下图:

在上面选项卡中设置编译完后运行两条用户指令:

d:/Program Files/Keil/ARM/BIN/ElfDwT.exe./Flash/Blinky.axf

d:/Program Files/Keil/ARM/BIN40/fromelf.exe--bin --output ./Flash/Blinky.bin?./Flash/Blinky.axf

?

DlfDwT.exe是一个校验axf文件的工具,它的输入文件是axf文件.

fromelf.exe是一个将axf文件转化为bin文件的工具.

?

以上两条用户指令都不能缺少,

若缺少第一条指令,则生成的bin文件内缺少校验码.即0x1c~0x1f这四个字节为校验和.

缺少第二条指令则不能生成bin文件.

?

?

注:

生成的bin文件从0x1c~0x1f为校验码,它和0x00~0x1b这7个字总共8个字的和应为0x100000000,若不成立,则不能正常运行.

?

?

这样看来,在编译时没有进行校验和运算,因此,需要一个外部工具来完成这样的工作.同样,使用CoIDE时也存在这样的问题.

CoIDE编译时会生成bin文件,但是同样编译时没有进行校验和运算,所以生成的bin文件中这4个字节都是0x00。

要生成带校验和的bin文件,可以使用CoIDE中的post-build功能。但需要安装了自带checksum功能的工具,如lpcxpresso。

打开工程配置build.xml,在Run User Programs区域的After Build/Rebuild标签下添加命令并打勾。
命令格式为:"checksum.exe路径" -p 芯片名 "bin文件路径"
例如:"D:nxplpcxpresso_3.6.3_317binchecksum.exe" -p LPC1114"D:ProgramFilesCooCoxCoIDEworkspaceLPC1114DebugbinLPC1114.bin"



参考:http://www.coocox.org/Forum/topic.php?id=905

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读