侵权投诉

STM32F091空片编程后怎样直接运行用户代码

STM32单片机 2017-08-31 14:16 次阅读

问题
某客户在其产品的设计中,使用了STM32F091RCT6。客户使用ST-Link 对STM32F091RCT6 进行编程,发现对空片进行编程之后,必须要重新上电才能运行用户代码;但是如果不是空片,则编程后就可以直接运行用户代码。由于客户的测试系统是直接烧写完芯片后在不断电的情况直接进入测试模式,如果空片烧写需要断电的话,带来一定的麻烦。客户希望搞明白这件事,并希望找到办法,能在空片编程后也可以直接运行用户代码。


调研
1.还原问题
在这里,使用带有STM32F091RCT6 的NUCLEO-F091RC 板来进行问题还原,将此Nucleo 板通过USB 线连接到电脑。打开STM32 ST-LINK Utility,点击“Connect to the target”按钮进行芯片连接,连接后打开一个准备好的LED 灯闪烁的.hex 文件代码,点击“Program verify”按钮准备进行编程。

 

在这里,我们勾选了“Reset after programming”,目的在于编程后对芯片进行复位,可以运行用户代码。然后点击“Start”按钮开始进行编程。
编程之后,按道理可以看到LED 灯闪烁的,但是并没有出现。需要给MCU进行断电后,重新上电才能看到LED 灯闪烁。也就是说需要一次上电复位才能运行用户代码。

2.分析问题
先来回顾一下STM32F091 的参考手册RM0091 对于Empty Check 的描述:

首先,芯片内部存在一个查空标志,用来标志芯片是否为空片。这个标志位是在BOOT0 脚被定义到从Main Flash memory 启动的时候使用。当这个标志位被置“1”的时候,此芯片被认为是空的,系统将从Systemmemory 中启动Bootloader,以允许用户进行代码下载,即使现在BOOT0脚定义的是从Main Flash memory 启动。此标志位只在载入Option bytes 时更新:当地址0x0800 0000 读出的内容为0xFFFF FFFF 时,此标志位置“1”,否则为“0”。这意味着当烧写完一个空片后需要在系统复位后执行用户代码的话,是必须要重新上电以产生或者在FLASH_CR寄存器中置位OBL_LAUNCH 来启动Optionbyteloader reset,以清除此查空标志。

现在就可以来分析目前所遇到的情况了:


当空片通过SWD 连接到ST-Link 进行烧写的情况下,由于上电时空片检测检测到此芯片为空片,查空标志被置位,所以系统此时从System memory 中启动Bootloader 开始运行。通过简单的SWD 接口对芯片进行编程,勾选的“Reset afterprogramming”将在编程结束后在RESET引脚上产生一个复位信号,但是不幸的是这个复位并不能清除查空标志,导致复位后仍然从System memory 中启动Bootloader,而没有运行用户代码,也就是我们之前遇到的现象。

一般情况下,我们都可以通过重新上电来产生POR 以清除查空标志,从MainFlash memory 启动运行用户代码。但是,客户目前的这种特殊需求就会带来一定的麻烦。还有一种应用也会比较麻烦,也就是使用锂电池的产品,而且这个电池直接焊接到用户板上,无法方便地进行断电上电。此时,若是空片是焊接在板子上进行在线编程,那么,问题来了。空片编程之后,由于不方便进行断电,而无法完成POR的动作,不能运行用户代码也就无法实现一个Option byte loader reset。查空标志无法清除,程序运行将死在System memory 的Bootloader。

3.问题解决
这种问题呢,解决方法当然有很多种,下面来大概地探讨一下:
1) 从生产上来解决:芯片在编程器上进行单独编程,之后再上板子,避开空片烧写后没有POR。
2) 从硬件上来解决:使用一个跳线,或者使用其他方式,比如在夹具上想办法,以达到通过人工的断电再连通上电,实现一个POR。需要在PCB 板上预留。大家可自行选择对策。但是这会增加生产上的麻烦,降低效率。
3) 从编程方法来解决:不使用ST-Link 进行编程,直接使用Bootloader 进行串口升级,升级后跳转到Main Flashmemory 去运行用户代码。需要在用户代码中加入将MainFlash memory 映射到0x0000 0000 的代码。

4) 前面几种方式大家一看就明白如果去解决了。但是,如果一定要使用ST-Link 通过SWD 进行烧写的话,就另当别论,我们下面来探讨这种方式。
一般看到这种问题,直观思维就是思考是否有办法,可以在ST-LINK 烧写后通过一定的ST-LINK命令跳转到用户代码去运行用户代码。方法看起来可行,但是有点复杂。第一,STM32 ST-LINKUtility 没有提供类似的功能,需要用户自行使用ST-LINK_CLI 命令;第二,需要在用户代码中加入别忘了将MainFlash memory 映射到0x0000 0000 的代码;第三,由于查空标志未清除,需担心意外的复位信号或干扰,导致复位后又跑回SystemMemory,还需要在用户代码中加入“每次运行都判断是否为OptionBytes Loader reset,如果不是,就直接执行一次Option BytesLoader reset以清除查空标志”。


我们的直观思维都是出现问题解决问题,但是看了上面的描述,这样的解决办法还真有点麻烦。那有没有什么其他简单的办法呢?答案是有的,我们不要把思维停留在出现问题解决问题上,而是如何去避免产生问题。下面来理一理思路:

这个问题的根源在于查空标志的存在,所以需要思考的是怎么避免查空标志的影响?
来看一下查空标志产生的条件

       a) 使用了BOOT0 引脚;
       b) BOOT0 引脚为低电平,启动区域指向MainFlash memory;
       c) 读取0x0800 0000 地址的值为0xFFFF FFFF;


由于是空片编程,所以第三种条件是肯定是成立的;由于硬件设计,BOOT0 引脚的电平也不方便改来改去;所以需要把关注点放在第一个条件上——“使用了BOOT0 引脚”。由于STM32F091的特性,刚好有机会可以不使用BOOT0 引脚,而是直接使用选项字节,所以解决的办法有了。

步骤如下:
    i. 打开STM32 ST-LINK Utility,点击“Connect to the target”按钮进行连接;
    ii. 从菜单“Target → Option Bytes”调出选项字节对话

 

将“nBoot0_SW_Cfg”的打勾去掉,点击“Apply”,改成使用选项字节中的nBoot0 和nBoot1 来控制启动区域
   iii. 再打开需要烧写的代码文件,点击“Program Verify”按钮,对话框中勾选“Reset after programming”,点击“Start”完成烧写动作就可以了。

 

这样就可以看到用户代码已经在运行了,是不是很简单。
如果,希望更简单的完成,可以使用ST-LINK_CLI,写一个批处理文件,包含以下动作:

ST-LINK_CLI -c SWD UR

ST-LINK_CLI -ME

ST-LINK_CLI -p xxxxxxxx.hex-v “while_programming”

ST-LINK_CLI -OBnBOOT0_SW_Cfg=0

ST-LINK_CLI –Rst

 

 ST-LINK_CLI.exe位于STM32 ST-LINK Utility 安装目录里,关于命令请参考《ST-LINKUtility UM.pdf》。

结论
由于查空检测机制,导致STM32F091 空片在使用ST-LINK编程后,不断电的情况下复位将回到System Memory,无法进入MainFlash memory 去运行用户代码。所以,在特殊应用中,如果无法进行断电再上电,需要使用办法对这种机制进行破坏。

处理

Boot 启动配置为用选项字节进行控制,而不是使用Boot0引脚,以此来破坏查空机制的影响。


建议
对于问题的解决,一般从两个方向进行思考:一是出现了问题再来找解决问题的办法;二是如何避免出现问题。很多时候,由于思维惯性,很多工程师可能会更喜欢直接从第一种方向去思考问题;然而,事实上,如果能从第二种方向思考,阻止问题的产生,那才是最好的办法。

原文标题:STM32F091空片编程后不能直接运行用户代码

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

STM32 中文手册分享

STM32 中文手册 STM32 中文手册 STM32 中文手册
发表于 06-03 16:26 93次 阅读
STM32 中文手册分享

代码 stm32f103的BMP085气压计的检测

[code]基于stm32f103的BMP085气压计的检测   #ifndef __BMP085_H #define __BMP085_H #include "sys.h"...
发表于 06-03 16:09 103次 阅读
代码  stm32f103的BMP085气压计的检测

附代码 基于stm32驱动BMP388温度气压传感器

基于stm32驱动BMP388温度气压传感器
发表于 06-03 16:06 89次 阅读
附代码 基于stm32驱动BMP388温度气压传感器

「ALIENTEK 探索者 STM32F407 开发板资料连载」第十章 外部中断实验

1)实验平台:alientek 阿波罗 STM32F767 开发板 2)摘自《STM32F7 开发指南(HAL 库版)》关注官方微信号公众号,获取...
发表于 06-03 11:38 139次 阅读
「ALIENTEK 探索者 STM32F407 开发板资料连载」第十章 外部中断实验

「ALIENTEK 探索者 STM32F407 开发板资料连载」第九章 串口通信实验

1)实验平台:探索者 STM32F407 开发板 2)摘自《STM32F4 开发指南(HAL 库版)》关注官方微信号公众号,获取更多资料...
发表于 06-03 11:28 128次 阅读
「ALIENTEK 探索者 STM32F407 开发板资料连载」第九章 串口通信实验

「ALIENTEK 探索者 STM32F407 开发板资料连载」第八章 按键输入实验

1)实验平台:探索者 STM32F407 开发板 2)摘自《STM32F4 开发指南(HAL 库版)》关注官方微信号公众号,获取更多资料...
发表于 06-03 11:26 120次 阅读
「ALIENTEK 探索者 STM32F407 开发板资料连载」第八章 按键输入实验

「ALIENTEK 探索者 STM32F407 开发板资料连载」第七章 蜂鸣器实验

1)实验平台:探索者 STM32F407 开发板 2)摘自《STM32F4 开发指南(HAL 库版)》关注官方微信号公众号,获取更多资料...
发表于 06-03 11:25 113次 阅读
「ALIENTEK 探索者 STM32F407 开发板资料连载」第七章 蜂鸣器实验

AltiumDesigner19的PCB设计官方指南实例合集

本文档的主要内容详细介绍的是AltiumDesigner19的PCB设计官方指南实例合集包括了:Al....
发表于 06-03 08:00 11次 阅读
AltiumDesigner19的PCB设计官方指南实例合集

STM32F4系列单片机的硬件开发入门教程免费下载

本应用笔记为系统设计人员提供了所需的开发板硬件实现概述,关注如下特性: 电源 封装选择 时钟管....
发表于 06-03 08:00 11次 阅读
STM32F4系列单片机的硬件开发入门教程免费下载

意法半导体的STM8和STM32产品选型手册最新版免费下载

本文档的主要内容详细介绍的是意法半导体的STM8和STM32产品选型手册最新版免费下载。
发表于 06-03 08:00 13次 阅读
意法半导体的STM8和STM32产品选型手册最新版免费下载

STM32飞控的电路原理图和PCB库及物料清单和源代码资料合集

本文档的主要内容详细介绍的是STM32飞控的电路原理图和PCB库及物料清单和源代码资料合集。
发表于 06-03 08:00 13次 阅读
STM32飞控的电路原理图和PCB库及物料清单和源代码资料合集

有开源GUI LittlevGL移植分享的吗

无意间发现一个开源的GUI库LittlevGL 官方地址: STM32F429Discovery移植演示: 官方移植介绍: 效果图: 后面...
发表于 06-03 04:35 13次 阅读
有开源GUI LittlevGL移植分享的吗

基于STM32的UCOSII移植笔记

   根据网上资料,以及《ARM Cortex-M3权威指南》、《嵌入式实时操作系统UCOSII 第二版》等相关书籍的介绍...
发表于 06-03 02:56 16次 阅读
基于STM32的UCOSII移植笔记

关于nrf24l01通信问题如何解决

51和stm32的nrf24l01通信,51能发送数据给32,32却不能发送数据给51...
发表于 06-03 01:35 8次 阅读
关于nrf24l01通信问题如何解决

STM32程序移植的NRF24L01模块详细说明

本文档的主要内容详细介绍的是STM32程序移植的NRF24L01模块详细说明包括了:发送,接收,源码....
发表于 06-02 08:00 7次 阅读
STM32程序移植的NRF24L01模块详细说明

使用Keil新建STM32的工程步骤详细说明

本文档的主要内容详细介绍的是使用Keil新建STM32的工程步骤详细说明。
发表于 06-02 08:00 26次 阅读
使用Keil新建STM32的工程步骤详细说明

STM32单片机的USB源代码及开发笔记下载

本文档的主要内容详细介绍的是STM32单片机的USB源代码及开发笔记下载。
发表于 06-01 17:42 45次 阅读
STM32单片机的USB源代码及开发笔记下载

STM32L552开发板——GPIO

在电脑的磁盘上新建一个文件夹,这个文件夹并不是工程目录,至于工程目录是哪个,稍后会说。注意,文件件的....
的头像 STM32单片机 发表于 05-30 09:53 439次 阅读
STM32L552开发板——GPIO

STM32L552开发板——开发环境

值得注意的是,只有安装STM32CubeMX的5.6.0版本,才能有对STM32L5系列微控制器的支....
的头像 STM32单片机 发表于 05-29 17:09 264次 阅读
STM32L552开发板——开发环境

STM32L1xx与STM32L1xx-A的差别

关于二者的差别及移植,ST官方有个技术笔记TN1176做了详细的介绍。我这里稍作整理,将STM32L....
的头像 STM32单片机 发表于 05-29 17:03 267次 阅读
STM32L1xx与STM32L1xx-A的差别

STM32的高级定时器的非对称模式工作原理

移相全桥的拓扑如下图所示,由于谐振电感L1的存在,结合移相控制,使开关管达到零电压开通(ZVS),从....
的头像 STM32单片机 发表于 05-29 17:01 283次 阅读
STM32的高级定时器的非对称模式工作原理

使用STM32自制的一个温度报警器工程文件免费下载

本文档的主要内容详细介绍的是使用STM32自制的一个温度报警器工程文件免费下载。
发表于 05-29 08:00 39次 阅读
使用STM32自制的一个温度报警器工程文件免费下载

JY60六轴姿态传感器的STM32单片机演示代码合集免费下载

本文档的主要内容详细介绍的是JY60六轴姿态传感器的STM32单片机演示代码合集免费下载包括了:ST....
发表于 05-29 08:00 45次 阅读
JY60六轴姿态传感器的STM32单片机演示代码合集免费下载

使用STM32单片机控制TN905红外测温报警系统的源代码免费下载

本文档的主要内容详细介绍的是使用STM32单片机控制TN905红外测温报警系统的源代码免费下载。 ....
发表于 05-28 08:00 42次 阅读
使用STM32单片机控制TN905红外测温报警系统的源代码免费下载

ALIENTEK探索者STM32F4开发板及模块元器件封装库资料合集免费下载

本文档的主要内容详细介绍的是ALIENTEK探索者STM32F4开发板及模块元器件封装库资料合集免费....
发表于 05-26 17:32 61次 阅读
ALIENTEK探索者STM32F4开发板及模块元器件封装库资料合集免费下载

STM32F103C8T6收发程序和工程文件免费下载

本文档的主要内容详细介绍的是STM32F103C8T6收发程序和工程文件免费下载 ,程序基于STM3....
发表于 05-25 08:00 55次 阅读
STM32F103C8T6收发程序和工程文件免费下载

两轮自平衡车的设计报告

随着城市的迅猛发展,现代人出行的方法也变得丰富起来,继而让一种新奇的代步方式----两轮自平衡车深受....
发表于 05-25 08:00 60次 阅读
两轮自平衡车的设计报告

使用STM32F10实现两个编码器测距的工程文件和程序免费下载

本文档的主要内容详细介绍的是使用STM32F10实现两个编码器测距的工程文件和程序免费下载。
发表于 05-22 08:00 42次 阅读
使用STM32F10实现两个编码器测距的工程文件和程序免费下载

普中STM32F1xx系列单片机的开发攻略资料免费下载

学习本开发攻略主要参考的文档有《STM32F1xx 中文参考手册》和《Cortex M3 权威指南(....
发表于 05-22 08:00 59次 阅读
普中STM32F1xx系列单片机的开发攻略资料免费下载

STM32L系列微控制器的数据手册免费下载

本文档的主要内容详细介绍的是STM32L系列微控制器的数据手册免费下载。
发表于 05-21 17:25 69次 阅读
STM32L系列微控制器的数据手册免费下载

STM32系列微控制器的中文参考手册免费下载

系统构架在小容量、中容量和 大容量产品中,主系统由以下部分构成: ● 四个驱动单元: ─ Corte....
发表于 05-21 08:00 60次 阅读
STM32系列微控制器的中文参考手册免费下载

Freemodbus RTU在STM32上的移植分析

最近用到free modbus,需要在stm32上进行移植,以作modbus-RTU之用。现成协议的....
发表于 05-20 17:37 76次 阅读
Freemodbus RTU在STM32上的移植分析

玩嵌入式,一般怎么入门?

入门阶段:(不要只看书,要多动手,但千万不是直接动手,不去看书) C语言:嵌入式编程大多用C语言、少....
发表于 05-20 10:48 164次 阅读
玩嵌入式,一般怎么入门?

Cartesiam发布优化意法半导体STM32开发板的新版NanoEdge™ AI Studio

意法半导体AI解决方案经理Miguel Castro表示:“ST微控制器的用户不仅可以从Cartes....
发表于 05-20 10:35 120次 阅读
Cartesiam发布优化意法半导体STM32开发板的新版NanoEdge™ AI Studio

STM32F407ZGT6核心板的资料合集免费下载

本文档的主要内容详细介绍的是STM32F407ZGT6核心板的资料合集免费下载包括了:AD库,例程,....
发表于 05-19 08:00 47次 阅读
STM32F407ZGT6核心板的资料合集免费下载

JQ8900语音芯片的STM32F1使用程序资料免费下载

本文档的主要内容详细介绍的是JQ8900语音芯片的STM32F1使用例程资料免费下载
发表于 05-19 08:00 50次 阅读
JQ8900语音芯片的STM32F1使用程序资料免费下载

STM32串行外设接口SPI的资料说明

小容量产品 是指闪存存储器容量在 16K 至 32K 字节之间的 STM32F101xx 、STM3....
发表于 05-18 08:00 61次 阅读
STM32串行外设接口SPI的资料说明

STM32F10x V3.5.0标准固件库资料合集免费下载

本文档的主要内容详细介绍的是STM32F10x V3.5.0标准固件库资料合集免费下载。
发表于 05-15 08:00 56次 阅读
STM32F10x V3.5.0标准固件库资料合集免费下载

STM32F101xx与STM32F103xx和ARM微控制器固件函数库资料合集免费下载

本手册介绍了 32 位基于 ARM 微控制器 STM32F101xx 与 STM32F103xx 的....
发表于 05-15 08:00 88次 阅读
STM32F101xx与STM32F103xx和ARM微控制器固件函数库资料合集免费下载

如何将I2C LCD与STM32F103C8T6连接?

PCF8574是一个16引脚IC,用作I2C至8位并行IO扩展器。这意味着使用微控制器的I2C通信,....
的头像 单片机 发表于 05-14 11:01 598次 阅读
如何将I2C LCD与STM32F103C8T6连接?

如何将16×2 LCD与STMF103C8T6接口通讯

在任何嵌入式项目中,在人机界面上显示重要内容都是非常重要的,因为它使用户可以轻松地与系统进行交互。带....
的头像 单片机 发表于 05-14 10:57 572次 阅读
如何将16×2 LCD与STMF103C8T6接口通讯

如何将DHT11湿度和温度传感器与基于STM32F103C8T6 MCU的STM32 Blue Pill Board接口

我已经在一个名为“ Arduino上的DHT11湿度传感器 ”的Arduino项目中使用了DHT11....
的头像 单片机 发表于 05-14 10:47 990次 阅读
如何将DHT11湿度和温度传感器与基于STM32F103C8T6 MCU的STM32 Blue Pill Board接口

STM32替换Arduino直通车

需要注意的是,STM32的BOOT0要接上VCC高电平,BOOT1要接上GND低电平,然后按STM3....
的头像 单片机 发表于 05-14 10:18 548次 阅读
STM32替换Arduino直通车

STM32定时器单脉冲模式的一个应用示例

按照上面的思路来编程进行调试后发现个问题,那就是在DMA传输完成中断里去关闭定时器的PWM输出时,这....
的头像 ST MCU 信息交流 发表于 05-14 09:29 658次 阅读
STM32定时器单脉冲模式的一个应用示例

PWM输出第一个脉冲宽带异常的话题

产生这个现象的原因简单点说就是在于定时器比较输出模块的工作与定时器计数单元的工作具有相对独立性。使能....
的头像 ST MCU 信息交流 发表于 05-14 09:27 748次 阅读
PWM输出第一个脉冲宽带异常的话题

DMA触发请求异常之案例分享

我这里也设计了两轮DMA传输,照样使用TIMER更新事件触发ADC转换。第一轮DMA传输传输3个AD....
的头像 ST MCU 信息交流 发表于 05-14 09:24 527次 阅读
DMA触发请求异常之案例分享

STM32定时器非对称PWM输出模式应用示例

所谓非对称PWM输出模式它是相对基于中心对称计数时的对称PWM输出而言的。当计数模式为中心对齐,某个....
的头像 ST MCU 信息交流 发表于 05-14 09:21 605次 阅读
STM32定时器非对称PWM输出模式应用示例

对STM32内部FLASH编程时遇到的ADC异常问题

奇怪的是ADC3改为由软件触发则没有异常现象。用来触发ADC的定时器一直计数正常,并且只要重新配置A....
的头像 ST MCU 信息交流 发表于 05-14 09:18 620次 阅读
对STM32内部FLASH编程时遇到的ADC异常问题

STM32定时器BURST传输介绍及示例

这里有两个专门用于定时器BURST传输的寄存器,分别是TIM2_DCR和TIM2_DMAR. 其中T....
的头像 ST MCU 信息交流 发表于 05-14 09:15 467次 阅读
STM32定时器BURST传输介绍及示例

STM32L1产品线中带A与不带A的差别

关于二者的差别及移植,ST官方有个技术笔记TN1176做了详细的介绍。我这里稍作整理,将STM32L....
的头像 ST MCU 信息交流 发表于 05-14 09:08 731次 阅读
STM32L1产品线中带A与不带A的差别

利用STM32高精度定时器实现PWM输出的实现原理

STM32F334的HRTIM的功能框图如下,由一个MASTER定时器和ABCDE五个定时器单元组成....
的头像 ST MCU 信息交流 发表于 05-14 09:06 709次 阅读
利用STM32高精度定时器实现PWM输出的实现原理

STM32F1嵌入式实时操作系统的开发手册资料免费下载

从本章开始我们就踏入了 FreeRTOS 的大门,FreeRTOS 是一个 RTOS 类的嵌入式实时....
发表于 05-14 08:00 65次 阅读
STM32F1嵌入式实时操作系统的开发手册资料免费下载

Proteus8.9 VSM Studio GCC编译器仿真STM32F407ZGT6系列011_lcd1602并口

一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示) 图1二,调整原理图大小,适合可视,另
的头像 Proteus仿真 发表于 05-11 11:22 476次 阅读
Proteus8.9 VSM Studio GCC编译器仿真STM32F407ZGT6系列011_lcd1602并口

用Proteus8.9自带STM32F401VE的Controller仿真STM32F407ZGT6,F429IGT6

 一,目前得到的 Proteus8.9版本软件能够支持的Cortex-M4固件库项目,只能到达STM
的头像 Proteus仿真 发表于 05-11 11:20 809次 阅读
用Proteus8.9自带STM32F401VE的Controller仿真STM32F407ZGT6,F429IGT6

STM32单片机与Cortex-M3微处理器的资料简介

本文档的主要内容详细介绍的是STM32单片机与Cortex-M3微处理器的资料简介
发表于 05-11 08:00 83次 阅读
STM32单片机与Cortex-M3微处理器的资料简介

使用STM32单片机应用OV7670摄像头的AD原理图免费下载

本文档的主要内容详细介绍的是STM32单片机应用OV7670摄像头的AD原理图免费下载。
发表于 05-11 08:00 74次 阅读
使用STM32单片机应用OV7670摄像头的AD原理图免费下载

使用STM32单片机实现火灾报警器的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用STM32单片机实现火灾报警器的程序和工程文件免费下载。
发表于 05-10 08:00 94次 阅读
使用STM32单片机实现火灾报警器的程序和工程文件免费下载

意法半导体STM32Cube微控制器开发软件在GitHub正式上线

在GitHub上发布STM32Cube软件全部原始代码,可以让1000多款STM32 *Arm®Co....
发表于 05-08 10:50 546次 阅读
意法半导体STM32Cube微控制器开发软件在GitHub正式上线

STM32平衡车的资料合集免费下载

本文档的主要内容详细介绍的是STM32平衡车的资料合集免费下载。
发表于 05-08 08:00 55次 阅读
STM32平衡车的资料合集免费下载

零死角玩转STM32的初级篇和中级篇及系统篇PDF电子书免费下载

在用 JLINK 下载和调试程序之前,我们需要线在电脑上安装 JLINK 驱动,如果电脑上已经安装 ....
发表于 05-08 08:00 87次 阅读
零死角玩转STM32的初级篇和中级篇及系统篇PDF电子书免费下载