走进STM32世界之Hex程序烧写

走进STM32世界之Hex程序烧写
在光立方活动中,有少部分网友提出不会将HEX程序烧录至STM32芯片内,也为了早就想开始的STM32系列基础教程,在北京的这个雨夜开始“走进STM32世界”。

多数51单片机(STC系列单片机)的初学者都知道,在51单片机初上电时,可以通过PC机上位机软件将程序引导至bootloader,从而将新程序的hex文件下载至单片机中,完成程序的升级或是更新。

在32位Cortex-M3内核下的STM32单片机也是可以做到的。

这个上位机软件叫做“Flash loader demonstrator”;短接boot0与VCC后,再次复位即进入到升级模式(System memory boot loader)。

我们需要先下载芯片烧录工具软件Flash loader demonstrator。

下载后我们解压,安装此文件,之后我们找到STMicroelectronics flash loader.exe,此程序为我们的主角之一——烧录软件。

另一个主角是我们的USB转串口工具。

下面我来介绍一下软件如何使用:
前提条件
要将USB转串口工具插入电脑上,并在“设备管理器”中查看到虚拟串口的串口号。

烧写过程可分为六步,分别为连接芯片页面,flash状态页面,芯片信息页面,操作配置页面,选项字配置页面,操作进度条页面。

第一步:连接芯片页面
在此页面,我们主要配置串口号,其余参数使用默认值即可。

在点击next 前,一定要将boot0引脚置高并复位。

如果一切正常,软件会转向下一个页面。

当然如果出错,则需要重复上述操作。

小提示:
“Cannot open the COM port”:检查是否选择了正确的串口号,并确认此串口未被其它软件使用。

“Unrecognized device”:重启一下微处理器,也许问题就解决了。

“No response from the target”:此错误是芯片供电不正常,或者连线出现问题,极少数情况是芯片坏掉了。

第二步:显示flash存储状态
从上面的图可以看出来,如果芯片的flash未被读、写保护,那么“Remove protection”按键是灰色的;如果芯片的flash被XX了,那么,这个按钮的作用就不用我多说了吧^_^
第三步,芯片信息显示
这个页面基本上是只读的,看看就得了。

对于我们初级水平的网友来说,这里暂时快速略过即可。

第四步:操作配置
这个页面是我们的主要操作页面。

整个flash的烧写与擦除就集中在这个页面里。

在这个页面里我们可以擦除(erase)芯片现有的flash内容。

我们可以下载(download)hex程序到芯片flash内,我们也可以使能/去除芯片的保护(disable/enable)功能,还是配置选项字的高级功能。

这里简单说明一下,擦除功能可以选择全部擦除(All),也可以选择擦除部分扇区(selection),点击后即弹出相应区块的页面。

下载flash(download),软件支持英特尔hex,binary与S19摩托罗拉格式。

其余部分我们初级使用默认即可。

上传芯片内部flash内容(upload),该功能可以将芯片内部的flash读出来,并转存为相应的格式,其格式支持上面提到三种。

选项字配置,这个配置我们暂时用不到,留到后期高级应用时,我们再回过头来仔细研究其强大的作用与深远的意义。

第六步,进度条显示
第五步,选项字配置我们直接略过,因此,到了第六步,这个页面没有什么好说的,看着即可。

如果出现绿色的进度条并提示下载成功,那么,恭喜你!程序已经成功下载至芯片内部了。

这时,需要将boot0置低,复位微处理器,然后微处理器就执行新的程序了!
总结:
软件的使用秉承了一键式服务的理念,一路next即可完成芯片的操作。

另外,其次活动的串口下载引脚已经在PCB丝印中标明,在与USB转串口连接时,必须进行交叉连接,即PCB板的Rxd与USB转串口的Txd相连;PCB板的Txd与USB转串口的Rxd相连;两者的GND要相连。

参考资料:UM0462 User manual STM32™ and STM8™ Flash loader demonstrator。

合集下载

J-Flash烧写hex(bin)文件资料到STM32F205RG芯片地设置方法与步骤

J-Flash烧写hex(bin)文件资料到STM32F205RG芯片地设置方法与步骤

1、在桌面找到图标点击打开如图界面
2、点击菜单栏上的options,再点击“Project settings…”,进行烧写前的必要设置,如下图:
(1)在“General”页,选择“USB”,如下图:
(2)在“Target Interface”页,选择“JTAG”,JTAG速度设置为“Auto selection”,如下图
(3)在“CPU”页,选择开发板的CPU型号:ST STM32F205RG,如下图:
(4)“FLASH”页不用设置,默认设置就可以了。

(5)在“Production”页,我们把“Start application”选上,则在下载成功之
后,程序会自动运行。

(6)在设置完成后,我们点击“应用”和“确定”退出。

在JLINK软件界面左边,将显示烧写信息,如下图:
3、点击“Target”后,再点击“Connect”,开始连接:
连接成功会有提示信息,如下边的状态拦:
如图:
5、加载完成后,点击“Target”点击“Auto”进行烧录:
6、烧写成功!如下图:
点击确定,完成程序烧写!。

STM32烧写程序步骤

STM32烧写程序步骤

(1).安装JLinkARM,运行J-Flash:
如下图,启动J-Flash ARM:
点击“Option”,选择“Project Setting”,进行设置:
选择烧写方式为SWD:
选择CPU型号为STM32F103C8:
设置后会提示下图所示信息:
(2).连接目标板
将J-LINK一端通过USB线和PC连接起来,另一端按所给的接线图和JTAG口相连,接线图如下:
给工业节点提供12V电源,然后如下图所示点击“connect”:
连接成功后会提示下图所示信息:
(3).下载HEX文件
点击File下的open,打开Hex文件:
点击Target,选择Auto,将下载Hex到ARM:程序下载进度条显示如下:
下图为程序下载成功:
点击”确定”按钮,后按下F9按键,等待一会,程序将运行起来,在下图的状态栏提示如下字符串才能说明程序真正烧进去:
- Target application started。

走进STM32世界之Hex程序烧写

走进STM32世界之Hex程序烧写

走进STM‎32世界之‎H e x程序‎烧写在光立方活‎动中,有少部分网‎友提出不会‎将H EX程‎序烧录至S‎TM32芯‎片内,也为了早就‎想开始的S‎TM32系‎列基础教程‎,在北京的这‎个雨夜开始‎“走进STM‎32世界”。

多数51单‎片机(STC系列‎单片机)的初学者都‎知道,在51单片‎机初上电时‎,可以通过P‎C机上位机‎软件将程序‎引导至bo‎o tloa‎d er,从而将新程‎序的hex‎文件下载至‎单片机中,完成程序的‎升级或是更‎新。

在32位C‎o rtex‎-M3内核下‎的S TM3‎2单片机也‎是可以做到‎的。

这个上位机‎软件叫做“Flash‎loade‎r demon‎s trat‎o r”;短接boo‎t0与VC‎C后,再次复位即‎进入到升级‎模式(Syste‎m memor‎y boot loade‎r)。

我们需要先‎下载芯片烧‎录工具软件‎F lash‎loade‎r demon‎s trat‎o r。

下载后我们‎解压,安装此文件‎,之后我们找‎到S TMi‎croel‎e ctro‎n ics flash‎loade‎r.exe,此程序为我‎们的主角之‎一——烧录软件。

另一个主角‎是我们的U‎S B转串口‎工具。

下面我来介‎绍一下软件‎如何使用:前提条件要将USB‎转串口工具‎插入电脑上‎,并在“设备管理器‎”中查看到虚‎拟串口的串‎口号。

烧写过程可‎分为六步,分别为连接‎芯片页面,flash‎状态页面,芯片信息页‎面,操作配置页‎面,选项字配置‎页面,操作进度条‎页面。

第一步:连接芯片页‎面在此页面,我们主要配‎置串口号,其余参数使‎用默认值即‎可。

在点击ne‎x t 前,一定要将b‎o ot0引‎脚置高并复‎位。

如果一切正‎常,软件会转向‎下一个页面‎。

当然如果出‎错,则需要重复‎上述操作。

小提示:“Canno‎t open the COM port”:检查是否选‎择了正确的‎串口号,并确认此串‎口未被其它‎软件使用。

STM32烧写程序步骤

STM32烧写程序步骤

(1).安装JLinkARM,运行J-Flash:
如下图,启动J-Flash ARM:
点击“Option”,选择“Project Setting”,进行设置:
选择烧写方式为SWD:
选择CPU型号为STM32F103C8:
设置后会提示下图所示信息:
(2).连接目标板
将J-LINK一端通过USB线和PC连接起来,另一端按所给的接线图和JTAG口相连,接线图如下:
给工业节点提供12V电源,然后如下图所示点击“connect”:
连接成功后会提示下图所示信息:
(3).下载HEX文件
点击File下的open,打开Hex文件:
点击Target,选择Auto,将下载Hex到ARM:程序下载进度条显示如下:
下图为程序下载成功:
点击”确定”按钮,后按下F9按键,等待一会,程序将运行起来,在下图的状态栏提示如下字符串才能说明程序真正烧进去:
- Target application started。

J-Flash烧写hex(bin)文件到STM32F205RG芯片的设置方法与步骤

J-Flash烧写hex(bin)文件到STM32F205RG芯片的设置方法与步骤

1、在桌面找到图标点击打开如图界面
2、点击菜单栏上的options,再点击“Project settings…”,进行烧写前的必要设置,如下图:
(1)在“General”页,选择“USB”,如下图:
(2)在“Target Interface”页,选择“JTAG”,JTAG速度设置为“Auto selection”,如下图
(3)在“CPU”页,选择开发板的CPU型号:ST STM32F205RG,如下图:
(4)“FLASH”页不用设置,默认设置就可以了。

(5)在“Production”页,我们把“Start application”选上,则在下载成功之后,程序会自动运行。

(6)在设置完成后,我们点击“应用”和“确定”退出。

在JLINK软件界面左边,将显示烧写信息,如下图:
3、点击“Target”后,再点击“Connect”,开始连接:连接成功会有提示信息,如下边的状态拦:
4、接着,点击“File”,点击“open data file...”打开烧录的HEX(BIN)文件,如图:
5、加载完成后,点击“Target”点击“Auto”进行烧录:
6、烧写成功!如下图:
点击确定,完成程序烧写!。

STM32程序烧录说明

STM32程序烧录说明

JYX-SW智能交通信息监测仪
控制板STM32程序烧录说明
1、将20口J-link仿真器与电脑USB口连接,安装必要驱动。

J-link的20针口插到控制板的CON4接口,注意插针方向(插头的一面有小凸起朝上)。

2、在桌面找到图标点击打开如图界面
3、点击菜单栏上的options,再点击“Project settings…”,进行烧写前的必要设置,如下图:
在“General”页,选择“USB”,如下图:
在“Target Interface”页,选择“JTAG”,JTAG速度设置为“Auto selection”,如下图
在“CPU”页,选择开发板的CPU型号:ST STM32F103RB,如下图:
“FLASH”页不用设置,默认设置就可以了。

在“Production”页,我们把“Start application”选上,则在下载成功之后,程序会自动运行。

在设置完成后,我们点击“应用”和“确定”退出。

在JLINK软件界面左边,将显示烧写
信息,如下图:
点击“Target”后,再点击“Connect”,开始连接:
连接成功会有提示信息,如下边的状态拦:
接着,点击“File”,点击“open data file...”打开烧录的HEX文件,如图:
或者为:
加载完成后,点击“Target”点击“Auto”进行烧录:
烧写成功!如下图:
点击确定,完成程序烧写!。

stm32怎么烧录程序

stm32 怎么烧录程序
STM32 烧录程序目前笔者知道的有三种:JLink ,Ulink 和串口烧录,使用工具分别为:JLink,ULink 以及USB 转TTL 线。

ULink 烧录程序
在安装MDK 过程中,会有提示是否安装驱动,该驱动就为ULink 驱
动,如果选择是就不需要再安装驱动了,否则就需要自己手动下载驱动并安
装,驱动安装完毕之后我们需要告诉我们的MDK 我们使用的是什幺烧录工
具,右键Target 目录选择Options for Target…。

,在弹出的Options for target 选项卡中选择Debug 选项,在其右上方的下拉框中选择ULink/ME Cortex Debugger 即是选择了ULink 进行程序烧录。

这里需要注意的是ULink 接上电脑之后不一定能被安装的MDK 正确
识别,我们点击下拉框右边的Setting 按钮将会弹出Cortex-M Target Driver Setup 界面,在该界面下,如果在JTAG Device Chain 区域显示No ULink Device Found 或者就是一片空白都表示我们的MDK 没有识别到你已经接到
电脑上的ULink,此时就需要你查找一下ULink 端的原因了。

JLink 烧录程序。

STM32的hex文件格式的分析

STM32的hex文件格式的分析日常开发工作中hex文件是经常要接触到的一种文件格式,就算平时你的开发是各种link直接下载,但如果你的项目批量量产了,那么一种生成文件(.bin或hex...)交给生产部门或是你的终端产品需要支持远程升级交给平台工程师那么是不可避免要接触到的。

所以还是要必须了解的。

下面开始结合stm32分析hex的文件格式:官方定义:<0x3a>[数据长度1Byte][数据地址2Byte][数据类型1Byte][数据nByte][校验1Byte]<0x0d><0x0a>打开一个stm32生成的hex文件:1)结合格式分析第一行(指定基地址):020*********F2断句: 02 0000 04 0800 F2我们已经按格式说明分割开“:”对应格式中的<0x3a>,0x3a就是冒号的ASCII码“02”对应的就是长度,这里就如所见,就是长度为2“0000”对应数据地址,长度为2个字节。

Stm32一个32位的芯片两个字节肯定不足以表示地址(要四个),所以这里地址的具体用法要结合后面的数据类型分析。

这里为4指定基地址,所以这两个字节并没有什么用。

“04”对应的数据类型,具体的含义见【注释1】,这里的4是指定基地址。

“0800”对应的是数据,长度是浮动的,这里是2个字节,和前面的长度相呼应。

这里指定的是基地址。

当然指定的是高16的地址,如常见的0x0800 0000 ,所以这个基地址<<16使用。

“F2”对应的是校验结果,result = 256 - (date[0] + ... +date[n])% 256 ,这一行数据比较少,我就给大家带入一下0xF2 = 0x100 - (0x02 +0x00 + 0x00 + 0x04 + 0x08 + 0x00)%0x100。

校验范围大家都看见了,是从长度到数据结束字节的这么一个范围,不少同学以为只是校验数据段,那是错误的,你的意思是长度和类型不重要可以存储出错吗?“”对应<0x0d><0x0a>,就是回车和换行,这个东西大家应该很熟悉,因为stm32串口发送例程中,串口数据的结束用的就是这两个符号做标识。

stm32烧录原理

STM32烧录原理详解1. 什么是STM32烧录STM32是一款由意法半导体(STMicroelectronics)推出的32位ARM Cortex-M系列微控制器。

烧录(Flash Programming)是将程序代码或数据存储到STM32芯片的非易失性存储器(Flash)中的过程。

通过烧录,我们可以将自己编写的程序或者固件加载到STM32芯片中,使其能够执行特定的功能。

2. STM32烧录的基本原理STM32烧录的基本原理包括以下几个方面:2.1 软件工具在进行STM32烧录前,我们需要使用一些软件工具来完成烧录的操作。

常用的软件工具包括ST-LINK Utility、STM32CubeProgrammer等。

这些软件工具提供了图形化界面,使得烧录操作更加简单和直观。

2.2 硬件连接在进行STM32烧录时,我们需要将计算机与STM32芯片进行连接。

一般情况下,我们可以通过USB接口将计算机与STM32芯片连接起来。

在连接时,需要使用ST-LINK或者其他支持的调试器,将其连接到STM32芯片上的调试/烧录接口。

2.3 烧录过程STM32烧录的过程主要包括以下几个步骤:2.3.1 准备烧录文件在进行STM32烧录前,我们需要准备好要烧录的文件,包括程序代码、配置文件等。

这些文件将被加载到STM32芯片的Flash存储器中。

2.3.2 连接STM32芯片将计算机与STM32芯片连接起来,通过USB接口进行连接。

确保连接正常后,打开烧录软件工具。

2.3.3 选择目标芯片在烧录软件中,需要选择要烧录的目标芯片型号。

这样烧录软件才能正确地识别目标芯片,并进行相应的烧录操作。

2.3.4 配置烧录参数在进行烧录前,我们需要对烧录参数进行配置。

这些参数包括烧录模式(如仅烧录、烧录并运行等)、烧录速度、烧录地址等。

根据实际需求进行相应的配置。

2.3.5 擦除Flash存储器在进行烧录前,我们通常需要先擦除STM32芯片的Flash存储器。

STM32的几种烧写方法

DX32 白菜的心得
DX32文档
烧写 STM32,有三个方法: 1. 用 J-LINK 自带的工具+J-LINK 烧写
装完 J-LINK 的驱动后,顺带也会装上了 J-LINK 的烧写工具: 这个工具其实用起来还是很简单的,先打开软件,然后要 New Project:,再就 Open 一个 HEX 文件.
其实以上步骤,在 JLINK 使用说明.pdf 上也有说明的,这里只是重复多一次而已. 好了,这时候,插好你的 J-LINK,然后点击魔术棒旁边的那个 LOAD: 这就可以下载咯. 另外,MDK 的下载似乎没有加密功能的.谁知道在 MDK 上怎么加密芯片啊?有方法的话 可以告诉我~
14/14
3. MDK+J-LINK 烧写 这教程还是相当直接明了的,我也懒截太多图了,只要你是智商正常的,看几个重点的图就 够了J 首先,MDK 就是 KEIL,似乎很多人都不知道这个事情,因为 KEIL 被 ARM 公司收购了,所 以 ARM 要它叫什么名,它就得叫什么名~ 留意那个魔术棒,用过 KEIL 的都知道.
之后就是设置一下 J-LINK:
1/14
DX32 白菜的心得
DX32文档
2/14
DX32 白菜的心得
DX32文档
这里选择 CPU,工程师版的是 103VC,学生版是 V8.
3/14
DX32 白菜的心得
DX32文档
然后就可以 CONNECT 了
正常的话,会显示下面的连接成功的提示,是了,J-LINK 的速度还可以设置,一般我比较喜 欢用 2000K 速度,烧写 64K 程序基本就几秒.
7/14
DX32 白菜的心得
DX32文档
成功进入 ISP 模式后,就会显示以下的界面,软件自动识别了 FLASH 的大小.注意这里写了: Target is readable 就是说器件是可读的,可读的意思就是没有加密嘛.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档