OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7214|回复: 3

keil MDK5搭建STM32开发环境

[复制链接]

132

主题

340

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1036
金钱
1036
注册时间
2017-10-30
在线时间
163 小时
发表于 2017-11-23 15:34:07 | 显示全部楼层 |阅读模式
本帖最后由 慧心的眼眸 于 2018-7-3 15:17 编辑

  1. 安装keil
  到keil的官方网站 下载MDK-ARM并安装,注意可以更改安装路径,但是不能安在需要管理员权限的文件夹,例如不能在Program Files,否则会出现一些问题。
  2. 注册
  未注测有代码容量限制,需要破解。网上找KEIL_Lic。
  3. 安装器件包
  打开Pack Installer
  左边选择STMicroelectronics,右边选择需要的芯片系列,我的是STM32F4。
  install:需要安装
  update:需要升级
  up to date:已安装到最新版
  安装的时间比较长,需要等等。
  4. 建立新工程
  1. 新建工程要选择在一个空文件夹,会建立很多文件。
  2. 之后会出现如下窗口,选择对应芯片型号
  3. 下一步会出现运行环境管理器窗口,这是通过选项配置需要的官方库
  CMSIS -> CORE 必选
  Device -> Startup 必选
  如果要启用GPIO,则选择 STM32Cube HAL -> GPIO,会出现如下情况:
  黄色 代表需要依赖其他库,会在下方提示需要的库,单击定位到选项
  绿色 代表该库已经可用
  红色 代表与其他库冲突
  选择 STM32Cube HAL -> GPIO后按提示把所有需要的库都选上。
  4. 配置target选项(疑惑)
  如果包含的头文件是#include "stm32f4xx.h",则需要在Define中填写USE_HAL_DRIVER(这个宏的作用是启用外设),STM32F429XX可以不填。
  如果直接包含头文件#include "stm32f4xx_hal.h",则可以在Define中什么都不用填,就能正常使用外设。
  为何会有两种方法,我还不明白。
  5. 第一个程序
  对Source Group1右键,添加一个c源文件,命名为main。
  包管理器下载的F4库是hal库,F10x的库是以前的标准库,有些语句不同,需要注意:
  STM32F4xx:GPIO_InitStructure.Pin
  STM32F10x:GPIO_InitStructure.GPIO_Pin
  STM32F4xx:GPIO_PIN_All
  STM32F10x:GPIO_Pin_All
  STM32F4xx:HAL_GPIO_Init( )
  STM32F10x:GPIO_Init( )
  如果不确定自己芯片的函数名,最好去看看头文件里的定义。
  6. 生成HEX文件
  点击魔术棒打开配置窗口,到Output选项卡,勾选Create HEX File,编译后就会在Objects文件夹生成HEX文件。
  7. 获取并安装ST-Link驱动
  我用的开发板是用ST-Link烧录程序,只说ST-Link的用法了。
  到st的ST-Link官方页面下载驱动:
  下载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. 点击魔术棒打开配置界面,选择自己的编程器
16.png
  2. 然后点setting,到flash Download勾选reset and
  run,这会在上传程序后让开发板自动重启运行程序,否则需要手动按复位键才能运行程序。其他的配置一般默认就好。
17.png
  3. 也许会遇到Error: Flash download failed-“Cortex-M4”的错误,记得检查这一步的设置
18.png
  4. 然后点download就可以下载了
19.png
  后记
  目前stm32有两个程序库,一个是标准库,一个是hal库。hal库是新开发的库,有更好的可移植性,但是很多函数和变量的命名跟标准库不一样,因此不兼容标准库写得程序。标准库官方已不再更新,hal库将是未来的趋势。
  官方提供了更为方便的初始化代码的工具 STM32CubeMX,利用这个工具可以用图形化的方法配置芯片并生成初始化代码,支持mdk,EWARM多种IDE,支持stm32全系列单片机,只有hal库。
  用STM32CubeMX就不需要用的keil MDK的包管理器了,就免去了第3步的器件安装和第4步的新建工程。用STM32CubeMX建立的工程会生成一个模板,在主函数的while()里的空白处写用户程序,方便很多,也规范很多。
嵌入式学习交流群:769843038
参考资料:http://www.makeru.com.cn/
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

132

主题

340

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1036
金钱
1036
注册时间
2017-10-30
在线时间
163 小时
 楼主| 发表于 2017-11-23 15:35:01 | 显示全部楼层
想了解/学习更多内容加好友:892829057 分享资料
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2018-5-26
在线时间
7 小时
发表于 2018-7-9 11:49:40 | 显示全部楼层
学习了感谢楼主分享
ABB定位器www.chinaabb-positio.com
回复 支持 反对

使用道具 举报

8

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2018-7-6
在线时间
13 小时
发表于 2018-7-9 16:39:13 | 显示全部楼层
谢谢楼租分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-16 04:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表