Keil uVersion MDK 5.0 建立STM32工程 以及 Drivers使用填坑记录

Keil uVersion MDK 5.0 建立STM32工程,在Keil 4时,还没有这么麻烦。

1. 建立工程目录:

Paste_Image.png

用于存放工程。

2. 新建工程:

Paste_Image.png

找到刚刚的位置, 给一个项目名字:

Paste_Image.png

保存。

选择芯片类型:

Paste_Image.png

没找到,说明你没有安装STM32的芯片包,要去官网下载一下咯。

项目配置:

这里很重要,选择一些必要的内容,否则,工程将出现错误。

必要的主要是以下部分:

Paste_Image.png

这两项不选,应该不能用。

其他配置:

根据自己的需要进行配置。

假如你选择的有问题,将会有提示:

Paste_Image.png

根据提示,选上就对咯。

我的最基本配置:

Paste_Image.png

Drivers下面,按需选择咯,但是要注意,需要GPIO、DMA等支持:

Paste_Image.png

工程成型:

Paste_Image.png

Drivers的错误问题解决:

刚刚建立好工程,如果你使用了CMSIS Drivers,如果你恰巧还是比较旧的版本,比如说Keil.STM32F1xx_DFP.1.1.0.pack,你会发现,有部分头文件找不到,尤其是UART_STM32F10x.h,这是keil 5比较坑的地方。

如下是我的经过:

我增加了Driver的相关组件,但是头文件都找不到,出现如下错误:

Paste_Image.png

'Driver_I2C.h' file not found.

诧异之余,只能找到增加路径了:

Paste_Image.png

实际这些头文件在这里,所以在target里增加路径:

Paste_Image.png
Paste_Image.png
Paste_Image.png

增加依赖,根据安装目录决定。

这个时候就解决这个问题了。

还有一个很大的坑:

Driver增加的是UART,但实际上,keil已经更改为USART,所以即便是增加了上述的路径,还是错的。
解决办法:

更新pack:
http://www.keil.com/dd2/Pack/#/eula-container
这里找到自己需要的pack,下载更新了。

重建工程,就没有这种问题了,国内很早就发现,但是,很多人是盗版的,根本没机会提交给keil去修改,所以有一段时间这个没法用,现在已经更新好了。

STM32的CMISIS Drivers使用方式

增加了相关驱动之后,你会发现,还是不能用,抛出对应于每个驱动的未定义宏错误:
如I2C: "I2C not configured in RTE_Device.h!"
SPI的:"SPI not configured in RTE_Device.h!"
最坑的USART/UART: "USART not configured in RTE_Device.h!"

Paste_Image.png

以及诸如此类的错误,这是因为,驱动是给这一系列所开发的,你必须要根据你的芯片,修改RTE_Device.h文件。

我是用的是STM32F103RBT6,我需要按照这个芯片所具有的外部硬件资源,去打开相应的模块定义,就是修改对应宏值为1就可以了。

修改方法是,直接去RTE_Device.h里面修改,把对应模块的值修改为1就可以了。一定不要弄错了,修改的是芯片具有的,或者只修改自己所需要的。

Paste_Image.png

Hello STM32~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • STM32 创建库工程要准备一下工作: 下载标准库 MDK(Keil5)建立库工程 设置MDK环境 1.标准库 可...
    kinetis阅读 1,332评论 0 9
  • 姓名:吴兆阳 学号:14020199009 转自韦东山 嵌牛导读:对嵌入式初学者,没有足够的视野选择一个合适投入方...
    吴兆阳阅读 2,425评论 0 4
  • 去超市买东西,外面扬扬洒飘起了雪花。身上不经意也落满了银色。正在打扫头发衣衫上面时手不小心也沾上了。 脑子里面忽然...
    凤舞九天_5370阅读 257评论 0 0