0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

9.9包邮的合宙Air32开发板,如何刷DFU?

合宙LuatOS 2023-04-20 09:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

不得不说,合宙推出的9.9元包邮Air32系列MCU开发板太香了,资源全面升级,使用更畅快!

Air32的日常开发中,烧录固件和升级必须要用串口或者调试器。那么,有没有办法可以用Air32自己给自己烧录和升级呢?——答案是肯定可以,我们可以自己编写BootLoad,通过DFU(Device Firmware Upgrade)模式实现用Air32自带的USB进行升级。

接下来,我们一起看看怎么做吧~

1

基础准备工作


1.1 合宙Air32小蓝板:

合宙推出的BluePill开发板,封装兼容经典STM32F103核心板,资源和工艺全面升级;兼容主流F103开发方式,提供SDK参考。

1.2 合宙Air32小黑板:

合宙经典40PIN黑金工业风沉金板,邮票孔设计;支持UART/SPI/I2C/ADC/ DAC/I2S/CAN接口

出厂内置DAPLink固件,可直接作为烧录器。

1.3 USB Type-C线

开发常用的Type-C线即可,缺线的同学可了解合宙10元10根论斤卖的数据线。

1.4 杜邦线

开发者必备的杜邦线,这里不细说。

1.5 Keil开发环境

合宙Air32系列支持Keil开发,参见Air32F103使用手册

1.6 DFU升级工具

2

给BluePill开发板烧录DFU固件


2.1 开发板接线

a4dbd54a-dd88-11ed-ad0d-dac502259ad0.png

2.2 烧录DFU固件

将USB线插入Air32小黑板,会在【我的电脑】虚拟出一个DAPLINK盘,将DFU固件(dapboot.bin)拖入即可。

a4fa8b2a-dd88-11ed-ad0d-dac502259ad0.png

DFU固件链接:

https://cdn.openluat-luatcommunity.openluat.com/attachment/20230414163518568_dfutools.zip

下载完毕后,点开DAPLINK盘,如果没有FAIL.TXT生成,则表示烧录成功。

a50b53b0-dd88-11ed-ad0d-dac502259ad0.png

烧录完毕后,把BluePill开发板接到电脑上,如果有DAPBoot DFU Bootloader显示,表示DFU固件烧录成功,此时BluePill开发板就可以通过DFU给自己升级了:

a51cb420-dd88-11ed-ad0d-dac502259ad0.png

3

BluePill开发板通过DFU给自己升级


3.1选用demo

用Keil打开Air32仓库的GPIO_IOOut demo:

a53192c8-dd88-11ed-ad0d-dac502259ad0.png

3.2设置参数

点开target,将IROM1的Start设置为0x8002000,Size设置为0x1E000,点击OK:

a5487358-dd88-11ed-ad0d-dac502259ad0.png

3.3生成升级文件

点开USER,选中After Buile/Rebuild一栏的Run #1 ,内容填入fromelf.exe --bin -o "$L@L.bin" "#L", 点击OK。

此步骤是用于生成升级文件:

a55edd50-dd88-11ed-ad0d-dac502259ad0.png

3.4 修改代码

BluePill开发板上蓝灯由PC13控制,将原先的代码改为蓝灯闪烁:

intmain(void)

{

RCC_ClocksTypeDefclocks;

Delay_Init(); //延时初始化

UART_Configuration(115200);//默认为串口1,波特率115200

RCC_GetClocksFreq(&clocks);//获取系统时钟频率

PRINTF_LOG("\n");

PRINTF_LOG("SYSCLK: %3.1fMhz, HCLK: %3.1fMhz, PCLK1: %3.1fMhz, PCLK2: %3.1fMhz, ADCCLK: %3.1fMhz\n",

(float)clocks.SYSCLK_Frequency/ 1000000, (float)clocks.HCLK_Frequency/ 1000000,

(float)clocks.PCLK1_Frequency/ 1000000, (float)clocks.PCLK2_Frequency/ 1000000, (float)clocks.ADCCLK_Frequency/ 1000000);

PRINTF_LOG("AIR32F103 GPIO IO Out Tset.\n");

GPIO_Configuration();

while(1)

{

GPIO_SetBits(GPIOC, GPIO_Pin_13);

Delay_Ms(200);

GPIO_ResetBits(GPIOC, GPIO_Pin_13);

Delay_Ms(200);

}

}

voidGPIO_Configuration(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//使能GPIOC时钟

GPIO_InitStructure.GPIO_Pin= GPIO_Pin_13;

GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;//速度50MHz

GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP; //输出模式

GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIOC.13

}

3.5编译固件

点击编译即可,然后在OBJ目录下找到GPIO.bin,这就是给自己升级的固件:

a56fdc90-dd88-11ed-ad0d-dac502259ad0.png

3.6执行命令

将编译出来的GPIO.bin放在dfutools目录中,通过命令行调用dfu-util.exe即可将闪灯固件下载进开发板:

a583e7c6-dd88-11ed-ad0d-dac502259ad0.png

dfu-util.exe -d 1209:DB42 -D GPIO.bin

1209 DB42为设备管理器中DAPBoot DFU Bootloader的VID 与PID:

a599eb3e-dd88-11ed-ad0d-dac502259ad0.png

a5b192b6-dd88-11ed-ad0d-dac502259ad0.png

接下来就可以看到设备蓝灯闪烁啦:

a5e65b0e-dd88-11ed-ad0d-dac502259ad0.gif

3.7 烧录了DFU固件的开发板,如何进入DFU模式:

如果0x8002000分区后没有代码,则自动进入DFU模式;

将GPIOB - 2, 也就是boot1接到GND上再上电,进入DFU模式。

注意事项:

DFU固件Flash分区为0x8000000 - 0x8002000

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    26

    文章

    6507

    浏览量

    121360
  • DFU工具
    +关注

    关注

    0

    文章

    4

    浏览量

    3054
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Air8000W +AI开发APP 诗词闯关(SCCG)开发指南

    本篇旨在讲述在引擎 Air8000W开发诗词闯关 app(SCCG)项目的详细过程。 诗词闯关 app,是一款使用 AirUI 轻量化图形开发
    的头像 发表于 05-11 15:30 131次阅读
    <b class='flag-5'>Air</b>8000W +AI<b class='flag-5'>开发</b>APP 诗词闯关(SCCG)<b class='flag-5'>开发</b>指南

    Air8101诗词闯关APP 开发指南

    本篇旨在讲述在引擎 8101 开发诗词闯关 app(SCCG)项目的详细过程。 诗词闯关 app,是一款使用 AirUI 轻量化图形开发框架,基于工业引擎
    的头像 发表于 05-11 14:17 95次阅读
    <b class='flag-5'>Air</b>8101诗词闯关APP  <b class='flag-5'>开发</b>指南

    Adafruit DRV8871 有直流电机驱动开发板:高效驱动的理想之选

    Adafruit DRV8871 有直流电机驱动开发板:高效驱动的理想之选 在机器人和机电一体化领域,电机驱动的性能对于系统的整体表现至关重要。今天,我们就来详细了解一下 Adafruit
    的头像 发表于 05-11 11:15 309次阅读

    猛!MCU模组:Air1601/1602双星出击!

    在嵌入式开发中,你是否曾面临这样的困境:高清UI渲染依赖昂贵高端芯片、图像处理卡顿、多网通信协同复杂、工业级稳定设计繁琐……Air1601/Ai
    的头像 发表于 02-13 14:05 1032次阅读
    猛!<b class='flag-5'>合</b><b class='flag-5'>宙</b>MCU模组:<b class='flag-5'>Air</b>1601/1602双星出击!

    高效接入语音交互:模组音频方案如何选?

    本文特别分享4G模组选型与硬件设计要点,为开发者提供实用参考。 一、模组音频支持概况 从主芯片是否原生支持音频功能来看,4G模组大致可分为两类: 1.1 主芯片支持音频功能 比如:经典老
    的头像 发表于 02-08 14:59 1038次阅读
    高效接入语音交互:<b class='flag-5'>合</b><b class='flag-5'>宙</b>模组音频方案如何选?

    Air780EPM开发板上的FFT应用实现:关键技术深度剖析

    Air780EPM开发板为硬件平台,快速傅里叶变换(FFT)的应用实现成为嵌入式信号处理中的关键环节。本文将围绕该开发板的硬件适配特性、FFT算法在嵌入式环境中的部署流程,深入解析代码结构、关键
    的头像 发表于 12-30 14:33 452次阅读
    <b class='flag-5'>Air</b>780EPM<b class='flag-5'>开发板</b>上的FFT应用实现:关键技术深度剖析

    Renesas SMARC EVK 开发板启动指南

    Renesas SMARC EVK 开发板启动指南 在嵌入式开发领域,Renesas 的 RZ/G2L、RZ/G2LC、RZ/G2UL、RZ/V2L 和 RZ/Five 系列开发板凭借其高性能
    的头像 发表于 12-29 16:15 639次阅读

    FRDM-i.MX 91开发板刷机指南

    FRDM-i.MX 91开发板刷机指南 在电子开发领域,开发板机操作是一项基础且关键的技能。今天,我们就来详细探讨NXP的FRDM-i.MX 91
    的头像 发表于 12-24 11:30 1403次阅读

    Air780EPM开发板为例:FFT应用示例核心要点全解析

    Air780EPM开发板作为实践载体,本文将对FFT应用示例的核心要点展开全面解析。从开发板的硬件特性适配、FFT算法的实现流程,到示例代码的核心模块与调试要点,逐一拆解,确保开发
    的头像 发表于 12-16 15:28 553次阅读
    以<b class='flag-5'>Air</b>780EPM<b class='flag-5'>开发板</b>为例:FFT应用示例核心要点全解析

    迅为3568开发板从零学习Linux驱动开发:迅为一站式资料如何让我效率翻倍

    迅为3568开发板从零学习Linux驱动开发:迅为一站式资料如何让我效率翻倍
    的头像 发表于 11-05 11:16 649次阅读
    迅为3568<b class='flag-5'>开发板</b>从零学习Linux驱动<b class='flag-5'>开发</b>:迅为一站式资料<b class='flag-5'>包</b>如何让我效率翻倍

    ESP32开发板元件资料

    ESP32开发板元件
    发表于 07-21 14:47 17次下载

    Air8101多网融合战略升级:Air780EPM模块助力4G联网落地

    应用迈向新高度。 本文将分享Air8101核心通过外挂Air780EPM整机开发板,实现4G联网的功能示例。   一、硬件准备工作   1.1  所需硬件
    的头像 发表于 06-23 16:53 792次阅读
    <b class='flag-5'>Air</b>8101多网融合战略升级:<b class='flag-5'>Air</b>780EPM模块助力4G联网落地

    【新品】远距离图传数传模块开发板、蓝牙模块开发板、无线模块开发板

    新品上市图传数传模块开发板蓝牙模块开发板国产无线模块开发板部分型号参与送样文末了解详情↓↓↓EWT611-900NW20S远距离图传数传模块开发板EWT611-900NW20S是一款入
    的头像 发表于 06-12 19:33 1551次阅读
    【新品】远距离图传数传模块<b class='flag-5'>开发板</b>、蓝牙模块<b class='flag-5'>开发板</b>、无线模块<b class='flag-5'>开发板</b>

    多功能+高扩展能力加持,Air8000开发板最新资料

    开发者福利来袭!Air8000开发板兼具全面功能与强大扩展性的开发神器,将让物联网开发、原型设计等任务更高效,加速项目从概念到产品的转化。
    的头像 发表于 06-09 14:18 977次阅读
    多功能+高扩展能力加持,<b class='flag-5'>Air</b>8000<b class='flag-5'>开发板</b>最新资料

    技术篇——Air8000开发板,一站式满足多功能高扩展开发需求!

    对于追求高效开发的你来说,Air8000开发板最新资料库的开放绝对不容错过。无论是智能控制、数据采集还是多场景应用开发,其多功能内核与高扩展接口,为各类项目提供“即插即用”式的解决方案
    的头像 发表于 06-04 15:59 834次阅读
    技术篇——<b class='flag-5'>Air</b>8000<b class='flag-5'>开发板</b>,一站式满足多功能高扩展<b class='flag-5'>开发</b>需求!