打印

请教下单片机IAP的原理

[复制链接]
3903|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
江陵龙少|  楼主 | 2010-11-4 20:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 江陵龙少 于 2010-11-4 20:31 编辑

最近接触到一款单片机DS89C450,功能很强大,有64KB FLASH,有MMU,支持IAP。
看了下数据手册,对IAP有了个不成熟的理解,请指教:
数据手册上说,只能对64KBFLASH的上半区编程,则我首先应该写一个加载器,并通过编程器烧录到低32KB区,该加载器的功能是,当需要更新程序时,通过串口发送命令序列,然后,将bin文件(源程序事先编译好,并将HEX文件转化为BIN文件)发送下去,当然这些需要PC网管来配合。当对FLASH的编程成功后,后面放一条跳转语句,跳到高32KB区执行指令。
当不需要更新程序时,或者串口收不到特定的命令序列,加载器直接跳转到高32KB区执行指令。
这其中,有个关键就是,PC网管和加载器之间的通信,我应该用间接寻址的高128B来接收BIN文件,每次最多128B,收满之后立即写入FLASH,
还有,要将HEX文件转化为BIN文件。

上面是个人对IAP的思考,请大家指教!更想知道大侠们是怎样实现IAP的。

相关帖子

沙发
xwj| | 2010-11-4 20:37 | 只看该作者
不一定非要将HEX文件转化为BIN文件传输,传输环节用HEX格式会更可靠些,然后单片机收到了在自己转换即可。

当然,HEX数据量会大很多,传输环节用的时间会多一些。

使用特权

评论回复
板凳
江陵龙少|  楼主 | 2010-11-4 22:05 | 只看该作者
谢谢xwj的指点,HEX格式我还需要深入学习。

使用特权

评论回复
地板
xwj| | 2010-11-4 22:29 | 只看该作者
HEX格式很简单的,看完下面的短文你就明白了。

hexformat.pdf

71.29 KB

使用特权

评论回复
5
江陵龙少|  楼主 | 2010-11-4 22:45 | 只看该作者
再次感谢xwj前辈的热情指导!

使用特权

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

本版积分规则

85

主题

279

帖子

2

粉丝