[求助]自己建的项目在IAREWARM里编译通不过

yjx7971   2008-5-30 11:46 楼主
买了一块万利的EK-STM32F开发板,运行了几个DEMO程序.想自己些个完整的程序运行一下,可是已经摆弄IAR ARM好几天了,反复看了万利开发光盘里带的<IAR EWARM快速入门>(针对ARM7TDMI-S的)和周立功的<IAR使用指南>(是针对LM3X9XX的),也看了例程可.无论我怎么设置IAR也编译不过去我的程序,愁死我了!请用过IAR的大侠出手指点.

回复评论 (15)

我的程序;


#include "stm32f10x_lib.h"

vu32 count = GPIO_Pin_4;
void delay()
{
  vu32 i,j;
  for (i=0; i<0xfff; i++)
  {
      for (j=0; j<0xff; j++);
  }
}

void SysTick_Config(void)
{
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
  SysTick_SetReload(720000);
  SysTick_ITConfig(ENABLE);
  SysTick_CounterCmd(SysTick_Counter_Enable);
}

void Led_Config(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_4 | GPIO_Pin_5;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
}

void Led_RW_ON(void)
{
  switch(count)
  {
      case GPIO_Pin_4: 
      {
          GPIO_SetBits(GPIOC,GPIO_Pin_4 );
          count = GPIO_Pin_5;
      }break;
      case GPIO_Pin_5: 
      {
          GPIO_SetBits(GPIOC,GPIO_Pin_5 );
          count = GPIO_Pin_6;          
      }break;   
      case GPIO_Pin_6: 
      {
          GPIO_SetBits(GPIOC,GPIO_Pin_6 );
          count = GPIO_Pin_7;
      }break;
      case GPIO_Pin_7: 
      {
          GPIO_SetBits(GPIOC,GPIO_Pin_7 );
          count = GPIO_Pin_4;          
      }break;        
      default : 
      {
          count = GPIO_Pin_4;          
      }break;  
  }
}

int main(void)
{

  SysTick_Config();
  Led_Config();  
  while(1)
  {
      Led_RW_ON();
      delay();
  }
}
点赞  2008-5-30 11:47

编译提示:


Building configuration: project - Debug 
Updating build tree... 
main.c 
Linking 
Error[e46]: Undefined external "GPIOC" referred in main ( E:SUNKE estiar estDebugObjmain.r79 ) 
Error[e46]: Undefined external "assert_param" referred in stm32f10x_gpio ( E:SUNKE estiar estDebugObj 
stm32f10x_gpio.r79 ) 
Error[e46]: Undefined external "RCC" referred in stm32f10x_rcc ( E:SUNKE estiar estDebugObjstm32f10x_rcc.r79  

Error[e46]: Undefined external "SysTick" referred in stm32f10x_systick ( E:SUNKE estiar estDebugObj 
stm32f10x_systick.r79 ) 

Total number of errors: 4 
Total number of warnings: 0 
点赞  2008-5-30 11:47

我的项目

                                  
点赞  2008-5-30 11:48

IAR设置

                                  
点赞  2008-5-30 11:49

ST网站上有相关文档

如何使用STM32的软件库在IAR的EWARM(4.42A)下进行应用开发
点赞  2008-5-30 14:05

我看一下啊

                                  
点赞  2008-5-30 14:06

我改了半天,现在问题更严重了

我把我的项目打包传上来,请各位大侠费费神给我看看。
相关链接:https://bbs.eeworld.com.cn/upfiles/img/20077/2007715175958924.rar
点赞  2008-5-30 17:46

stm32f10x_conf.h中的配置对不?

                                 LZ也开始玩STM32啦,哈哈
点赞  2008-5-30 19:10

是啊,很吃力!

                                 以前没用过arm感觉着硬件工作思路有点不一样。现在最大的问题是没用过iar,好不容易刚弄通gcc现在又开始iar,iar的设置项太多了,不能一目了然。我把stm32f10x_conf.h中的配置除了gpio全都注释下去了。
点赞  2008-5-30 19:30

现在给我的提示是这样的

                                  
点赞  2008-5-30 20:20

确认inc目录在路径上

                                  
点赞  2008-5-30 21:23

inc目录?是什么?

                                  
点赞  2008-5-30 21:35

11楼列出的那些文件所在的目录

                                  
点赞  2008-5-30 21:54

在诸位的大力帮助下我终于编译通过了

特别感谢www.icdev.com.cn的icdev把我的项目亲手改了一遍并且详细指出了里面的错误.
点赞  2008-5-31 08:19

早把错误提示传上来不就OK了

                                  
点赞  2008-6-2 09:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复