打印
[ARM7]

本地烧写程序如何写?

[复制链接]
907|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MeterLeader|  楼主 | 2015-1-25 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问,本地烧写程序如何编写?
我现在做一个远程升级的功能,当收到远程传过来的hex文件,我需要将它写入本地CPU片内ROM的指定地址中,由于片内ROM是由许许多多扇区构成,大小也不一。hex文件大小需占用多个扇区,那么在编写片内ROM读、写程序时,肯定要根据各个扇区的实际大小数hex文件字节数,做循环写入,是这样吗?  这hex文件内容又如何读取呢,是做什么链接吗?

相关帖子

沙发
slm342107| | 2015-1-27 12:03 | 只看该作者
你首先需要知道这个hex文件的生成格式,可能每个系列的单片机生成的hex都不同,一般来说都会有地址,数据,校验等信息,根据这些信息才能解析hex的数据。

使用特权

评论回复
板凳
MeterLeader|  楼主 | 2015-1-28 09:26 | 只看该作者
补充问:
(1) Hex文件的格式应该是固定的,记录长度+地址(基地址或偏移)+数据+校验,将相应记录数据写入该地址即可?
(2) 能否在设备上电运行老程序后,调用擦除和写入程序擦/写片内ROM,将所有Hex文件的记录写入相应地址,作为新的升级程序覆盖老程序?如果在设备上电运行老程序后,擦除片内ROM上老程序,相当于自己把自己擦除了,程序会否死在当下,无法再写入新的程序?这本地程序升级到底是个什么原理?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

92

帖子

0

粉丝