IAR建立CC2530工程的设置问题及生成.hex文件 .

这篇是转载过来的,其实设置都差不多:

利用IAR建完一个工程后,进行设置如下:这里以CC2430为例子,CC2530设置也差不多。

 选择 Project 菜单下的Options 配置与 CC2430 相关的选项。

1General Options选项,按下图配置Target标签,选择Code model 和Data model,以及其它参数。

   a、单击 Derivative information 栏右边的按钮, 选择程序安装位置如这里是IARSystems\EmbeddedWorkbench4.05 Evaluationversion\8051\config\derivatives\chip-con 下的文件CC2430.i51。

 

   b、Data Pointer 标签,如下图所示,选择数据指针数1 个,16位。

   c、Stack/Heap 标签,如图下图所示,改变XDATA 栈大小到0x1FF。

2单击 Options 中右边框架内的Linker选项,配置相关的选项。

   a、Output 标签,选中Override default 可以在下面的文本框中更改输出文件名。如果要用 C-SPY 进行

调试,选中 format 下面的 Debug information for C-SPY,如下图所示。



   b、Config 标签,如下图所示,单击 Linker command file 栏文本框右边的按钮,选择正确的连接命令文件,如下图所示。

 

3单击Options 中右边框架内的Debugger选项,配置相关的选项。在Setup 标签按下图所示设置。

在 Device Description file 选择CC2430.ddf 文件,其位置在程序安装文件夹下如

C:\Program Files\IARSystems\Embedded Workbench 4.05 Evaluation version\8051\

Config\derivatives\chipcon 。

 

最后按下“ok”保存设置。

 

4、便于记忆,总结下:3+2+1=OK 

General Options选项:Target标签、DataPointer 标签、Stack/Heap标签;(3个)

Linker 选项:Output 标签、Config标签;(2个)

Debugger 选项:Setup 标签;(1个)



下面是我自己添加的:

注意了:如果需要生成.hex文件,记得在f8w2530.xcl文件中,找到这句话:

// Include these two lines when generating a .hex file for banked code model:

/*注释:这句话的意思就是:如果要生成.hex文件,要把下面的两句话编译进来,即:*/

-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_BANK_ADDR)]*\
_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000

/*注意,上面的两句话可能因为不同的版本,可能有所不同,但是记得要加入这两句话,一起编译进代码 */

展开阅读全文

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

03-27

程序如下,编译能通过,我的IAR是5.2版本的 请问5.2版本这样生成HEX文件可以吗,为什么我烧进板里也不行,程序没问题,程序用4.12版本的IAR就可以rn想问一些5.2版本的HEX文件怎样生成rnrn//#include "NXP\iolpc2103.h"rn#include "config.h"rn/****************************************************************************rn* 名称:Delay()rn* 功能:长软件延时rn* 入口参数:dly 延时参数,值越大,延时越久rn* 出口参数:无rn****************************************************************************/rnvoid Delay(U32 dly)rn U16 i;rnrn for(; dly>0; dly--)rn for(i=0; i<600; i++);rnrnrn/*************************PLL设置************************************************/rnvoid PLL_Init(void)rnrn /* 设置系统各部分时钟 */rn PLLCON = 1;rn #if ((Fcclk / 4) / Fpclk) == 1rn VPBDIV = 0;rn #endifrn #if ((Fcclk / 4) / Fpclk) == 2rn VPBDIV = 2;rn #endifrn #if ((Fcclk / 4) / Fpclk) == 4rn VPBDIV = 1;rn #endifrn rn #if (Fcco / Fcclk) == 2rn PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);rn #endifrn #if (Fcco / Fcclk) == 4rn PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);rn #endifrn #if (Fcco / Fcclk) == 8rn PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);rn #endifrn #if (Fcco / Fcclk) == 16rn PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);rn #endifrn rn PLLFEED = 0xaa;rn PLLFEED = 0x55;rn while((PLLSTAT & (1 << 10)) == 0);rn PLLCON = 3;rn PLLFEED = 0xaa;rn PLLFEED = 0x55; rnrn/****************************************************************************rn* 名称:main()rn* 功能:控制LED闪烁rn****************************************************************************/rnvoid main(void)rnrn PINSEL0 = 0x00000000; // 设置所有管脚连接GPIOrn PINSEL1 = 0x00000000;rnrn IO0DIR = LED2CON; // 设置LED2控制口为输出rn rn PLL_Init();rn rn while(1) rn rn IO0SET = LED2CON; //LED2端口高电平rn Delay(5); //延时rn rn IO0CLR = LED2CON; //LED2端口低电平rn Delay(5); //延时rn rn rn[img=http://hiphotos.baidu.com/zhidao/pic/item/c8ea15ce2b35900fb700c878.jpg][/img] 论坛

没有更多推荐了,返回首页