历史上的今天
返回首页

历史上的今天

今天是: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 工具栏上的图标即可进行下载。


推荐阅读

史海拾趣

CET Technology公司的发展小趣事

CET Technology作为电力行业的领军企业,受邀参加了2023年深圳企业创新发展大会。大会上,CET展示了其在电力系统、工业与能源等领域的最新技术成果,包括电力二次智能终端、电能管理专用工业软件等。这些产品与服务均体现了CET在电力技术领域的深厚实力和创新精神。通过参加此次大会,CET不仅与业界同行进行了深入交流,也进一步提升了公司的品牌影响力和市场竞争力。

力芯微(ETEK)公司的发展小趣事

在初创期,力芯微公司专注于DVD、音响、机顶盒及遥控器等传统电子市场的芯片研发及销售。公司凭借对市场的敏锐洞察,与步步高、TCL、Sony、飞利浦、富士康等知名品牌建立了稳固的合作关系。这些合作不仅为公司带来了稳定的收入,也为力芯微积累了与品牌客户合作的宝贵经验。

Anvo-Systems公司的发展小趣事

近年来,电子行业面临着诸多变革和挑战。面对这些变化,Anvo-Systems及时调整了发展战略。公司加大了对物联网、人工智能等前沿技术的研发投入,积极探索新的业务模式和市场机会。同时,Anvo-Systems还加强了与供应链合作伙伴的沟通与协作,以确保公司能够灵活应对市场变化。这些战略调整使得Anvo-Systems在行业中保持了领先地位。

DBM REFLEX公司的发展小趣事

随着公司实力的不断增强,DBM REFLEX开始积极拓展全球市场。通过与全球知名企业的合作,公司成功将产品推向了世界各地。同时,DBM REFLEX还积极寻求与产业链上下游企业的合作,建立了稳定的供应链和销售渠道。这些合作伙伴的加入,不仅为公司提供了更多的市场机会,还进一步提升了公司的品牌影响力。

Blue Sky Research公司的发展小趣事

作为一家有社会责任感的企业,Blue Sky Research始终关注环境保护和可持续发展。公司在生产过程中采用环保材料和工艺,减少对环境的影响。同时,公司还积极参与公益事业,为社会做出贡献。通过践行社会责任,Blue Sky Research不仅赢得了社会的尊重和认可,也为企业的可持续发展注入了新的动力。

这些故事虽然基于假设和一般情况构建,但它们反映了Blue Sky Research在电子行业里可能的发展路径和战略选择。当然,实际的发展过程可能更加复杂和多元,需要更多的数据和细节来揭示。

杰力(EMC)公司的发展小趣事

随着环保意识的不断提高和可持续发展理念的普及,杰力也开始注重环保和可持续发展方面的工作。公司采用环保材料和生产工艺,降低产品对环境的污染和破坏。同时,杰力还积极参与各类环保公益活动和社会责任项目,为推动电子行业的可持续发展做出贡献。这些努力使得杰力在行业中树立了良好的环保形象和社会责任感。

问答坊 | AI 解惑

急!急!急!请教一个关于udp通信的问题

我想在一个多任务程序中用udp方式实现任务之间的通信,应该属于在本地机上实现通信,不知道怎么做啊,把ip设成一样的127.0.0.1就可以了吗?…

查看全部问答>

关于在2440上移植linux的问题

1,请教几个问题,是不是理论上来说,任何linux版本都可以移植到2440上,只是易难不同? 2.如果2440移植的不是三星提供的版本,那是不是移植非常困难,但是据我所知三星只提供mizi版呀?而mizi是面对2410的呀?贵公司在2440的板子上移植Linux 2.6.1 ...…

查看全部问答>

ADS 1.2开发环境下如何使用libxml2库?

我想在ADS下调用libxml2解析器的函数,有知道怎么导入的么? 或者还有其他更方便的xml解析库么? 刚用tinyxml试了下,好多Error,是不是ADS下对c++支持不怎么好?…

查看全部问答>

网络最佳兼职

假如你想创业但资金不多或想找个兼职请看这 与您现有的工作相容互补而不冲突             不需要受学历的限制        不需要特殊的专业技能        不需要受 ...…

查看全部问答>

哪里有SN8P1929资料?谢谢

本帖最后由 paulhyde 于 2014-9-15 09:21 编辑 哪里有SN8P1929资料?谢谢  …

查看全部问答>

cyclone III 对DDR2 SDRAM的支持

想构建一个系统,实现高速数据采集,采集频率至少在400MHz,ADC采集后的数据通过FPGA缓存至DDR2 SDRAM。现在不清楚DDR2应该如何选,选DDR2 400 可以吗?cyclone III不支持DDR2 800。…

查看全部问答>

液晶浮点值显示的一种解决方法

液晶浮点值显示的一种解决方法   在以ucOS-II为系统搭建的工程中,需要在液晶LCD上显示浮点型值,但液晶的驱动函数中仅编写了一个显示字符串的函数GUI_DispStringAt(); 所以需要一个函数把浮点型值转化成字符串,然后以字符串的形式输出到LC ...…

查看全部问答>

谁有MSP-FET430X110的资料

谁有MSP-FET430X110的资料。看图…

查看全部问答>

Quartus中TCL脚本的编写办法

大家在使用Quartus的过程中有没有因为编写TCL脚本烦恼过呢?下面的这篇资料就介绍了如何在Quartus中编写TCL脚本。…

查看全部问答>

QT编译错误问题集锦

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 ...…

查看全部问答>