打印
[ZLG-ARM]

请教IAP在线升级

[复制链接]
3100|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
biao.l|  楼主 | 2008-1-11 19:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我看了一遍ZLG那个IAP应用设计文档,有以下几个疑问:
    里面讲的在线升级将FLASH分为两部分,这样不是降低了FLASH使用空间吗?能否将更新程序复制到RAM中运行,从而可写FLASH整个空间。
    另要检测P0.6脚电平来确定是否更新程序,这样又和ISP有什么分别,一样要跳线,使用不方便。
    还有想问一下,用IAP更新程序,你们使用的是什么烧写软件,

相关帖子

沙发
ahr| | 2008-1-12 15:22 | 只看该作者

bootloader方式

觉得升级程序(bootloader)和应用程序分开独立写更方便一些吧。
每次升级由升级程序写应用程序的分区,升级程序不变,放在flash最开头。

使用特权

评论回复
板凳
zlgarm_lxc| | 2008-1-12 15:53 | 只看该作者

re

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

使用特权

评论回复
地板
hotpower| | 2008-1-13 15:29 | 只看该作者

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

使用特权

评论回复
5
biao.l|  楼主 | 2008-1-14 16:19 | 只看该作者

2楼说得有理

不过我们一般编译程序的时候都是应用程序和启动程序一起编译,如果分开编译是不是会产生什么问题,比如两个程序接口问题,合起来编译的话,再烧写就不能只烧一部分了吧,不是很懂,高手指点

使用特权

评论回复
6
biao.l|  楼主 | 2008-1-14 20:05 | 只看该作者

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

决定把工程分为两部分

使用特权

评论回复
7
biao.l|  楼主 | 2008-1-14 20:14 | 只看该作者

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

1。HEX文件通过串口传送到RAM中的编码格式,要不要码制转换,这个还没搞懂
2。用普通串口调试软件发送HEX文件有没有问题,如SSCOM32串口调试软件行不行,有什么问题?

请各位大大指点一下,感谢万分!

使用特权

评论回复
8
ahr| | 2008-1-15 01:27 | 只看该作者

Hex2bin

有个叫hex2bin的工具,网上1搜下。
如果自己做传输程序,可以自己参考一下intel hex的格式,或hex2bin的源码。

使用特权

评论回复
9
biao.l|  楼主 | 2008-1-15 23:14 | 只看该作者

ahr你好

Hex2bin是不是将HEX文件转化为BIN文件的,如果这样的话我直接生成BIN文件烧写方便一点,HEX文件里面的地址信息我还无法解读,每行最后一个字节也不知道是什么意思,BIN就简单多了,单是程序机器码,是不是这样.

使用特权

评论回复
10
winfeng| | 2008-1-16 22:38 | 只看该作者

最新的h—jtag软件集成了

H-converter

使用特权

评论回复
11
mn14174| | 2008-4-15 11:05 | 只看该作者

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

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

使用特权

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

本版积分规则

17

主题

286

帖子

0

粉丝