基于IAP技术的ADuC702x固件升级方案
Bootloader程序下载需要注意以下两点:
本文引用地址:https://www.eepw.com.cn/article/119691.htm⒈Bootloader程序大小不能超过20kB;
⒉Bootloader程序固化时,选择“Erase Sectors”,不要选择“Erase Full Chip”擦除整个存储空间。
用户应用程序设计与固化
一、用户应用程序设计
首先在Keil软件下新建一个工程,并选择芯片型号为ADuC702x,且不拷贝startup文件。然后分别添加对应源文件,在Keil环境中配置用户应用程序起始地址为0x00085000,大小0xA600;SRAM起始地址为0x00010040,大小为0x1FC0。
二、用户应用程序固化
用户应用程序固化也有两种方式:UART和JTAG。JTAG下载可以使用ULINK系列仿真器;UART固化程序需要根据通讯协议格式编写PC机程序,下文中进行具体描述。
用户应用程序下载需要注意以下两点:
1. 用户应用程序大小不能超过41.5kB;
2. 用户应用程序初始化时,需要将中断向量表拷贝到SRAM,然后将其映射到SM,代码如下:
#dene SM_Start_Addr 0x00010000
unsigned long load_addr = SM_Start_Addr ;
unsigned char i ;
unsigned int VVVTEMP ;
for(i=0 ;i<32 ;i++)
{
VVVTEMP = load(0x85000+i*2) ;
*((unsigned char *)load_addr++) = (unsigned char)(VVVTEMP>>0) ;
*((unsigned char *)load_addr++) = (unsigned char)(VVVTEMP>>8) ;
}
REMAP = 0x01 ;//将REMAP寄存器最低位置1
评论