程序1
oid Vectors_Init()
{
//有用户程序,编译本段代码
#if (GEC_USER_SECTOR_START!=0)
//(1)若Flash倒数1扇区的前24字节为空,则写入设备序列号及软件版本号初值
if(flash_isempty(MCU_SECTOR_NUM-1,24))
{
flash_write_physical((MCU_SECTOR_NUM-1)*MCU_SECTORSIZE+
MCU_FLASH_ADDR_START,24,(uint8_t *)"0123456789ABCDEF20200716");
}
//(2)继承BIOS的串口中断
void ** bios=MCU_FLASH_ADDR_START; //向量表起始地址
uint32_t user[MCU_SECTORSIZE/4]; //向量表变量数组
//读取USER中断向量表各中断处理程序地址赋给user数组
flash_read_physical((uint8_t *)user,GEC_USER_SECTOR_START*
MCU_SECTORSIZE+MCU_FLASH_ADDR_START,MCU_SECTORSIZE);
程序2
bga封装
第三周完成情况