找回密码
 注册

QQ登录

只需一步,快速开始

搜索

GD32F103C8T6 BootLoader 方案源码

[复制链接]
无名人 发表于 2024-3-13 16:25:30 | 显示全部楼层 |阅读模式
#include "DefExtern.h"
#include "gd32f10x.h"
内部flash大小64K
前面8k运行bootloader
剩下内部flash前面28k运行程序,最后27k升级存放升级程序
剩下1K存放升级程序的相关信息,包括升级标志,升级包信息(程序大小,传输每包大小),每包信息(第几包,本包大小,本包校验)
完整源码: GD32F103C8T6CBootLoader.zip (397.45 KB, 售价: 1 E币)
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();        //跳转函数
}

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-4-28 11:13

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表