C 生成RTE_组件。h

C 生成RTE_组件。h,c,embedded,keil,C,Embedded,Keil,我正在使用MDK Pro和文件系统库 在我的应用程序中,我需要SD卡的SPI接口。我已经成功地正确设置了项目,除了在RTE_Components.h文件中Keil生成了一行#define RTE_Drivers_MCI0,该行随后会触发预处理器错误(“SDIO未在RTE_Device.h中配置”) 虽然我可以在RTE_Components.h中手动注释掉这一行,但Keil经常更新此文件,我会遇到上述问题。是否有人知道该文件的确切生成方式,以及我如何阻止它将SDIO相关定义添加到项目中?RTE_C

我正在使用MDK Pro和文件系统库

在我的应用程序中,我需要SD卡的SPI接口。我已经成功地正确设置了项目,除了在
RTE_Components.h
文件中Keil生成了一行
#define RTE_Drivers_MCI0
,该行随后会触发预处理器错误(“SDIO未在RTE_Device.h中配置”)


虽然我可以在
RTE_Components.h
中手动注释掉这一行,但Keil经常更新此文件,我会遇到上述问题。是否有人知道该文件的确切生成方式,以及我如何阻止它将SDIO相关定义添加到项目中?

RTE_Components.h不应被修改,并且将始终自动生成。堆栈尝试通过MCI接口连接与“FS_Config_MC_0.h”中的配置有关

//通过驱动程序_MCI#连接到硬件
//选择硬件接口的驱动程序控制块
#定义MC0\u MCI\u驱动程序0
//通过驱动程序_SPI#连接到硬件
//在SPI模式下,为硬件接口选择驱动程序控制块
#定义MC0_SPI_驱动程序0
//存储卡接口模式本机SPI
//本机使用SD总线,最多有8条数据线、CLK和CMD
//SPI使用2条数据线(MOSI和MISO)、SCLK和CS
//使用SPI时,必须指定驱动程序#SPI#和驱动程序#MCI#
//因为MCI驱动程序提供了控制接口线。
#定义MC0_SPI 1

谢谢@Sivar。不幸的是,我还将
MC0\u-SPI
设置为1以使用SPI模式,但是
RTE\u组件.h
似乎仍然定义
RTE\u驱动程序\u-MCI0
!我使用的是Keil uVision 5.10.0.2和MDK-Middleware 5.1.4您使用的是哪种MCU设备?我使用的是
STM32F405RGT6
//   <o>Connect to hardware via Driver_MCI# <0-255>
//   <i>Select driver control block for hardware interface
#define MC0_MCI_DRIVER          0

//   <o>Connect to hardware via Driver_SPI# <0-255>
//   <i>Select driver control block for hardware interface when in SPI mode
#define MC0_SPI_DRIVER          0

//   <o>Memory Card Interface Mode <0=>Native <1=>SPI
//   <i>Native uses a SD Bus with up to 8 data lines, CLK, and CMD
//   <i>SPI uses 2 data lines (MOSI and MISO), SCLK and CS
//   <i>When using SPI both Driver_SPI# and Driver_MCI# must be specified
//   <i>since the MCI driver provides the control interface lines.
#define MC0_SPI                 1