IAR命令连接器文件xcl格式说明

IAR命令连接器文件xcl格式说明:

例如:

1. 把函数MACDeviceInit放到自己定义的段里面
-Z(CODE)CODE=_..X_BOOT_BASE_ADD-_..X_BOOT_END_ADD 
改成
-Z(CODE)MY_SECTION=_..X_BOOT_BASE_ADD-_..X_BOOT_END_ADD 

定义
void MACDeviceInit(void)  @ "MY_SECTION"

2. 修改中断地址
// Ignore linker warnings for placing the INTVEC at 0x5000
-we18=i
-Z(CODE)INTVEC=0x5000
//

相关文档介绍:
-c CPU类型

-D 说明始末地址或段大小

-Z 按顺序段定位并分配空间
常用的段说明:
段名  功 能 说 明            段类型  属性
INTVEC 保存Reset 和异常向量,含跳转到cstartup 或中断服务程序的指令。必须在0x00-0x3F 地址范围内。 CODE  只读
ICODE  保存启动代码,位于能被INTVEC 中的转移指令达到的前32MB 字节内。      CODE  只读
DIFUNCT 包含指向C++建构模块的指针。该模块在调用main 之前由cstartup 执行。     CODE  只读
SWITAB  保存软件中断向量表           CODE  只读
CODE  保存程序代码,可以在ROM 中执行。         CODE  只读
CODE_I 上电后保存声明为_ramfunc的程序代码,掉电后丢失。初始化时从CODE_ID(ROM)拷贝到CODE_I中,然后在RAM中执行。DATA 读/写
CODE_ID 永久性保存声明为_ramfunc 的程序代码。这些代码初始化时从CODE_ID拷贝到CODE_I 中(RAM),然后在RAM 中执行。CONST 只读
INITTAB 保存需要在启动时初始化的段地址和段长度表格。        CONST  只读
DATA_ID 保存DATA_I 段中变量的初值,这些值在系统初始化时由cstartup 从DATA_ID 拷贝到DATA_I。  CONST  只读
DATA_C  保存常数数据,包括文字字符串          CONST  只读
CHECKSUM 保存段的校验和           CONST  只读
DATA_I 保存声明为非零初值的静态全局变量,其初值开始在DATA_ID中,系统初始化时由cstartup从DATA_ID 拷贝到DATA_I。DATA 读/写
DATA_Z  保存声明初值为零或没有声明初值的静态全局变量        DATA  读/写
DATA_N  保存非易失存储器中,用_no_init 关键字声明的静态全局变量      DATA  读/写
CSTACK  C/C++内部数据堆栈(用户模式)          DATA  读/写
SVC_STACK 操作系统堆栈(管理模式,用于具有特权的操作系统任务)       DATA  读/写
ABT_STACK 数据访问中止模式堆栈(用于虚拟存储器及存储器保护)       DATA  读/写
UND_STACK 未定义指令中止模式堆栈(支持硬件协处理器软件仿真)       DATA  读/写
FIQ_STACK 快中断模式堆栈(用于高速数据传输或通道处理)        DATA  读/写
IRQ_STACK 中断模式堆栈(用于通用中断处理)         DATA  读/写
HEAP 堆(Heap)是C\C++中为malloc 和 free 或new 和delete 保留的动态分配存储空间。   DATA  读/写

-P 把离散的存储器空间分配给

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值