关于CC2530的IAR工程编译器相关
2012-11-20 13:16
543 查看
一、EEPROM 区域数据存储:
__eeprom unsigned char a; //定义一个变量存放在EEPROM空间
__eeprom unsigned char a @ 0x8; //定义一个变量存放在EEPROM空间0X08单元
__eeprom unsigned char p[] @ 0x22 //定义一个数组存放在EEPROM空间,开始地址为0X22单元
__eeprom unsigned char a @ 0x08=9; //定义一个常数存放在EEPROM空间0X08单元
__eeprom unsigned char p[] @0x22={1,2,3,4,5,6,7,8};
二、FLASH 区域数据存储:
用关键字 __flash 控制来存放, __ flash 关键字写在数据类型前后效果一样
__flash unsigned char a @ 0x8; //定义变量存放在flash 空间0X08单元__flash
unsigned char p[] @ 0x22 //定义数组存放在flash 空间,开始地址为0X22单元
__flash unsigned char a @ 0x08=9; //定义常数存放在flash 空间0X08单元
__flash unsigned char p[] @ 0x22={1,2,3,4,5,6,7,8};
unsigned int __flash * p; //定义个指向flash 空间地址的指针,16位。
unsigned int __farflash * p; //定义指向flash 空间地址的指针,24位。
__flash unsigned char * p; //定义指向SARMM空间地址的指针,指针本身存放在flash 中。
flash 操作宏函数:在相关intrinsics.h头文件里有详细说明
三、extra options
1、GP-system-Data stack :0xff //堆栈大小设置
2、C/C++-Preprocessor:$PROJ_DIR$\headers\ //头文件定位
C/C++-extra Option: --string_literals_in_flash //定义字符串在flash空间
3、Linker-Extra Option:
-Ointel-extended,(XDATA)=.eep
-Ointel-extended,(CODE)=.A90
-Ointel-extended,(CODE)=.hex
四、与ICC编译器兼容宏定义
#ifndef __ICCAVR__
#define __ICCAVR__
#endif
#ifndef BIT
#define BIT(x) (1 << (x))
#endif
#define NOP() __no_operation() //asm("nop")
#define CLI() __disable_interrupt() //asm("cli")
#define SEI() __enable_interrupt() //asm("sei")
#pragma language=extended
#ifndef ENABLE_BIT_DEFINITIONS
#define ENABLE_BIT_DEFINITIONS
#endif
__eeprom unsigned char a; //定义一个变量存放在EEPROM空间
__eeprom unsigned char a @ 0x8; //定义一个变量存放在EEPROM空间0X08单元
__eeprom unsigned char p[] @ 0x22 //定义一个数组存放在EEPROM空间,开始地址为0X22单元
__eeprom unsigned char a @ 0x08=9; //定义一个常数存放在EEPROM空间0X08单元
__eeprom unsigned char p[] @0x22={1,2,3,4,5,6,7,8};
二、FLASH 区域数据存储:
用关键字 __flash 控制来存放, __ flash 关键字写在数据类型前后效果一样
__flash unsigned char a @ 0x8; //定义变量存放在flash 空间0X08单元__flash
unsigned char p[] @ 0x22 //定义数组存放在flash 空间,开始地址为0X22单元
__flash unsigned char a @ 0x08=9; //定义常数存放在flash 空间0X08单元
__flash unsigned char p[] @ 0x22={1,2,3,4,5,6,7,8};
unsigned int __flash * p; //定义个指向flash 空间地址的指针,16位。
unsigned int __farflash * p; //定义指向flash 空间地址的指针,24位。
__flash unsigned char * p; //定义指向SARMM空间地址的指针,指针本身存放在flash 中。
flash 操作宏函数:在相关intrinsics.h头文件里有详细说明
三、extra options
1、GP-system-Data stack :0xff //堆栈大小设置
2、C/C++-Preprocessor:$PROJ_DIR$\headers\ //头文件定位
C/C++-extra Option: --string_literals_in_flash //定义字符串在flash空间
3、Linker-Extra Option:
-Ointel-extended,(XDATA)=.eep
-Ointel-extended,(CODE)=.A90
-Ointel-extended,(CODE)=.hex
四、与ICC编译器兼容宏定义
#ifndef __ICCAVR__
#define __ICCAVR__
#endif
#ifndef BIT
#define BIT(x) (1 << (x))
#endif
#define NOP() __no_operation() //asm("nop")
#define CLI() __disable_interrupt() //asm("cli")
#define SEI() __enable_interrupt() //asm("sei")
#pragma language=extended
#ifndef ENABLE_BIT_DEFINITIONS
#define ENABLE_BIT_DEFINITIONS
#endif
相关文章推荐
- IAR中的Zstack工程产生的.hex通过SmartRF Flash Programmer烧录到CC2530
- 关于用IAR建立 STM32工程的问题
- 关于编译器、ADT、SDK相关注意事项FAQ
- IAR建立CC2530工程的设置问题及生成.hex文件
- 关于工程支持arm64的相关问题
- 关于工程中Portrait的设置相关
- IAR创建工程文件快速建立之ZigBee CC2530
- 关于把keil上的工程移植到IAR上
- IAR建立CC2530工程的设置问题及生成.hex文件 .
- IAR建立CC2530工程的设置问题及生成.hex文件
- 关于IAR编译器在编译链接的时候一些知识的收集
- 关于IAR环境下工程结构、管理的笔记
- IAR中的Zstack工程产生的.hex通过SmartRF Flash Programmer烧录到CC2530
- zigbee IAR建立第一个工程(CC2530)
- IAR编译器生成Cortex M3汇编代码的相关问题
- 关于IAR编译器定位不到函数或关键字问题!
- IAR 中 CC2530工程生成.hex文件
- 关于同步(字典)功能实现的相关积累
- 关于QQ的相关代码收集整理
- HTTP协议知多少-关于http1.x、http2、SPDY的相关知识