一般只能经过三种方法下载程序到单片机中:1.JTAG 2.ISP 3.IAP
1.JTAG
要运用JTAG方法下载程序,不管是运用J-LINK、ULINK、ST-LINK,只需求把单片机上相应的程序下载留出来,然后和编程器连接上就能够下载程序了。
2.ISP
要经过ISP方法下载程序,需求用到单片机内部自带的Bootloader,这个Bootloader是预制在单片机内部的,出厂自带的,它在出厂后就不能修正或擦除。因而首要要将BOOT1=0 BOOT0=1,让单片机从体系存储器发动,然后运用ISP下载软件就能够下载程序了。STM32运用的ISP下载软件是mcuisp。ISP能够有许多种方法,比方串口、USB、CAN。
引证下面:
STM32依据FLASH主存储块容量、页面的不同,体系存储器的不同,分为小容量、中容量、大容量、互联型,共四类产品。
小容量产品主存储块1-32KB,每页1KB。体系存储器2KB。
中容量产品主存储块64-128KB,每页1KB。体系存储器2KB。
大容量产品主存储块256KB以上,每页2KB。体系存储器2KB。
互联型产品主存储块256KB以上,每页2KB。体系存储器18KB。
关于详细一个产品归于哪类,能够查数据手册,或依据以下简略的规矩进行区别:
STM32F101xx、STM32F102xx 、STM32F103xx产品,依据其主存储块容量,一定是小容量、中容量、大容量产品中的一种,STM32F105xx、STM32F107xx是互联型产品。
互联型产品与其它三类的不同之处便是BootLoader的不同,小中大容量产品的BootLoader只要2KB,只能经过USART1进行ISP,而互联型产品的BootLoader有18KB,能经过USAT1、4、CAN等多种方法进行ISP。小空量产品、中容量产品的BootLoader与大容量产品相同。
3.IAP
引证正点原子《STM32 不完全手册》的介绍
IAP(In ApplicaTIon Programming)即在运用编程,IAP 是用户自己的程序在运转过程中对User Flash 的部分区域进行烧写,意图是为了在产品发布后能够方便地经过预留的通讯口对产品中的固件程序进行更新晋级。 一般完成IAP 功用时,即用户程序运转中作本身的更新操作,需求在规划固件程序时编写两个项目代码,榜首个项目程序不履行正常的功用操作,而仅仅经过某种通讯方法(如USB、USART)接纳程序或数据,履行对第二部分代码的更新;第二个项目代码才是真实的功用代码。这两部分项目代码都一同烧录在User Flash 中,当芯片上电后,首要是榜首个项目代码开端运转,它作如下操作:
1)查看是否需求对第二部分代码进行更新
2)假如不需求更新则转到4)
3)履行更新操作
4)跳转到第二部分代码履行
榜首部分代码有必要经过其它手法,如JTAG 或ISP 烧入;第二部分代码能够运用榜首部分代码IAP 功用烧入,也能够和榜首部分代码一同烧入,今后需求程序更新时再经过榜首部分IAP代码更新。
咱们将榜首个项目代码称之为Bootloader 程序,第二个项目代码称之为APP 程序,他们寄存在STM32 FLASH 的不同地址规模,一般从最低地址区开端寄存Bootloader,紧跟这以后的便是APP 程序(留意,假如FLASH 容量满足,是能够规划许多APP 程序的,本章咱们只评论一个APP 程序的状况)。这样咱们便是要完成2 个程序:Bootloader 和APP。STM32 的APP 程序不只能够放到FLASH 里边运转,也能够放到SRAM 里边运转。
责任编辑;zl