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

来源:互联网 发布:手机视频短片软件 编辑:程序博客网 时间:2024/06/14 02:01

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 把离散的存储器空间分配给

0 0
原创粉丝点击