(4) 指定“远”调用模式。在Global Settings 属性页面的Function Call Model 选项中选择far, 使全局变量Callmodel 设置为far。
(5) 在公共区中重新分配中断向量表。双击System中的MEM, 右键打开VECT 的属性页, 在base 项中填入新的基地址, 如0x7F80。
(6) 配置扩展程序地址段。对于54X EVM 评估板, 已经有了两个扩展程序段EPROG0和EPROG1(如果没有的话, 则需添加这两个段, 选择Insert MEM, 添加两个扩展程序段, 重命名为EPROG0和EPROG1)。EPROG0属性为base:0x8000, len:0x4000, 勾去create a heap in this memory 选项, space:code;EPROG0与EPROG1的属性不同之处为base:0x18000。加入一个新的扩展程序段EPROG2,属性为base:0x28000, len:0x4000, space:code。
(7) 将目标代码链接到扩展程序段。 pragma 伪指令告诉编译器的预处理器如何处理函数,语法为#pragma CODE_SECTION(Page1Func,“.FarPage1”), 在名为“.FarPage1”的段中分配Page1Func的程序空间。这样,目标代码Page1Func 就被链接到.FarPage1 段的区域。
(8) 创建一个新的链接命令文件(testfar.cmd)。其主要功能是把testfarcfg.cmd 链接进去,并且告诉链接器把不同目标函数放在不同的扩展页面上。如:
(9) 保存配置文件为testfar.cdb, 然后将testfar.cdb、testfar.cmd、testfar.c 文件加入工程中。
(10) 配置编译器和汇编器支持远模式代码。打开菜单Project 中的Build Options 窗体, 选择Compiler 属性页, 点击Category 中的Advanced 选项, 勾选Use Far Calls(-mf)(C548 and higher)。此选项指定产生远调用代码模式。
(11) 在调试器内描述并激活扩展寻址功能。仿真器的调试软件需要激活扩展寻址功能才能支持长指令的执行和扩展存储区的读/ 写,方便地对使用扩展寻址的程序进行调试。所以使用通用扩展函数GEL_XMDef() 来定义映射寄存器(如XPC)和映射扩展空间的首地址。如当OVLY=1时, 扩展程序区从0x8000开始, 7 位XPC 放置在数据空间的0x1E 单元中, 并把下面两条语句加入到C5410.gel 文件的C5410_Init() 函数中
本文关键字:暂无联系方式综合-其它,单片机-工控设备 - 综合-其它