8051系列单片机固件升级iap
声明:
#define UPGRADE_FLAG 0xaa //升级标志位
#define APP_START_ADDR 0x0000 //bootloader起始地址
#define APP_FLAG_ADDR 0x1800 //升级标志位地址
#define APP_START_ADDR 0x2000 //app运行起始地址
Bootloader环境设置:
1.找到*.A51文件,将START_APPLICATION EQU 0改写成START_APPLICATION EQU 2000h,其中2000h为定义的app运行地址
App环境设置:
1.设置app运行地址和范围:Flash->configuer Flash Tools…->Target。修改app运行起始地址和大小;
2.修改中断向量偏移地址,修改成app运行起始地址2000,注意代码优化等级不可超过8;
注:Interrupt vectors at adderss:中断偏移地址
Level:代码优化等级
3.修改程序烧录地址:Flash->configuer Flash Tools…->LX51 Locate去掉勾,在User classes编写app运行烧录地址
CODE (C:0x2000-C:0x3FFE), CONST (C:0x2000-C:0x3FFE),
ECODE (C:0x2000-C:0x3FFE), HCONST (C:0x2000-C:0x3FFE)
我的起始地址为2000H大小为1FFFH所以范围是0x2000-C:0x3FFE
提示:如果选项为Flash->configuer Flash Tools…->BL51 Locates时,去勾,在Code Range:填写成0X2000-0X3FFF;
4.找到*.a51文件,将 CSEG AT 0改成 CSEG AT 2000H;
提示:在bootloader下尽量不要用中断,8051没有中断映射功能。