IAR生成的HEX文件不能在protues里运行

liyanqing611   2010-3-27 10:13 楼主
程序如下,编译能通过,我的IAR是5.2版本的  请问5.2版本这样生成HEX文件可以吗,为什么我烧进板里也不行,程序没问题,程序用4.12版本的IAR就可以
想问一些5.2版本的HEX文件怎样生成

//#include  "NXP\iolpc2103.h"
#include  "config.h"
/****************************************************************************
* 名称:Delay()
* 功能:长软件延时
* 入口参数:dly  延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
void  Delay(U32  dly)
{  U16  i;

   for(; dly>0; dly--)
      for(i=0; i<600; i++);
}

/*************************PLL设置************************************************/
void PLL_Init(void)
{
  /* 设置系统各部分时钟 */
    PLLCON = 1;
#if ((Fcclk / 4) / Fpclk) == 1
  VPBDIV = 0;
#endif
#if ((Fcclk / 4) / Fpclk) == 2
  VPBDIV = 2;
#endif
#if ((Fcclk / 4) / Fpclk) == 4
  VPBDIV = 1;
#endif
               
#if (Fcco / Fcclk) == 2
  PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
#endif
#if (Fcco / Fcclk) == 4
  PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
#endif
#if (Fcco / Fcclk) == 8
  PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
#endif
#if (Fcco / Fcclk) == 16
  PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
#endif
               
  PLLFEED = 0xaa;
  PLLFEED = 0x55;
  while((PLLSTAT & (1 << 10)) == 0);
  PLLCON = 3;
  PLLFEED = 0xaa;
  PLLFEED = 0x55;
}
/****************************************************************************
* 名称:main()
* 功能:控制LED闪烁
****************************************************************************/
void  main(void)
{
    PINSEL0 = 0x00000000;  // 设置所有管脚连接GPIO
    PINSEL1 = 0x00000000;

    IO0DIR = LED2CON;   // 设置LED2控制口为输出

    PLL_Init();
   
    while(1)
    {
        IO0SET = LED2CON;               //LED2端口高电平
        Delay(5);                     //延时
      
        IO0CLR = LED2CON;               //LED2端口低电平
        Delay(5);                     //延时
    }
}

回复评论 (3)

proteus 运行iar产生的hex文件的绝招大公开:

1.选标准的intel-standerd格式,重载文件*.a79为*.hex,此hex文件可以直接下载到proteus中运行.

2..选标准的intel-extended格式,重载文件*.a79为*.hex,此hex格式根据此前选intel-extended格式部分变种类型(即format variant选项)不同,有的能运行,有的不行!

对于不能运行的hex文件,用记事本打开,删除倒数第二行,保存,即可导入proteus中运行!!!

此方法对于crossworks等gnu编译器生成的hex文件,同样适用!!!!!!!!!!

3.最好的办法是生成elf格式文件,不光可以导入proteus中运行,而且可以在proteus中直接调试!!!!!!!!!!!!

此方法对于crossworks等gnu编译器生成的elf文件,同样适用!!!!!!!!!!
点赞  2010-3-29 11:49
等 protues 升级了就好了,

protues 一般比较适合初学者,

点赞  2010-3-29 14:46
IAR…………请问LZ是搞430的吗???如果是?那么那个PROTUES能模拟430吗???目前我装的是7.5,不能模拟,下了个新版本的没装上。...HELP啊LZ
点赞  2010-4-12 13:04
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复