资料介绍
LPC2378 在线升级实现 LPC2378 在线升级方案
LPC2378 在线升级实现
一、 概述
在线升级要求正在执行的程序对自己进行升级,如何能可靠升
级,如升级失败可以回到原来程序继续执行,本文介绍一种简单容易
做到不影响应用的方法。
二、 实现方法分析
先看下面的图,把程序空间分为三部分,这是容易理解的分配,
有人问了,这是不是要写一个引导程序,答案是:不用,就用你自己
的应用程序,只是巧妙使用分散加载进行编译,把程序分别编译到不
同地址就可以了。
高地址区(HighAddr):256k
0x00040000
低地址区(LowAddr):224k
0x00008000
0x00000000 共用代码 32k
我们现在看一下分散加载文件:
分散加载文件 1 ------低端地址
ROM_LOAD 0x00000000 0x1000
{
ROM_EXEC 0x00000000{ ;中断向量表
Startup.o (RESET, +First);//*.o (RESET, +First)
}
}
ROM_LOAD1 0x00004000 0x2000
华荣汇电子科技(北京)有限公司 网址:www.foric.com.cn