找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2210|回复: 0
打印 上一主题 下一主题
收起左侧

GD32F103C8T6做的bootloader方案

[复制链接]
跳转到指定楼层
楼主
ID:1090941 发表于 2023-8-8 15:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
片内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

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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