stm32f4 - discovery - 使用armcc编译器并设置包含路径

时间:2012-10-11 16:47:44

标签: gcc compiler-construction arm gcc-warning cortex-m3

所以,我试着建立一个程序,用gcc编译我的所有代码和windows中的东西。 (与visual studio一起使用)。

直到现在,当我有一个包含时,它已经相当不错了。 问题是它无法找到.H文件,因为它在另一个目录中。 但即使我添加-Idir [PATH1,PATH2,PATH3],它仍然可以找到它。

这是我尝试编译的程序

#include <stm32f10x.h>                      /* STM32F103 definitions         */

/*----------------------------------------------------------------------------
  wait function
 *----------------------------------------------------------------------------*/
void wait (void)  {
  int  d;

  for (d = 0; d < 2000000; d++);             /* only to delay for LED flashes */
}


/*----------------------------------------------------------------------------
  Main Program
 *----------------------------------------------------------------------------*/
int main (void) {
  unsigned int i;                            /* LED variable                  */

  RCC->APB2ENR |= (1UL << 3);                /* Enable GPIOB clock            */

  GPIOB->CRH    =  0x33333333;               /* PB.8..16 defined as Outputs   */

  while (1)  {                               /* Loop forever                  */
    for (i = 1<<8; i < 1<<15; i <<= 1) {     /* Blink LED 0,1,2,3,4,5,6       */
      GPIOB->BSRR = i;                       /* Turn LED on                   */
      wait ();                               /* call wait function            */
      GPIOB->BRR = i;                        /* Turn LED off                  */
    }
    for (i = 1<<15; i > 1<<8; i >>=1 ) {     /* Blink LED 7,6,5,4,3,2,1       */
      GPIOB->BSRR = i;                       /* Turn LED on                   */
      wait ();                               /* call wait function            */
      GPIOB->BRR = i;                        /* Turn LED off                  */
    }
  }
}

这是我的armcc编译器选项。 -

C:/Keil/ARM/ARMCC/bin/armcc.exe -c --dwarf2 --MD -O0 --cpu = cortex-m4 -Idir [,C:/ Keil / ARM / INC /,C: / Keil / ARM / CMSIS / Include /,C:/ Keil / ARM / INC / ST / STM32F10x /] -Jdir [,C:/ Keil / ARM / INC /,C:/ Keil / ARM / CMSIS / Include /, C:/ Keil / ARM / INC / ST / STM32F10x /] Blinky.c

我得到的错误是: 错误5:无法打开源输入文件“stm32f10x.h”没有这样的文件或目录    #include / * STM32F103定义* /

即使我包含路径,为什么会出现此错误? 我有没有正确地包括我的pahts? 任何积分,信息或任何东西都非常受欢迎!

1 个答案:

答案 0 :(得分:1)

根据我对-I选项的Keil documentation的解读,您的命令行应如下所示:

 C:/Keil/ARM/ARMCC/bin/armcc.exe -c --dwarf2 --MD -O0 --cpu=cortex-m4 -IC:/Keil/ARM/INC/,C:/Keil/ARM/CMSIS/Include/,C:/Keil/ARM/INC/ST/STM32F10x/ -JC:/Keil/ARM/INC/,C:/Keil/ARM/CMSIS/Include/,C:/Keil/ARM/INC/ST/STM32F10x/ Blinky.c