IAR环境中实现数据或函数的定位
来源:互联网 发布:腾讯云申请域名绿标 编辑:程序博客网 时间:2024/06/06 15:42
定位方法如下三种
1、__no_init char alpha @ 0x0200;
2、#pragma location=0x0202
const int beta;
3、const int gamma @ 0x0204 = 3;
或;
1、__no_init int alpha @ "MYSEGMENT"; //MYSEGMENT段可在XCL中开辟
2、#pragma location="MYSEGMENT"
const int beta;
3、const int gamma @ "MYSEGMENT" = 3;
函数定位如下面两种写法
1、
void g(void) @ "MYSEGMENT" //MYSEGMENT段可在XCL中开辟
{
}
2、
#pragma location="MYSEGMENT"
void h(void)
{
}
1.打开相应的*c.xcl文件,用"-Z(CONST)段名=程序定位的目标段-FFDF"定义段的起始地址.
2.在自己的C程序中用#pragma constseg(段名)定位自己的程序
3.结束后恢复编译器的默认定位#pragma default
IAR 1.26b环境下:
1、将常量数组放在FLASH段自定议的MYSEG段中
原来的MSP430F149 XCL文件如下:
// Constant data
-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=1100-FFDF
如果想从中分出一部分做数据存储区,做如下修改:
-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=1500-FFDF //将1100-14FF从ROM中分出存储arry数
组
-Z(CONST)MYSEG=1100-14FF
区间大小可自行决定
在程序中描写如下即可:
#pragma memory = constseg(MYSEG) //在.XCL文件中修改
char arry[]={1,2,3,4,5,6,7};
#pragma memory = default
2、将变量放入所命名的段
在XCL文件中开辟一段MYSEG段,如上所述
#pragma memory = dataseg(MYSEG)
char i;
char j;
int k;
#pragma memory = default
1、__no_init char alpha @ 0x0200;
2、#pragma location=0x0202
const int beta;
3、const int gamma @ 0x0204 = 3;
或;
1、__no_init int alpha @ "MYSEGMENT"; //MYSEGMENT段可在XCL中开辟
2、#pragma location="MYSEGMENT"
const int beta;
3、const int gamma @ "MYSEGMENT" = 3;
函数定位如下面两种写法
1、
void g(void) @ "MYSEGMENT" //MYSEGMENT段可在XCL中开辟
{
}
2、
#pragma location="MYSEGMENT"
void h(void)
{
}
更改XCL文件
注意:在实现过程中可能涉及到.XCL连接文件的更改,请保存好原来的.XCL文件!1.打开相应的*c.xcl文件,用"-Z(CONST)段名=程序定位的目标段-FFDF"定义段的起始地址.
2.在自己的C程序中用#pragma constseg(段名)定位自己的程序
3.结束后恢复编译器的默认定位#pragma default
IAR 1.26b环境下:
1、将常量数组放在FLASH段自定议的MYSEG段中
原来的MSP430F149 XCL文件如下:
// Constant data
-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=1100-FFDF
如果想从中分出一部分做数据存储区,做如下修改:
-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=1500-FFDF //将1100-14FF从ROM中分出存储arry数
组
-Z(CONST)MYSEG=1100-14FF
区间大小可自行决定
在程序中描写如下即可:
#pragma memory = constseg(MYSEG) //在.XCL文件中修改
char arry[]={1,2,3,4,5,6,7};
#pragma memory = default
2、将变量放入所命名的段
在XCL文件中开辟一段MYSEG段,如上所述
#pragma memory = dataseg(MYSEG)
char i;
char j;
int k;
#pragma memory = default
- IAR环境中实现数据或函数的定位
- IAR环境中实现数据和函数的定位
- 在IAR的集成开发环境中实现数据变量定位方法如下三种
- 在IAR的集成开发环境中实现数据变量定位方法如下三种
- 关于IAR编译器定位不到函数或关键字问题!
- 【MSP430 编译器使用经验】+ IAR 环境下的函数定位加载(分散加载)方法
- IAR和Keil中实现内联函数inline的不同
- IAR STM32 函数和变量的绝对地址定位
- IAR STM32 函数和变量的绝对地址定位
- IAR之函数和变量的绝对地址定位
- IAR STM32 函数和变量的绝对地址定位
- IAR环境下STM32+IAP方案的实现
- IAR环境下STM32+IAP方案的实现
- IAR环境下STM32+IAP方案的实现
- IAR环境下STM32+IAP方案的实现(转)
- IAR环境下STM32F103ZET6+IAP方案的实现
- IAR数据定位方法 ,定义序列号和要存储的数据时会用到
- CC3200 --- IAR环境的安装
- mac+xcode 4.2 配置svn完全方法
- ios帮助文档
- 与C#相关的XML Documentation
- C++运算符优先级,记录一下
- 使用PHP开发你必须得注意的要点
- IAR环境中实现数据或函数的定位
- 近期学习html+css
- linux的信号机制
- PHP类分享:session保存到数据库
- ofproperty
- Interesting Housing Problem----KM
- 大话设计模式中简单工厂模式的计算器实例的C++代码
- 菜鸟列举小例浅谈数据库管理之-------数据库的 增、删、改、查
- dedecms 文档ID: XX – 模板文件不存在,无法解析文档!