BOOT程序设计和应用程序设计 应用程序设计:(上位机软件->射频升级文件传输->设备接收)设备接收存储入片外EEPROM,
将中断向量修改为BOOT的向量表memcpy((ST_UINT16 *)0xFF80, (ST_UINT16 *)0xFF00, 0x80);
/* 中断向量改成boot的起始地址。
FF00为boot的向量备份 */重启代码,程序从BOOT开始运行;
BOOT程序设计:检测片外EEPROM是否有升级文件,若有则将数据拷贝到片内存储(),擦除片外EEPROMmemcpy((ST_UINT16 *)0xFF00, (ST_UINT16 *)0xFF80, 0x80);
/* 还原中断相量 */memcpy((ST_UINT16 *)0xFF80, (ST_UINT16 *)0xFE80, 0x80);
将BOOT的中断向量备份到0XFF00,将应用程序的中断向量0XFE80拷贝到FF80,重启程序BOOT程序(0xFF80),程序即从应用程序指定的位置(0xFE80)开始执行应用程序。
将boot和应用程序同时烧进单片机boot程序生成TXT文件,应用程序生成TXT文件,使用工具将两个文件拼接生成.bin与.txt文件,使用FET-Pro430烧写进430单片机首次程序运行为从默认0XFF80开始运行,
开始执行BOOT程序,检测到EEPROM无升级文件,备份BOOT中断向量到0XFF00,将中断向量改为应用程序中断向量0XFE80,重启BOOT程序,则程序指向应用程序中断向量,开始运行应用程序;
收到升级文件.bin,存储数据,将BOOT的备份向量0XFF00拷贝到0XFE80,重启应用程序,则程序指向BOOT中断向量,开始执行BOOT程序。