走进STM32世界之Hex程序烧写
- 格式:docx
- 大小:940.76 KB
- 文档页数:6
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、烧写成功!如下图:
点击确定,完成程序烧写!。
(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世界之H e x程序烧写在光立方活动中,有少部分网友提出不会将H EX程序烧录至STM32芯片内,也为了早就想开始的STM32系列基础教程,在北京的这个雨夜开始“走进STM32世界”。
多数51单片机(STC系列单片机)的初学者都知道,在51单片机初上电时,可以通过PC机上位机软件将程序引导至boo tload er,从而将新程序的hex文件下载至单片机中,完成程序的升级或是更新。
在32位Co rtex-M3内核下的S TM32单片机也是可以做到的。
这个上位机软件叫做“Flashloader demons trato r”;短接boot0与VCC后,再次复位即进入到升级模式(System memory boot loader)。
我们需要先下载芯片烧录工具软件F lashloader demons trato r。
下载后我们解压,安装此文件,之后我们找到S TMicroele ctron ics flashloader.exe,此程序为我们的主角之一——烧录软件。
另一个主角是我们的US B转串口工具。
下面我来介绍一下软件如何使用:前提条件要将USB转串口工具插入电脑上,并在“设备管理器”中查看到虚拟串口的串口号。
烧写过程可分为六步,分别为连接芯片页面,flash状态页面,芯片信息页面,操作配置页面,选项字配置页面,操作进度条页面。
第一步:连接芯片页面在此页面,我们主要配置串口号,其余参数使用默认值即可。
在点击nex t 前,一定要将bo ot0引脚置高并复位。
如果一切正常,软件会转向下一个页面。
当然如果出错,则需要重复上述操作。
小提示:“Cannot open the COM port”:检查是否选择了正确的串口号,并确认此串口未被其它软件使用。
(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。
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、烧写成功!如下图:
点击确定,完成程序烧写!。
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 烧录程序目前笔者知道的有三种: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文件格式的分析日常开发工作中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烧录原理详解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存储器。
如何使用JLINK向stm32烧写程序1、安装JLINK驱动程序SEGGER V4.0版本,下载地址如下:/pub/jlink/Setup_JLinkARM_V400a.zip直接下载安装就可以了2、安装好以后打开如下:3、点击进入,则出现如下:4、此时,需要进行设置芯片的型号,如下所示:点击OPTIONS,则在下图中点击:5、然后进入界面,6、点击CPU,则会出现:此时,我们在device里面选择好我们目标板上的芯片就可以了,然后点击确认。
7、我们现在将JLINK和目标板进行连接8、此时我们就看到了MCU的型号已经是我们设置的了,表示目标板和仿真器已经连接好。
9、打开我们要烧录的hex文件,如下图:文- 汉语汉字编辑词条文,wen,从玄从爻。
天地万物的信息产生出来的现象、纹路、轨迹,描绘出了阴阳二气在事物中的运行轨迹和原理。
故文即为符。
上古之时,符文一体。
古者伏羲氏之王天下也,始画八卦,造书契,以代结绳(爻)之政,由是文籍生焉。
--《尚书序》依类象形,故谓之文。
其后形声相益,即谓之字。
--《说文》序》仓颉造书,形立谓之文,声具谓之字。
--《古今通论》(1) 象形。
甲骨文此字象纹理纵横交错形。
"文"是汉字的一个部首。
本义:花纹;纹理。
(2) 同本义[figure;veins]文,英语念为:text、article等,从字面意思上就可以理解为文章、文字,与古今中外的各个文学著作中出现的各种文字字形密不可分。
古有甲骨文、金文、小篆等,今有宋体、楷体等,都在这一方面突出了"文"的重要性。
古今中外,人们对于"文"都有自己不同的认知,从大的方面来讲,它可以用于表示一个民族的文化历史,从小的方面来说它可用于用于表示单独的一个"文"字,可用于表示一段话,也可用于人物的姓氏。
折叠编辑本段基本字义1.事物错综所造成的纹理或形象:灿若~锦。
一、烧写过程
STM32F107VC烧写
1.运行J-Flash ARM V4.10b,界面如图1
图1 J-Flash ARM V4.10bYUNXING
2.使用USB线连接J-Link。
3.在图1界面中点击ALT + F7 打开设置页面
4.如图2,在选择芯片STM32F107VC 。
然后点击应用,确定。
图2 选择芯片
5.在图1界面中点击ALT + F7 打开导入程序页面,选择BCS-SCU.Hex,并将此填入程序烧录记录单。
6.J-Link 排线连接PCB CN3 , 连接监控背板,背板输入电源接入30V直流电源。
7.在图1界面中点击F5,绕录程序,烧录结束后有提示如图3所示。
图2 烧录成功8.在芯片上贴上烧录版本号标签。
9.如果还需烧录,重复步骤6、7、8。
SCU01监控模块软件烧录记录单
工程单号:数量:时间:控制板芯片U12(STM32F107VC)确认信息。
STM32终端(0125系列)程序烧写操作指导一、工具软件STM32终端使用J-LINK软件进行烧写配合使用相应烧写工具。
二、操作流程1.软件配置软件初次使用时的操作界面如下:此时需进行使用配置。
手动配置方法如下:①选择软件界面第一行工具条第五项Options,再选择下拉选项中的第一项Project settings如图1.1(快捷操作ALT+F7)图1.1弹出如下配置页面,如图1.2图1.2②选择弹出页面上方第三项CPU选项卡,勾选Device选项(在其前面的圆框出单击鼠标左键),鼠标单节后面的向下箭头,选择芯片(ST STM32F103VE)其他项目不做改变,点击应用。
完成后页面如图1.3图1.3自动配置方法如下:①选择软件界面第一行工具条第一项Files,再选择下拉选项中的第六项Open Project如图1.4图1.4②此时弹出配置文件选择窗口,如图1.5,选择配置文件stm32.jflash图1.5软件配置完成后,软件操作界面如图1.6所示,原空白页面处出现当前配置信息。
图1.6软件仅在初次使用时需要进行配置,以后使用会自动使用上次的配置情况启动,无需进行配置。
2.程序烧写①电路板连接将烧写器与电路板进行连接,电路板上电(电路板必须上电)、选择软件第一行工具条的第四项Target,选择下拉菜单第一项Connect,如图2.1图2.1连接成功后,软件下方提示框中有成功提示,Connected successfully如图2.2图2.2②选择程序文件程序文件为 .hex文件,选择工具条第一项file,继续选择下拉列表第一项Open data file选择需要烧写的hex文件,或者直接将hex文件拖入软件界面空白处。
完成后如图2.3图2.3③程序下载(烧写)选择软件第一行工具条第四项Tatget,在下拉列表中选择第12项Program,快捷键操作为F5,如图2.4图2.4选择后会有程序下载的进度提示信息,等待程序下载完成。
如何使用JLINK向stm32烧写程序1、安装JLINK驱动程序SEGGER V4.0版本,下载地址如下:/pub/jlink/Setup_JLinkARM_V400a.zip直接下载安装就可以了2、安装好以后打开如下:3、点击进入,则出现如下:4、此时,需要进行设置芯片的型号,如下所示:点击OPTIONS,则在下图中点击:5、然后进入界面,6、点击CPU,则会出现:此时,我们在device里面选择好我们目标板上的芯片就可以了,然后点击确认。
7、我们现在将JLINK和目标板进行连接8、此时我们就看到了MCU的型号已经是我们设置的了,表示目标板和仿真器已经连接好。
9、打开我们要烧录的hex文件,如下图:文- 汉语汉字编辑词条文,wen,从玄从爻。
天地万物的信息产生出来的现象、纹路、轨迹,描绘出了阴阳二气在事物中的运行轨迹和原理。
故文即为符。
上古之时,符文一体。
古者伏羲氏之王天下也,始画八卦,造书契,以代结绳(爻)之政,由是文籍生焉。
--《尚书序》依类象形,故谓之文。
其后形声相益,即谓之字。
--《说文》序》仓颉造书,形立谓之文,声具谓之字。
--《古今通论》(1) 象形。
甲骨文此字象纹理纵横交错形。
"文"是汉字的一个部首。
本义:花纹;纹理。
(2) 同本义[figure;veins]文,英语念为:text、article等,从字面意思上就可以理解为文章、文字,与古今中外的各个文学著作中出现的各种文字字形密不可分。
古有甲骨文、金文、小篆等,今有宋体、楷体等,都在这一方面突出了"文"的重要性。
古今中外,人们对于"文"都有自己不同的认知,从大的方面来讲,它可以用于表示一个民族的文化历史,从小的方面来说它可用于用于表示单独的一个"文"字,可用于表示一段话,也可用于人物的姓氏。
折叠编辑本段基本字义1.事物错综所造成的纹理或形象:灿若~锦。
走进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。