函数绝对地址定位
1) 在程序中编写一函数 myTest
void myTest(void)
{
// Add your code here
}
2) 使用 KeilC 编译器定位绝对地址的函数, 打开 Project -> Options for Target 菜单,
选中 BL51 Locate 选项卡, 在 Code: 中输入:
?PR?myTest?MAIN(0x4000)
把函数 myTest 定位到程序区的 0x4000 处,
再次编译就可以了.
3) 一次定位多个函数的方法
同样地, 在程序中再编写另外一个函数 myTest1
void myTest1(void)
{
// Add your code here
}
在 Options for Target 菜单的 BL51 Locate 选项卡的 Code: 中输入:
?PR?myTest1?MAIN(0x3900), ?PR?myTest?MAIN(0x4000)
把函数 myTest1 定位在程序区的 0x3900 处, 把函数 myTest 定义在程序区的 0x4000 处,
重新编译就可以了.
在 M51 文件中可以找到下面的内容:
>> 3.obj TO Reader RAMSIZE (256) CODE (?PR?MYTEST1?MAIN (0X3900), ?PR?MYTEST?MAIN (0X4000))
3665H 029BH *** GAP ***
CODE 3900H 0014H UNIT ?PR?MYTEST1?MAIN
3914H 06ECH *** GAP ***
CODE 4000H 0014H UNIT ?PR?MYTEST?MAIN
|