首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 嵌入开发 >

IAR生成的HEX文件不能在protues里运行解决办法

2012-03-06 
IAR生成的HEX文件不能在protues里运行程序如下,编译能通过,我的IAR是5.2版本的请问5.2版本这样生成HEX文件

IAR生成的HEX文件不能在protues里运行
程序如下,编译能通过,我的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); //延时
  }



[解决办法]
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文件,同样适用!!!!!!!!!!
[解决办法]
等 protues 升级了就好了,

protues 一般比较适合初学者,


[解决办法]
IAR…………请问LZ是搞430的吗???如果是?那么那个PROTUES能模拟430吗???目前我装的是7.5,不能模拟,下了个新版本的没装上。...HELP啊LZ

热点排行