Keil51 中代码、 变量、 函数定位方式

使用 BL51 Locate 选项
格式说明:
?PR? 表示 program 意思是 Executable program code(可执行程序段);
?CO?表示 code 意思是 code 变量;
?XD?表示 xdata 意思是 xdata 变量;
?ID?表示 idata 意思是 idata 变量;
?DT? 表示 data 意思是 data 变量;
?PD?表示 pdata 意思是 pdata 变量;
代码和函数定位:
比如在 main.c 中定义了一个 MyFunc2 函数,并且要将该函数定位到代码区
C:0x2000,则从菜单中选择 Project->Options for Target 'Target1',在弹出的对话框
中选择 BL51 Locate 页,在下面的 code 栏中写上“?PR?MYFUNC2?MAIN(0x2000)” 即
可。
如果想定位某个模块内的多个或全部函数,也可以使用*通配符,如
“?PR?*?TEST (0x1200)” ,什么意思呢,就是 test 文件中所有的程序定位到 0x1200
地址。
如果想定位其他文件怎么办?假设现在有一个 test2.c 文件我想把 test2 定位到
0x2200 开始的地方,只要稍微修改一下
“?PR?*?TEST(0x1200),?PR?*?TEST2(0x2200)“, 各位看官是否注意到那个逗号',',
用‘,’把各个文件隔开。实际效果请自行实践,我就不再 一一列举。
变量定位:
比如将 main.c 中定义的所有 data 型的全局变量定位到数据区 D:0x28 开始的空间,
则在下面的 data 栏中写上?DT?MAIN(0x28)即可;如果是 idata 型的变量,则在下面的
idata 栏中写上?ID?MAIN(0x28);如果是 xdata,则在下面的 xdata 栏中写
上?XD?MAIN(0x28),如果是 pdata,则在下面的 pdata 栏中写上?PD?MAIN(0x28)。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值