|
片内flash64k分为三个区域,boot大小0x2000,APP大小0x7000,升级按块传输,每块最大1K,升级前先传输升级标志、升级包大小;每块数据先发送当前是第几块、块大小、块校验;剩余片内flash前面1K存放升级标志、升级包大小、每块升级包的信息,其它存放数据
主函数如下:
#include "DefExtern.h"
#include "gd32f10x.h"
int main(void)
{
INT16U UpgradeFlag = 0;
UpgradeFlag = *(__IO INT16U*)(UPGRADE_FLAG_ADDRESS);
if(UpgradeFlag == 0xFEFE)
{
if(CheckUpgradeData())
{
UpGradeDataToApp();
}
EraseNPage(UPGRADE_FLAG_ADDRESS, FLASH_PAGE_SIZE);
}
BootLoadJump();
}
|
-
-
程序.7z
162.24 KB, 下载次数: 27, 下载积分: 黑币 -5
评分
-
查看全部评分
|