历史上的今天
返回首页

历史上的今天

今天是:2025年08月17日(星期日)

2018年08月17日 | keil MDK5搭建STM32开发环境

2018-08-17 来源:eefocus

1. 安装keil

到keil的官方网站 http://www.keil.com/download/product/ 下载MDK-ARM并安装,注意可以更改安装路径,但是不能安在需要管理员权限的文件夹,例如不能在Program Files,否则会出现一些问题。 
下载MDK

KEIL_Lic。

下载驱动:

下载STM32 ST-LINK utility,: 

在页面的最下面,不容易看到: 

STM32 ST-LINK utility包括驱动和烧录程序的软件。

8. ST-LINK utility的使用

第六个图标是烧录程序,点击后会要求选择一个HEX或bin文件,选完后点start就会烧录程序。 
注意程序重新编译后也要重新选择一次HEX文件,否则是以前的老程序。 

9. 用keil MDK上传程序

keil MDK上传的是axf文件,不是hex文件,可以免去第6步

  1. 点击魔术棒打开配置界面,选择自己的编程器 

  2. 然后点setting,到flash Download勾选reset and 
    run,这会在上传程序后让开发板自动重启运行程序,否则需要手动按复位键才能运行程序。其他的配置一般默认就好。 

  3. 也许会遇到Error: Flash download failed-“Cortex-M4”的错误,记得检查这一步的设置 

  4. 然后点download就可以下载了 

后记

目前stm32有两个程序库,一个是标准库,一个是hal库。hal库是新开发的库,有更好的可移植性,但是很多函数和变量的命名跟标准库不一样,因此不兼容标准库写得程序。标准库官方已不再更新,hal库将是未来的趋势。

官方提供了更为方便的初始化代码的工具 STM32CubeMX,利用这个工具可以用图形化的方法配置芯片并生成初始化代码,支持mdk,EWARM多种IDE,支持stm32全系列单片机,只有hal库。

用STM32CubeMX就不需要用的keil MDK的包管理器了,就免去了第3步的器件安装和第4步的新建工程。用STM32CubeMX建立的工程会生成一个模板,在主函数的while()里的空白处写用户程序,方便很多,也规范很多。


推荐阅读

史海拾趣

ETERNA公司的发展小趣事

1995年,ETERNA被保时捷家族收购,为公司的发展注入了新的活力。保时捷家族对制表业有着深厚的兴趣,他们投入大量资金用于研发和生产。在保时捷家族的支持下,ETERNA不断推出具有创新性的产品,如Spherodrive系统和超薄自动上炼机芯3030等。这些技术的成功应用,使ETERNA在制表业中取得了举足轻重的地位。同时,保时捷家族还通过全球营销战略,将ETERNA品牌推向了更广阔的市场。

Bel Fuse公司的发展小趣事

Bel Fuse公司的创立可以追溯到XXXX年,当时它由几位富有远见的工程师在新泽西州创立。起初,公司专注于保险丝的研发和生产,致力于提供高质量的电气保护产品。凭借卓越的技术和可靠的产品质量,Bel Fuse逐渐在市场上获得了认可,并开始扩展其产品线。

ABC [ABC Taiwan Electronics Corp]公司的发展小趣事

随着全球电子市场的不断扩大,ABC Taiwan Electronics Corp开始实施国际化战略。公司积极参与国际电子展会,与国外客户建立合作关系,将产品推向国际市场。同时,公司还加强了对国际标准和法规的研究,确保产品符合国际质量要求。通过不断拓展海外市场,ABC的销售额和市场份额逐年攀升,成为了国际知名的电子零件供应商。

FOSLINK公司的发展小趣事

为了进一步扩大市场份额,FOSLINK公司积极实施全球化战略。公司先后在多个国家和地区设立了研发中心、生产基地和销售网络,形成了覆盖全球的业务布局。通过全球化的资源配置和市场拓展,FOSLINK成功打入了多个国际知名企业的供应链体系,为其提供了优质的产品和服务。这一系列的全球化举措,不仅提升了FOSLINK的品牌影响力,还为其未来的发展奠定了坚实的基础。

Alpha 3 Manufacturing公司的发展小趣事

Alpha 3 Manufacturing公司深知产品质量是企业生存和发展的关键。因此,公司建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格的把控。同时,公司还引入了先进的生产设备和检测仪器,确保产品的质量和性能达到国际先进水平。此外,公司还定期对生产过程进行审查和改进,不断提高生产效率和产品质量。

FORYARD公司的发展小趣事

在20世纪80年代初,FORYARD公司由一群电子工程师在硅谷创立。起初,公司专注于研发高性能的半导体芯片,但面临激烈的市场竞争和技术壁垒。为了突破重围,FORYARD决定聚焦于低功耗、高集成度的微控制器(MCU)领域。经过数年的潜心研发,公司成功推出了一款具有革命性创新的MCU产品,凭借其出色的性能和价格优势,迅速在智能家居和可穿戴设备市场占据一席之地。这一成功不仅为公司赢得了市场认可,也为后续的技术创新和业务拓展奠定了坚实基础。

问答坊 | AI 解惑

ISE11.0 中怎么调用RAM

ISE11.0 怎么条用片内RAM,我没用过ISE11.0…

查看全部问答>

嵌入式实时操作系统 SylixOS 年内开源!!

SylixOS 实时嵌入式系统,是专门针对嵌入式时间关键的复杂应用而设计的实时操作系统。实时性好,稳定性强,第一代内核 Phoenix 已有多个商业应用实例。 目前,第二代内核 LongWing 开发渐入尾声,性能已基本稳定,第二代内核可以和VxWorks 的 Wind ...…

查看全部问答>

视频显示问题

   恩,在这里借人气请教。    经过解码器解码后产生的视频YUV数据,在LCD上显示的原理是怎样的?有没有相关资料?    我想截取视频的一部分进行显示,例如本身 400*280的视频,显示在320*240区域,无需进行压缩。 ...…

查看全部问答>

请问BOOTLOAD中怎么跳转到RAM中的MAIN函数中

网上看了些资料,基本上是说先拷贝代码到RAM,然后考RW、ZI什么的,最后跳转到RAM的MAIN函数中,有些不明白,烦请各位能提点一下: 我打算用ADS编译一个BOOTLOAD,程序放FLASH中,运行时在RAM中跑以便能修改FLASH中的内容。那我是不是需要按以下方 ...…

查看全部问答>

uboot烧写问题

我用的是omap5910,我准备重新烧写uboot,不过我擦除falsh之后,重启系统就没有反映了(应该是这样的吧),我打开超级终端,重启开发办,发送uboot文件,不成功,应该怎么办?是不是先把uboot送入sdram,再利用sdram烧写到flash,不过具体应该怎么 ...…

查看全部问答>

BSL编程问题

机器工作正常,但是用BSL重新编程,会出现Synchronization error 这是什么原因? 编程软件MSPFET ,USB转串口方式…

查看全部问答>

MSP430F149AD采样问题

现在我想采样0~4路的电压,可是上电后 用万用表测 P6口就已经有输出的电压了!1.8V! 然后我要测的电压是0.4V 接上后 在线仿真测得的数据是1.4V!这不就是1.8-0.4的值!说明我的采样是对的 我想问的是 是不是没设置对呢 为什么 上电后P6口就有 ...…

查看全部问答>

周立功zigbee评估套件资料下载

本人是zigbee初学者,最近购买了周立功zigbee评估套件,将套件资料共享,希望对大家能够有所帮助。…

查看全部问答>

DIY工具你最想要什么

DIY的时候你是否因为没有工具而苦恼呢? [ 本帖最后由 安_然 于 2011-12-12 19:59 编辑 ]…

查看全部问答>

FPGA设计计数器输出跳变不同步

用fpga设计了四位计数器,在仿真时,输出脚q0,q1,q2,q3不能同时跳变。导致从一个状态到下一个状态中间有一个暂态,如1011变1100的中间有1000的一个暂态。各种时钟频率都试过从10M到100M,都一样。请高手赐教。谢谢!!!!急!!!!!!! [ 本 ...…

查看全部问答>