单片机学习小组
直播中

哈哈哈

11年用户 963经验值
擅长:可编程逻辑 电源/新能源
私信 关注

STM32程序烧写方式有哪些?

STM32程序烧写方式有哪些?

回帖(1)

赵军

2022-2-10 09:50:53
ST-link下载器烧写程序

使用专门的编程器/调试器,具有下载功能和调试功能,还可以和IDE结合,实现一键下载和调试。
这种接口是通过引脚直连ARM内核的,拥有较高的权限。

引脚图:
1. SWD模式

SWD模式是ST-LINK烧写的一种方式,只需要4根线,分别为VCC,GND,SWCLK,SWDIO。
接线图如下:
TVCC是电源平衡输入引脚,不能作为MCU的供电引脚,如果需要给芯片供电,那就需要把3V3和TVCC连接到一起使用。
2. JTAG模式

JTAG模式是ST-LINK烧写的一种方式,具体接线如下图所示。

BootLoader方式烧写程序

BootLoader方式就是通过一段引导代码来将我们要烧录的程序烧写进入单片机的Flash。
1. ISP

ISP方式就是单片机启动后,可用串口通过引导代码将程序烧写进入单片机的Flash,这段引导代码是ST公司在芯片出厂前就固化在内部的。
启动配置

参考:STM32中文参考手册_V10.pdf 查看启动配置
在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。
根据选定的启动模式,主闪存存储器、系统存储器或SRAM可以按照以下方式访问:



  • 从主闪存存储器启动:主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问,0x00000000或0x0800 0000。
    ● 从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(互联型产品原有地址为0x1FFF B000,其它产品原有地址为0x1FFF F000)访问它。
    ● 从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM。

使用ISP方式,要把boot0置1,boot1置0,然后通过串口1下载程序。具体步骤如下:


  • 将BOOT0设置为1,BOOT1设置为0,然后复位重启,这样才能从系统存储器启动BootLoader;
  • 然后在BootLoader的帮助下,通过串口下载程序到Flash中;
  • 程序下载完成后,必须要将BOOT0设置为0,然后复位重启。

串口下载软件选用的是FlyMcu或MCUISP,通过串口的DTR和RTS信号来自动配置BOOT0和RESET信号,不需要用户手动切换它们的状态,直接串口软件自动控制,可以方便的下载代码。
2. IAP

IAP方式和ISP方式差不多,就是IAP的引导代码是自己写的,这样就可以自己定义下载方式和协议。
通过通信模块,可以实现远程无线更新升级程序。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分