首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏twowinter

    zephyr笔记 5.3 设备固件升级DFU

    它目前由两个不同的模块组成: boot /:引导加载程序的接口代码 img_util /:镜像管理代码 DFU子系统处理镜像管理,但不涉及将镜像发送到目标设备所需的传输或管理协议本身。

    1.2K10发布于 2020-04-17
  • 来自专栏菩提树下的杨过

    iphoneipaditouch进入DFU模式最简单的操作办法

    “正确进入DFU模式”对于果粉新手来说是一个很难掌握的技巧(越狱、降级都要用到它),特别是时间的把握上,多按一会儿不行,少按一会儿也不行,从网上看到这个办法,觉得不错,转载于此: 1、连接你的iphone MobileDevice USB Driver”消失时,放开POWER (注意:此时仍然按住HOME不放),当你看到”Apple Mobile Device USBDriver”重新出现时,放开HOME,这时就进入黑屏的DFU 如果你是在开机状态下按的POWER+HOME,那么进入DFU模式的时候屏幕虽然是黑的,但是黑屏前花屏的残影还在屏幕上,不用担心,正常现象,这也是进入DFU的标志之一。

    1.5K50发布于 2018-01-22
  • 来自专栏技术让梦想更伟大

    STM32高级开发——使用DFU方案

    不过内置DFU的芯片大部分型号都比较新,如果你用的型号没有内置DFU程序,没关系我们也可以通过CubeMX来快速生成和移植一个DFU功能程序到你的Flash中来使用。 DFU方案完整的组件包括单片机DFU Demo代码、PC端升级程序、PC端Demo代码以及相关资料手册等。 开启DFU组件 在MiddleWares中加入USB DFU组件 设置DFU参数 开启DFU组件后,CubeMX的程序设置窗口的MiddleWares中就会出现DFU程序设置按钮。 然后我们打开DfuSe软件的Dfu file manager来生成DFU软件用的.dfu格式的文件。选择第一项,第二个是用来将.dfu反向变换回来的。 更多 仔细区看看DfuSe的安装目录,里面有DFU的资料文档,还有DFU的工程源代码,可以用来改写自己需要的DFU升级程序。

    2.5K30编辑于 2022-12-22
  • 来自专栏技术让梦想更伟大

    如何使用CubeMx生成一个DFU工程

    可以直接通过USB来对APP进行升级,因此,掌握DFU的制作还是挺有好处,特别是使用CubeMx工具可以快速制作,本文将基于STM3240G-EVL评估板来一步一步实现一个DFU的IAP工程。 类的interface字符串描述符,在USB DFU标准文件中有提到可选接口可以使用一个对应的接口字符串来表示此可选接口对应的目标设备的存储块信息,但如何具体规定的,DFU标准(DFU_1.1)并没有要求 ,是开放的,如下: 图3 DFU标准对接口字符串定义的描述 由此可见,接口字符串定义是可以自由定义的,那么在这里,由于使用到ST工具软件DfuSe Demo(v3.0.5),那么这个工具与USB DFU 打开usbd_duf_if.c文件,这个文件就是USB DFU CLASS与本地对接的接口实现文件,我们需要对这个源文件内没有接口填充其具体实现内容,当然,我们主要的目的是想借助DFU这个IAP来实现对 5 测试 最后就是通过ST的软件Dfu File Manager这个软件将APP的HEX文件或BIN文件转化成dfu文件,然后通过DfuSeDemo这个软件导入dfu文件,最终烧录APP到0x0800C000

    68930编辑于 2022-12-22
  • 来自专栏技术小屋-未分类

    Android——NORDIC nRF5x系列 DFU升级 APP实现

    根据NORDIC官方Android-DFU-Library实现,具体步骤如下: 1、build.gradle配置 implementation 'no.nordicsemi.android:dfu:1.9.0 android:name="android.permission.ACCESS_WIFI_STATE" /> 3、创建DfuService,实现 getNotificationTarget() 方法, 在进行DFU you to the activity at which you were at the top of the task stack finish(); } } 5、开启DFU process. 6、以上步骤完成了DFU过程,但是我们拿单板和APP测试也看不到DFU的过程,所以还需要创建DFU进度监听器,可以掌握DFU的动态情况,比如可以在界面显示DFU进度等。 //DFU进度监听器 private final DfuProgressListener mDfuProgressListener = new DfuProgressListenerAdapter

    1.7K20发布于 2020-09-25
  • 来自专栏云深之无迹

    M 系列 MacBook 黑屏无响应抢救(2026.3-DFU 刷机)

    ,老外和国人都急哭了(当然了,我很坚强) 复活吧 先确认现在机器的情况,可以(但是机器所有按键,屏幕,喇叭没有动静)充电,PD 可以上 70W: 硬件没有问题 苹果有个机制,可以通过一些按键时序进入:DFU 它与普通的“恢复模式”不同,DFU 模式运行在硬件的 Boot ROM 层面,不会加载操作系统或 iBoot 引导程序,因此可以处理更深层次的系统崩溃、降级固件或越狱需求。 可能会报 4042: 这个错误其实很严重,属于硬件错误 这是最常见的错误诱因;4042 往往是因为 DFU 刷机过程中,数据传输不稳定导致握手失败。 使用正确的端口:必须将线缆连接到 MacBook 指定的 DFU 端口。 MacBook Pro/Air (Intel T2):通常是左侧靠近屏幕的第一个 USB-C 接口。 要插对,不然可以进 DFU 但是还会卡进度条 点击修复,会自动下载要修复电脑的固件包 如果一切顺利: 会自动传输固件,此时要修复的电脑有白苹果 之后就是这边输入电脑密码 然后就是合影留念了 本次使用了

    32910编辑于 2026-03-30
  • 来自专栏JETSON NANO AI

    nRF5x系列蓝牙模块DFU升级服务移植 -- 5 boot修改

    在对boot进行修改时,请先掌握以下内容: 《nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装》 《nRF5x系列蓝牙模块DFU升级服务移植 -- 2 文件生成》 《nRF5x系列蓝牙模块DFU 升级服务移植 -- 3 烧写升级》 《nRF5x系列蓝牙模块DFU升级服务移植 -- 4 应用移植》 由于车位锁项目中使用自制底板,和标准开发板存在差异,所以需要按照以下步骤对bootloader程序进行修改 修改后结果如下图所示: image.png 5.2  代码修改 5.2.1  PA初始化 1、在nrf_dfu_ble.c文件中添加PA配置初始化函数,代码如下图所示: void pa_lna_assist );     m_enc_advdata[6] = MSB_16(BLE_DFU_SERVICE_UUID);     /* Get GAP device name and length. */      升级服务移植 -- 2 文件生成》、《nRF5x系列蓝牙模块DFU升级服务移植 -- 3 烧写升级》编译生成引导hex文件。

    1.1K31发布于 2020-07-02
  • 来自专栏JETSON NANO AI

    nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装

    登录https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads官网,选择需要下载的版本进行下载,如下图所示:

    1.5K70发布于 2020-07-02
  • 来自专栏JETSON NANO AI

    nRF5x系列蓝牙模块DFU升级服务移植 -- 2 文件生成

    文章中所使用的工具,请参考《nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装》说明。 备注:务必要保存好私钥private.key,以后每个新的image要升级时,都会先通过这个私钥对它进行签名,一旦private.key丢失或者被暴露,DFU将无法进行或者变得不安全。 ,并替换F:\nRF5_SDK_15.0\examples\dfu中的dfu_public_key.c文件,如下图所示: image.png 2.3  boot工程的hex生成 打开F:\nRF5_SDK ,编译该工程会提示0错误,并且在F:\nRF5_SDK_15.0\examples\dfu\secure_bootloader\pca10040_ble\arm5_no_packs\_build文件夹中生成 打开F:\nRF5_SDK_15.0\examples\ble_peripheral\ble_app_buttonless_dfu\pca10040\s132\arm5_no_packs文件夹下的keil

    1.3K50发布于 2020-07-02
  • 来自专栏云深之无迹

    从 Apple T2 安全到普通 MCU 启动过程

    这个是 M4 的主板,我也没有看到雷电的接口不一样 其实是这样的,虽然苹果有两个口,但是是 USB4+霹雳的: 大概是这样 看看 DFU 按照文档的意思,DFU 是底层 iBOOT 下的产物,这段引导是提前写入的 ,也就是说,除非真真正正的硬件错误,否则只要进入 DFU 就可以重新启动引导。 DFU 模式的技术原理 DFU 模式本质是一个 USB DFU 协议设备,当 iPhone/iPad 进入 DFU 时;电脑看到的设备不是 iPhone,而是: Apple Mobile Device 那为什么 Apple 仍然允许 DFU? 因为 DFU 解决一个关键问题:设备可恢复性;如果没有 DFU:设备更新失败就彻底砖;Apple 的设计原则是:DFU 必须存在,但 DFU 不允许绕过签名。

    15910编辑于 2026-03-30
  • 来自专栏JETSON NANO AI

    nRF5x系列蓝牙模块DFU升级服务移植 -- 4 应用移植

    在操作应用移植时,请先掌握以下内容: 《nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装》 《nRF5x系列蓝牙模块DFU升级服务移植 -- 2 文件生成》 《nRF5x系列蓝牙模块DFU升级服务移植 使能DFU功能,这个是核心部分,选择nRF_DFU选项下的BLE_DFU_ENABLED进行勾选,如下图所示: image.png 添加绑定功能,绑定功能实际上是内存和设备管理相关,选择nRF_BLE选项下的 4.2.1  DFU功能支持文件添加 需要添加DFU功能文件,首先鼠标放在工程上点击右键,选择Manager Project Items工程管理选项,如下图所示: image.png 新建一个文件夹nRF_DFU 服务的声明 该部分分为三个部分进行操作:1、在服务初始化函数中,添加DFU服务初始化;2、添加DFU事件处理函数;3、添加APP触发DFU功能转换函数。 1、添加DFU服务初始化,因为DFU属于独立于其他服务的128bit主服务,需要独立的引出对DFU服务进行初始化声明,代码如下所示: static void services_init(void) {

    2.4K60发布于 2020-07-02
  • 来自专栏单细胞天地

    单细胞测序构建糖尿病足溃疡图谱

    本文确定了可能对DFU愈合有效的重要细胞类型,为其治疗提供新方法。 DFU的愈合与成纤维细胞的关系 作者选取了17名糖尿病患者(11例有DUF,6例无DUF),10例非糖尿病的健康人。 )、DFU-non-healer(未治愈的糖尿病患者)和糖尿病组(没有DFU的糖尿病患者)。 另外,DFU-healer中高表达T细胞特异性基因,如IL7R、TCF7和CCR7,而DFU-non-healer高表达NKT系列基因,如NKG7、GNLY、CCL5和KLRD1。 与DFU-non-healer、糖尿病患者和健康对照相比,DFU-Healers组HE-Fibro细胞数量明显增加。 与DFU-non-healer组相比,DFU-Healer 组还显示出 M1 巨噬细胞(促进炎症的经典活化巨噬细胞)的比例明显高于 M2 巨噬细胞(具有抗炎特性的活化巨噬细胞)。

    1.3K11编辑于 2023-02-16
  • 来自专栏向治洪

    如何使用蓝牙实现OTA固件升级

    接下来,我们再讲讲双区DFU(dual bank)和单区DFU(single bank),双区或者单区DFU是新固件和老固件覆盖的两种方式。 后面只会阐述非按键式DFU的过程,按键式DFU以此类似,就不再赘述。 程序跳到BootLoader后,根据BootLoader需不需要对新固件进行验签,Nordic SDK又把DFU分为开放式DFU和安全式DFU(又称签名DFU)。 在SDK中,DFU服务的名字是:BLE_DFU_SERVICE,这个服务放在文件ble_dfu.c中,而ble_dfu.c又有两个后端实现:ble_dfu_unbonded.c和ble_dfu_bonded.c DFU_SUPPORT是我用来控制我添加的DFU代码的,删掉DFU_SUPPORT,将不编译所有DFU有关代码。其余的宏都是系统自带的,如果要支持DFU,就必须要添加。

    5K20编辑于 2022-10-31
  • 来自专栏JETSON NANO AI

    nRF5x系列蓝牙模块DFU升级服务移植 -- 3 烧写升级

    文章中所使用的工具和文件生成,请参考 《nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装》 《nRF5x系列蓝牙模块DFU升级服务移植 -- 2 文件生成》 说明。 工具上可以看到烧写成功提示,如下图所示: image.png 烧写完成后,使用手机nRF Connect工具可以搜索到名称为DfuTarg广播信号,此时模块还没有进入应用广播,如下图所示: image.png 3.1.2  DFU 升级 完成烧写步骤后,还没有进行应用,所以我们需要升级一次应用,点击DfuTarg广播的连接CONNECT,进入服务,点击右上角DFU图标,如下图所示: image.png image.png 点击后会弹出选择文件框 output m3.hex,回车执行指令,执行结果如下图所示: image.png 在命令行中输入指令mergehex --merge m3.hex app_setting.hex --output dfu.hex ,回车执行指令,执行结果如下图所示: image.png 使用nRFgo工具中的Program Application烧写dfu.hex文件,如下图所示: image.png

    1.5K30发布于 2020-07-02
  • 来自专栏单片机爱好者

    扒一个超棒的stm32的开源usb-can项目,canable及PCAN固件

    而且主芯片STM32F042/72支持USB DFU,可以通过USB直接更新固件,无缝切换多种上位机。 先上项目首页,canbale项目官网: https://canable.io/ ? web在线烧写固件 如果只是想copy一个来用用,不需要去自己编译烧写,可以直接用STM32的USB DFU通过USB下载固件,我会在附件资料提供相应的软件和文档说明,并提供编译好的几个固件。 用谷歌浏览器打开这个页面,把canbale的DFU拨码开关按下去,在用USB连接电脑。选择需要烧写的的固件类型,再点connect and update就可以直接通过网页进行烧写。 ? ? USB DFU-util烧写固件 下载dfu-util-0.9-win64: https://liquidtelecom.dl.sourceforge.net/project/dfu-util/dfu-util cmd /k canbale的DFU拨码开关按下去,连接电脑USB线会识别成“STM32 BOOTLOADER” 如果识别失败需要下载安装驱动, https://canable.io/utilities

    10K30发布于 2021-06-16
  • 来自专栏嵌入式方案

    BLE模块 从机 AT指令 BLE HID NUS 密码配对 自动回连 电量显示 OTA DFU DTM 定

    蓝牙模块功能:BLE4.2仅从机( 支持 苹果/安卓/PC/小程序 连接)串口透传(NUS)HID(鼠标/键盘)密码配对(6位数字密码)自动回连(无需APP支持)系统电量显示(IOS/Win,安卓需要走自定义)OTA更新固件(空中升级+UART升级)带DTM和定频模式(过验证)系统电量显示:window图片苹果负一屏图片AT指令(UART)4路PWM4路自定义IO2路ADC采集1路WS28xx**本模块应用方向:1.蓝牙鼠标、键盘2.串口透传3.自动回连,靠近开锁。(门禁、电动车、小汽车)4.智能家居**验

    94070编辑于 2023-04-24
  • 来自专栏呱牛笔记

    一个给蓝牙模块升级的Android应用小工具

    0、主界面代码: package com.example.sifliotademo; import static com.sifli.siflidfu.Protocol.DFU_SERVICE_EXIT ; import static com.sifli.siflidfu.SifliDFUService.BROADCAST_DFU_PROGRESS; import static com.sifli.siflidfu.SifliDFUService.BROADCAST_DFU_STATE ; import static com.sifli.siflidfu.SifliDFUService.EXTRA_DFU_PROGRESS; import static com.sifli.siflidfu.SifliDFUService.EXTRA_DFU_PROGRESS_TYPE ; import static com.sifli.siflidfu.SifliDFUService.EXTRA_DFU_STATE; import static com.sifli.siflidfu.SifliDFUService.EXTRA_DFU_STATE_RESULT );         intentFilter.addAction(BROADCAST_DFU_STATE);         intentFilter.addAction(BROADCAST_DFU_PROGRESS

    71510编辑于 2023-11-28
  • 来自专栏安富莱嵌入式技术分享

    【STM32H7教程】第67章 STM32H7的系统bootloader基础知识

    如果用到系统bootloader的DFU/CAN接口,需要用到HSE时钟,这个时钟的频率是通过内部HSI/MSI检测出具体频率。 因此,由于外部温度等各种情况,内部HSI的精度会受到影响,从而影响检测出来的HSE时钟有较大误差,最终导致DFU/CAN运行失败。 具体实现会在下一章节为大家讲解。 67.4 退出系统bootLoader的方法 当前主要研究了USB DFU和串口IAP退出bootLoader。   USB DFU 当芯片工作在系统bootLoader的USB DFU模式,更新完毕程序后,不会自动退出USB DFU,需要重新复位芯片后才会退出。 由于DFU模式会用到USB线,插拔USB线是难以避免的,所以是否支持自动退出,并不影响。   串口IAP 当芯片工作在系统bootLoader的串口升级模式,更新完毕程序后,可以自动退出。

    3.1K21发布于 2020-03-06
  • 红雪刷机教程:0.9.15b3版刷机工具使用指南

    进入 DFU 模式红雪工具需要设备进入 DFU 模式 来进行刷机操作。按以下步骤操作:确保设备连接到电脑。在红雪界面选择 “Jailbreak” 或 “Install Cydia”。 根据提示,快速操作 进入 DFU 模式,这是一个需要精确时机的步骤:按住 Power(电源键) 和 Home(主屏幕键) 10 秒。 然后释放 Power 键,继续按住 Home 键 约 10 秒,直到红雪工具显示 DFU 模式。7. 设备无法进入 DFU 模式怎么办?确保按照提示准确操作进入 DFU 模式,操作步骤非常精确。如果进入失败,可以尝试多次,并确保没有其他程序干扰刷机过程。3. 越狱后无法正常启动怎么办? 虽然 红雪工具 提供了较为简便的刷机和越狱方式,但仍需要仔细执行每个步骤,尤其是在进入 DFU 模式 时。刷机过程中,确保设备连接稳定,并耐心等待过程完成。

    92510编辑于 2025-08-22
  • 来自专栏电子电路开发学习

    【ST开发板评测】使用Python来开发STM32F411

    1.准备工作 支持Nucleo-F411RE的MicroPython固件:NUCLEO_F411RE-20190604-v1.11-25-gce8262a16.dfu 用于STM32 DFU下载的软件: STSWSTM32080V3.0.6.zip PUTTY串口终端:putty-64bit-0.71-installer.msi 2.安装Dfu下载软件 下载完成后,安装DFU下载软件DfuSeDemo, 4.烧录MicroPython固件 和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。 设置完成之后,连接电脑,设备管理会出现一个DFU设备 ? 打开DfuSeDemo软件,选择已经下载的固件:NUCLEO_F411RE-20190604-v1.11-25-gce8262a16.dfu ? 点击Upgrade升级,在弹出的界面,点击“是”。

    3.1K20发布于 2020-07-17
领券