你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32程序的常用的两种烧录方式

[复制链接]
STMCU小助手 发布时间:2022-11-25 14:06
STM32有两种常用的烧录方式,一是利用JLink和STLink调试下载,二是利用串口线直接下载

一、ISP(In-System Programming)

在系统编程,使用引导程序(Bootloader)加上外围UART/SPI等接口进行烧录。

二、ICP (In-circuit programmer)

在电路编程,使用SWD/JTAG接口。

这两种方式有什么区别以及怎么用我们得先了解一下STM32的地址映射

ea535976dbe4459bb8a09d72024131dd.png

看Block0中有两块标为橙色的,Flash和System memory

Main memory 主存储区、存放代码的地方

System memory系统存储区、System memory是STM32在出厂时内置Bootloader的地方

STM32的启动方式
STM32有两个BOOT引脚,通过配置不同的高低电平,可以让单片机从不同的地址开始运行。

BOOT0=0, BOOT1任意(JLink和STLink调试下载:ICP)

通常我们是在Main memory 主存储区(0x0800 0000)运行程序,BOOT0引脚拉低即可。

这种情况,KEIL软件给STM32烧录程序,就是直接在这个地址烧录,烧录完,直接在这个地址处运行。

BOOT0=1,BOOT1=0(串口直接下载:ISP)

这种情况就用在使用串口方式给STM32烧录程序,这时单片机从系统存储器(0x1FFF 0000)启动,运行的是出厂预置的BootLoader程序,可以接收串口发来的程序,并将其写入Main memory(0x0800 0000),程序烧录完成后,再将BOOT0引脚拉低,Main memory(0x0800 0000)处运行刚烧录的代码了。

BOOT0=1,BOOT1=1

这种情况是从内存中启动,内置SRAM(也就是STM32的内存中),既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。

6527933abf3846d591383ff59499a5c7.png

————————————————
版权声明:在邯郸睡大觉


收藏 评论0 发布时间:2022-11-25 14:06

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版