打印
[STM32F1]

尝试用KeilRTX使用外设,提示找不到Driver_xxxx.h

[复制链接]
11262|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wowow|  楼主 | 2015-3-6 11:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Keil 5.12和5.14都试过一,跟F1相关的Pack都安装了。

以下是项目的RTE设置:


只要√了Drivers下的UART,编译就报错:
C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\RTE_Driver\UART_STM32F10x.c(37): error:  #5: cannot open source input file "Driver_UART.h": No such file or directory

这个文件在C:\Keil_v5\下搜不到。尝试建个同名空文件放到项目目录下,编译提示很多未定义的类型或宏:
ARM_DRV_VERSION
ARM_UART_SignalEvent_t
ARM_UART_CAPABILITIES
ARM_UART_STATUS
ARM_UART_ERROR
ARM_UART_OK
....

用这些类型在C:\Keil_v5\下搜*.h文件,也没搜到,网上和坛子里也没搜到相关信息,真是奇了怪了。

选I2c、SPI、MCI、USB Device也同样报错:
C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\RTE_Driver\UART_STM32F10x.c(37): error:  #5: cannot open source input file "Driver_UART.h": No such file or directory
C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\RTE_Driver\I2C_STM32F10x.c(34): error:  #5: cannot open source input file "Driver_I2C.h": No such file or directory
C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\RTE_Driver\MCI_STM32F10x.c(32): error:  #5: cannot open source input file "Driver_MCI.h": No such file or directory
C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\RTE_Driver\SPI_STM32F10x.c(39): error:  #5: cannot open source input file "Driver_SPI.h": No such file or directory
C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\RTE_Driver\USBD_STM32F10x.c(33): error:  #5: cannot open source input file "Driver_USBD.h": No such file or directory


说明肯定缺一个RTX设备驱动的Pack,不知道在哪?倒是不非得用它的驱动,只不过想学习一下如何在RTX多线程里使用外设的。

沙发
wowow|  楼主 | 2015-3-6 11:56 | 只看该作者
看了一下包的信息,我估计这些文件应该在
c:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\1.0.5\RTE_Driver\
或:
c:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\1.1.0\RTE_Driver\
可能keil打包时漏掉了。

想给keil提意见,发现Support页要输序列号,额。。。 谁是正版的或跟keil比较熟提一下吧。

使用特权

评论回复
板凳
mmuuss586| | 2015-3-6 12:23 | 只看该作者

5.0版本的话,要装2个软件的;
一个是库;

使用特权

评论回复
地板
wowow|  楼主 | 2015-3-6 13:32 | 只看该作者
问题找到了,已经报到keil的论坛:http://www.keil.com/forum/59431/#msg192834
存在两个问题:
1.Driver_UART.h在CMSIS已经被替换成Driver_USART.h,包括里面的类型、宏都由ARM_UART_*改成了ARM_USART_*,难怪怎么也搜不到文件。
2.Driver_I2C.h等的问题是没有自动设好include path,需要手动设置。

复制一份:
Keil 5.12 and 5.14
RTE:
CMSIS
  CORE
  RTOS(API)
    Keil RTX
Device
  (as needed)
Drivers:
  UART

RTE_Device.h: config to use USART1

compiler error:
C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\RTE_Driver\UART_STM32F10x.c(37): error:  #5: cannot open source input file "Driver_UART.h": No such file or directory

could not find Driver_UART.h in C:\Keil_v5\ARM\, but find:
c:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Driver\Include\Driver_USART.h
Types and macros which starte with ARM_UART_* are replaced by ARM_USART_*. in Driver_USART.h.

suggest: update STM32F1xx_DFP to use new Driver_USART.h.

another problem: c:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Driver\Include is not set in include path automaticly when select an device driver.

使用特权

评论回复
5
wowow|  楼主 | 2015-3-6 13:34 | 只看该作者
mmuuss586 发表于 2015-3-6 12:23
5.0版本的话,要装2个软件的;
一个是库;

没看清楚就回答,鄙视你。

为了弄清楚,我安装了各个版本的库:DFP 1.0.2/1.0.4/1.0.5/1.1.0, CMSIS 4.1.0/4.1.1/4.2.0

使用特权

评论回复
6
wowow|  楼主 | 2015-3-6 15:17 | 只看该作者
真不知道这驱动包是怎么通过测试的。Driver_UART.h改成Driver_USART.h,ARM_UART_* 改成ARM_USART_*,还有一堆error。
ARM_DRV_VERSION_MAJOR_MINOR 改成 ARM_DRIVER_VERSION_MAJOR_MINOR
ARM_DRV_VERSION 改成 ARM_DRIVER_VERSION
ARM_USART_ERROR 改成 ARM_DRIVER_ERROR
ARM_USART_OK 改成 ARM_DRIVER_ERROR
ARM_USART_STATUS 改成 int
1 << ARM_USART_EVENT_* 改成 ARM_USART_EVENT_*
还有好多。。。算了不弄它了,浪费时间

使用特权

评论回复
7
wowow|  楼主 | 2015-3-18 10:53 | 只看该作者
前几天忙别的项目去了,回来继续。查看这里和keil的论坛都没有回复。香版能跟keil那边说上话不?提醒他们解决一下。

使用特权

评论回复
8
周董| | 2015-3-18 21:20 | 只看该作者
suggest: update STM32F1xx_DFP to use new Driver_USART.h.

使用特权

评论回复
9
amanda_s| | 2015-3-19 16:12 | 只看该作者
感觉下面这篇描述的问题,跟楼主遇到的很像。现在确实是不兼容的。
http://www.keil.com/support/docs/3660.htm

使用特权

评论回复
10
wowow|  楼主 | 2015-3-19 18:46 | 只看该作者
amanda_s 发表于 2015-3-19 16:12
感觉下面这篇描述的问题,跟楼主遇到的很像。现在确实是不兼容的。
http://www.keil.com/support/docs/3660 ...

虽然暂时无解,至少找来了相应的案例,分就送你吧。

使用特权

评论回复
11
amanda_s| | 2015-3-19 23:03 | 只看该作者
多谢楼主。:) 等等看看KEIL有没有更好的回复吧。

使用特权

评论回复
12
1185054154| | 2015-5-8 15:54 | 只看该作者
楼主解决了吗,求分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:skywolf.github.io

59

主题

649

帖子

3

粉丝