文档说明:STM32N6 是 ST 一颗带 NPU 的 MCU 芯片,内部只有一小块 ROM 用于第一阶段的 Boot,必须使用外部 Flash 存储用户代码或通过 USB/U(S)ART 串口启动。另外,STM32N6 的工程引入了一些新的术语比如 FSBL 等。本文记录 STM32N6 使用的一些基本启动步骤,重点介绍FSBL。
文档说明:客户使用 STM32G0B0 在做产品开发时碰到一个问题, 当程序从 BOOT 程序跳转到 APP 时, APP 运行失败. 而 BOOT 程序和 APP 程序单个运行时均能正常. 本文主要是介绍如何追踪并定位问题的方法, 以及所涉及到的工具和文件, 以供开发者参考
文档说明:在 STM32G0B1x 的 0x92 版本的 bootloader 中,通过 I2C 接口执行完"Go"命令跳转到应用程序时,会将设备的 DBG_SWEN 位配置为 0,也就是禁用设备的调试能力。如果我们想要恢复调试能力的话,可以在应用程序中添加设置 DBG_SWEN 位为 1 的操作。但是其它型号或者其它版本的 bootloader 执行"Go"命令后,不一定会有这种设置,我们应该具体应用具体分析,详细可以参考 AN2606,AN2606 是 STM32 bootloader 的说明文档
文档说明:在使用 STM32WB 系列 MCU 时,通过 STM32CubeProgramer GUI 方式更新 FUS,Stack,User APP,需要操作多次,并且要输入不同的地址,比较烦琐,不适合在量产中操作使用。根据 RN0109:STM32CubeProgrammer v2.11.0 release information 描述,在STM32CubeProgrammer v2.11.0 中已经支持通过 CLI 的方式自动更新 FUS,STACK,以及User APP。
文档说明:STM32 的 Bootloader 可以支持多种协议的,比如 USART,I2C,DFU 等等,USART Bootloader 是客户使用 STM32 的时候常常会用到的协议。客户在使用 STM32F745 进行产品开发的时候,出现了使用 STM32CubeProgramer 无法通过 USART1 Bootloader 进行程序升级的问题。为了解决客户的问题,我在 NUCLEO-F746ZG 开发板上,复现了同样的现象,本文针对这个现象,分析了该问题的原因和解决方法,作为一个记录。
文档说明:某客户使用我们的STM32G071 MCU,使用CubeProg 工具通过USART 接口烧录程 序后,执行 “Run after programming”并不能如期望般看到NUCLEO-G071 LED 灯的闪烁。
文档说明:本文对双Bank 模式下程序在线升级进行介绍,指出操作中的注意事项。
文档说明:某客户在应用中需要使用 STM32F765 片上 Bootloader 对用户 Flash 进行升级,结果发现有小批量产品在将 Boot0 拉高并复位 MCU 后,DFU 升级操作失败,PC 也未识别到 STM32 bootloader USB 设备。 用户很奇怪,STM32 启动时 BOOT0 为高不就进入片上 Bootloader?难道 MCU system loader 代码有问题? 本文主要解决这个问题。
文档说明:客户反馈通过PC软件flashloader 不能够跟STM32 MCU自带bootloader连接,并且系统运行一段时间后异常复位。本文主要解决这个问题。
文档说明:某客户在其产品的设计中,需要使用了STM32F072RBT6。客户在使用过程中,使用System Memory 中的USB DFU 功能对代码进行更新,并直接使用“Leave DFU mode”跑用户代码,进行功能观察。但是,发现STM32F0 在点击“Leave DFU mode”按钮后,用户代码并没有正常工作。本文主要解决这个问题。
文档说明:STM32提供了灵活的固件加载模式,其中大部分型号支持DFU加载。并且在电脑端,提供了配套的演示软件DfuSe。包含可视化版DfuSeDemo.exe和命令版DfuSeCommand.exe。本文主要介绍DfuSeCommand.exe的使用。
文档说明:STM32F769的双bank Flash,可以在执行程序的同时对另一个bank进行擦除和编程的操作。利用这个特性,可以实现在线程序更新,双bank启动的功能。本文将结合笔者在实际应用中遇到的问题,针对性的介绍nDBOOT分别设置为0和1时,两种不同的启动方式。同时你也可以参考AN4826和STM32F7 Cube库中的例程来进一步加深理解。
文档说明:在STM32 的系列产品中,很多型号都带有USB 接口,为使用USB 来进行代码升级提供了便利。这些型号中又有很大一部分可以通过内部System Memory 中的Bootloader 直接进行USB DFU 升级,具体哪些型号支持USB DFU,可参考应用笔记AN2606《STM32 微控制器系统存储器自举模式》。有些型号虽然有USB,但是System Memory 中的Bootloader 并没有支持USB DFU,比如STM32F102 / STM32F103、或者Bootloader V2.x 的
文档说明:客户计划使用STM32L011xx开发一款光模块产品,需要MCU支持I2C接口下载代码。但STM32L011xx内部Bootloader没有支持I2C接口,所以需要我们使用IAP的方式来帮助客户实现该功能。
文档说明:问题:有客户想用我们的STM32 NUCLEO(如STM32F072NUCLEO) 开发板来测试串口Bootloader。
文档说明:本文将针对客户无法使用内置Bootloader的DFU方式进行固件升级的问题进行分析。
文档说明:部分STM32 是具有空片检测功能的,以便直接进入System Memory 中执行Bootloader,方便通过某些个外设来直接进行编程。比如STM32L011xx、STM32L021xx、STM32F04x和STM32F09x。有看过《STM32F091 空片使用System Bootloader下载代码》和《STM32L011x 和STM32L021x启动模式注意事项》的都知道这个功能。
文档说明:针对客户在STM32L011D4P6应用开发过程中,碰到的启动模式问题进行了分析。并且根据问题,介绍开发工具、烧录工具中如何配置以避免影响。
文档说明:某客户在其产品的设计中,使用了STM32F411。由于产品外观的要求,无法在外部对BOOT 脚进行控制,而且外观上只有USB 接口是留在外边的,需要使用USB DFU 进行升级。而且USB接口只用于代码升级,没有其他功能,所以客户不想去碰USB 代码,希望能够直接使用System Memory 中的Bootloader 进行代码升级。
文档说明:伴随着固件升级需求的增加,STM32提供了灵活的升级方式。本文一步一步介绍如何利用USB DFU Class以及ST提供的DfuSe demo软件工具实现IAP(In Application Program)功能,但并不涉及到DFU class移植。
文档说明:本文将针对客户无法使用内置Bootloader的DFU方式进行固件升级的问题进行分析。
文档说明:本篇主要介绍STM8Lxxxx 如何实现在应用程序中编程(In-application programming)。
文档说明:本篇应用笔记为实现一个简易脱机编程器。通过本文档,您可以了解如何通过UART来实现一款简易的脱机编程器,并提供一个范例工程以供大家参考。
文档说明:我们在《STM32F09x 不使用BOOT 脚实现System Bootloader 升级代码》中实现了通过修改Option Bytes 来达到控制BOOT0 和BOOT1,在不需要外部BOOT 脚的情况下实现了使用System Bootloader进行代码升级的功能。可是,这个功能必须在程序中预先烧写了功能程序后,才能不断地进行升级。也就是说,在第一次空片烧写时,必须使用SWD进行烧写的。那有没有可能在空片烧写时,就可以直接使用System Bootloader 进行烧写呢?这样我们就可以完全使用串口进
文档说明:该问题由某客户提出,发生在 STM32F407IGT6 器件上。
文档说明:本文的内容为简单介绍STM32F0 的启动模式,并重点介绍有可能产生的问题。
文档说明:客户工程师在某型号新产品的设计中,使用了 STM32L151VCT6。据其工程师讲述:他使用 ST 的 Flash Loader demo 通过 STM32 的 USART1 向其加载用户程序,发现 Boot Loader demo 与 STM32 通信不稳定,时而成功时而不成功,有时甚至连接不上。
文档说明:该问题由某客户提出,发生在 STM32F103TBU6 器件上。据其工程师讲述:在其产品设计中,软件的架构采用 IAP Loader+App 的模式。IAP Loader 部分负责管理和更新 App 部分,而 App 部分则负责常规的业务的处理,两部分代码分别由独立的软件工程生成。系统运行时先启动 IAP Loader,由其判断是否需要更新 App,如不需更新则跳转到 App,由 App 进行常规业务处理。在软件调试过程中,其软件工程师发现从 IAP Loader 到 App 的跳转存在某种不可靠性。该跳
文档说明:有客户在初次使用STM32 MCU IAP 的例程的,可能会对跳转到APP 部分的函数的实现产生疑问 。
文档说明:某客户在其产品的设计中,使用了STM32F091RCT6,产品在出厂后将来可能由于功能的升级需要升级代码。由于外观的需要,客户不希望留一个用于升级的按键或是跳线槽在外边。希望能够是通过接收串口命令来实现启动升级,又希望能够直接使用System Memory 中的Bootloader 进行代码升级。
文档说明:当使用STM32的Bootloader 中的GO 命令进行从Bootloader 向用户代码进行跳转时,需要正确地在用户代码中设置向量表,才能正常地运行用户代码。