[ZLG-ARM] 请教IAP在线升级

[复制链接]
4220|10
 楼主| biao.l 发表于 2008-1-11 19:31 | 显示全部楼层 |阅读模式
我看了一遍ZLG那个IAP应用设计文档,有以下几个疑问:<br />&nbsp;&nbsp;&nbsp;&nbsp;里面讲的在线升级将FLASH分为两部分,这样不是降低了FLASH使用空间吗?能否将更新程序复制到RAM中运行,从而可写FLASH整个空间。<br />&nbsp;&nbsp;&nbsp;&nbsp;另要检测P0.6脚电平来确定是否更新程序,这样又和ISP有什么分别,一样要跳线,使用不方便。<br />&nbsp;&nbsp;&nbsp;&nbsp;还有想问一下,用IAP更新程序,你们使用的是什么烧写软件,
ahr 发表于 2008-1-12 15:22 | 显示全部楼层

bootloader方式

觉得升级程序(bootloader)和应用程序分开独立写更方便一些吧。<br />每次升级由升级程序写应用程序的分区,升级程序不变,放在flash最开头。
zlgarm_lxc 发表于 2008-1-12 15:53 | 显示全部楼层

re

当然,可以把升级代码拷到RAM中,但这样升级风险很大,一旦升级过程中出现异常,芯片就必须重新烧写了。关于文档这个方案是示例方案,用户当然可以不使用P0.6这个脚来检测。至于使用什么来下载IAP的代码,当然下载的程序协议由编写IAP的编程人员来确定,只有等通讯协议确定了才能有相应的下载软件。<br />
hotpower 发表于 2008-1-13 15:29 | 显示全部楼层

俺觉得还是ISP比IAP安全很多~~~

  
 楼主| biao.l 发表于 2008-1-14 16:19 | 显示全部楼层

2楼说得有理

不过我们一般编译程序的时候都是应用程序和启动程序一起编译,如果分开编译是不是会产生什么问题,比如两个程序接口问题,合起来编译的话,再烧写就不能只烧一部分了吧,不是很懂,高手指点
 楼主| biao.l 发表于 2008-1-14 20:05 | 显示全部楼层

已知道,直接加载地址到PC就可以直接调用了,

决定把工程分为两部分
 楼主| biao.l 发表于 2008-1-14 20:14 | 显示全部楼层

现在只剩下怎样正确接收到程序,并把它写入FLASH的问题了

1。HEX文件通过串口传送到RAM中的编码格式,要不要码制转换,这个还没搞懂<br />2。用普通串口调试软件发送HEX文件有没有问题,如SSCOM32串口调试软件行不行,有什么问题?<br /><br />请各位大大指点一下,感谢万分!
ahr 发表于 2008-1-15 01:27 | 显示全部楼层

Hex2bin

有个叫hex2bin的工具,网上1搜下。<br />如果自己做传输程序,可以自己参考一下intel&nbsp;hex的格式,或hex2bin的源码。
 楼主| biao.l 发表于 2008-1-15 23:14 | 显示全部楼层

ahr你好

Hex2bin是不是将HEX文件转化为BIN文件的,如果这样的话我直接生成BIN文件烧写方便一点,HEX文件里面的地址信息我还无法解读,每行最后一个字节也不知道是什么意思,BIN就简单多了,单是程序机器码,是不是这样.
winfeng 发表于 2008-1-16 22:38 | 显示全部楼层

最新的h—jtag软件集成了

H-converter
mn14174 发表于 2008-4-15 11:05 | 显示全部楼层

LPC2114 IAP HEX文件通过串口下载成功,大问题!

我要用LPC2114&nbsp;iap做系统的远程升级,但是发现通过编写一个应用程序,带main&nbsp;函数的,做串口的接收和IAP&nbsp;的调用,然后将&nbsp;新版的升级程序编译好了后,这里又有一个MAIN&nbsp;并且包含启动文件内容,将升级程序正确下载入Flash中,通过指针函数调整程序PC到新的更新的程序入口地址,想通过这样来运行更新程序,发现系统进入未定义模式,不知道是方法不对,还是原理上就错了呢,请高手指点!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

286

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部