历史上的今天
今天是:2024年08月22日(星期四)
2018年08月22日 | STM32 常见的下载方法
2018-08-22 来源:eefocus
一、使用串口下载程序
串口下载程序的操作步骤如下:
1)连接电源线,连接好串口线
2)在断电的状况下将BOOT0连接电源(3.3V)配置为高电平
原因:STM32 的启动区域可以通过BOOT0 和BOOT1 两个引脚进行设置,各种设置方式所对应的启动区域如表1.1 所示。使用串口下载需要单片机内有相应的程序的支持,而系统存储器中就放了这么一段程序,由ST 在生产线上写入,用于通过可用的串行接口对闪存存储器进行重新编程。我们可以称这段程序为bootloader。
表1.1
3)连接好串口线和电源线,打开电源开关。
4)打开程序下载软件Flash Loader Demo,如图1.3 所示。
图1.3
5)配置下载软件的串口信息,一般情况下只需要配置串口号就行。本例用的是COM3,配置完成后如图1.3 所示。
6)中间会让你配置器件之类的信息,基本上都能自动识别,一路next 就可以了。当配置到图1.4 所示界面时,请选择烧录文件(一般为HEX 文件或者BIN 文件)所在目录。每个程序的hex 文件可以在示例程序的如下路径中找到./\Project\OBJ,本例用LED 流水灯程序作为演示。
图1.4
7)按next 进入下一步即擦除与烧写,烧写成功后会有烧写成功的提示,如图1.5所示。
图1.5
8)烧写完成后,按图1.5 中的Close 按钮退出Flash Loader。断开电源开关,插上跳线帽,重新上电之后程序即可运行。
二、使用JLINK 驱动程序下载程序
购买了JLINK 的朋友也可以用JLINK 来进行程序烧录。由于很多朋友是第一次使用JLINK,我们有必要给大家曝光一下它的靓照,如图2.1 所示。如果你还想知道JLINK 的其它基本信息,请自行百度,在此不做赘述。JLINK 这个神器的功能可不止下载程序那么简单,它还可以用来调试程序或者叫硬件仿真,但本节只讲述下载功能,关于软件仿真将在后面的章节中进行介绍。.
图2.1
现将下载步骤总结如下:
1)连接JLINK。在已经安装好JLINK 驱动的前提下,首先将JLINK 的USB端与电脑相连,待指示灯不再闪烁后将JTAG 接口端与开发板相连。然后给开发板上电。
2)打开烧录程序即J-Flash ARM(可以在开始菜单中找到如图2.2 所示)。
图2.2
3)配置Jlink 的工作模式或者说与单片机的通信接口。在J-Flash ARM 的菜单栏依次选择:Options→Project Settings 打开Project Settings 对话框。切换到Target Interface 选项卡,并配置成图2.3 所示的参数。
图2.3
提示:关于两种接口的区别可以参阅网络资料文件夹下的《SWD 与JTAG 之间的区别》。
4)配置CPU 信息。紧接上一步,切换到CPU 选项卡,配置成图2.4 所示的参数,配置好后按“确定”保存。注意:单片接型号,可以根据具体情况做调整。
图2.4
5)载入目标文件。在J-Flash ARM 窗体的菜单中依次选择:File→Open datafile,找到烧录文件并载入,载入后如图2.5 所示。
图2.5
6)下载。在在J-Flash ARM 窗体的菜单中依次选择:Target→Auto 或者Target→Program,将烧录文件下载到单片机中。
注意:如果JTAG 相关的引脚被用作普通IO,将无法下载(BOOT0 为低电平的情况下)。解决办法是用串口下载一次程序后再用JLINK 下载,或者将BOOT0 配置成高电平后下载。
7)运行。在J-Flash ARM 窗体的菜单中依次选择:Target→Start application运行单片机中的程序。
三、使用MDK 下载程序
这一节的标题虽然叫“使用MDK 下载程序”,但事实上是MDK 调用JLINK驱动程序来进行的。用MDK 下载程序的步骤概括如下:
1)连接JLINK。在已经安装好JLINK 驱动的前提下,首先将JLINK 的USB 端与电脑相连,待指示灯闪烁稳定后将JTAG 接口端与开发板相连。然后给开发板上电。
2)在MDK 环境下按ALT+F7 或选择菜单project→options for target 或按工具栏按钮打开页面如图3.1 所示。
图3.1
3)选择utilities 选项卡, 在Use Target Driver for Flash Programming 中选择Cortex-M/R J-LINK/J-Trace。
4)打开Settings 选项如图3.2 所示。
图3.2
5)点击Add 按钮弹出器件选择界面,选择相应器件如图2.3 所示。请根据具体情况选择。
图3.3
保存设置。点击MDK 工具栏上的图标即可进行下载。
史海拾趣
|
我想在一个多任务程序中用udp方式实现任务之间的通信,应该属于在本地机上实现通信,不知道怎么做啊,把ip设成一样的127.0.0.1就可以了吗?… 查看全部问答> |
|
1,请教几个问题,是不是理论上来说,任何linux版本都可以移植到2440上,只是易难不同? 2.如果2440移植的不是三星提供的版本,那是不是移植非常困难,但是据我所知三星只提供mizi版呀?而mizi是面对2410的呀?贵公司在2440的板子上移植Linux 2.6.1 ...… 查看全部问答> |
|
我想在ADS下调用libxml2解析器的函数,有知道怎么导入的么? 或者还有其他更方便的xml解析库么? 刚用tinyxml试了下,好多Error,是不是ADS下对c++支持不怎么好?… 查看全部问答> |
|
想构建一个系统,实现高速数据采集,采集频率至少在400MHz,ADC采集后的数据通过FPGA缓存至DDR2 SDRAM。现在不清楚DDR2应该如何选,选DDR2 400 可以吗?cyclone III不支持DDR2 800。… 查看全部问答> |
|
液晶浮点值显示的一种解决方法 在以ucOS-II为系统搭建的工程中,需要在液晶LCD上显示浮点型值,但液晶的驱动函数中仅编写了一个显示字符串的函数GUI_DispStringAt(); 所以需要一个函数把浮点型值转化成字符串,然后以字符串的形式输出到LC ...… 查看全部问答> |
|
1.致命错误 jpeglib.h没有那个文件或目录 libjpeg62-dev 2..致命错误 libmng.h没有那个文件或目录 免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com zlib缺失 下载,安装 $tar -xvzf zlib-1.2.3.tar.gz $cd zl ...… 查看全部问答> |




