打印
[51单片机]

Keil C51中函数的绝对地址定位问题

[复制链接]
1353|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
集成|  楼主 | 2019-8-24 08:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
某此时候需要对函数绝对定位,在网上找了些函数绝对定位的方法如下:
1)    在程序中编写一函数 myTest
              void myTest(void)
              {
                     // Add your code here
              }
       2)    使用 KeilC 编译器定位绝对地址的函数, 打开 Project -> Options for Target 菜单,
              选中 BL51 Locate 选项卡, 在 Code: 中输入:
              ?PR?myTest?MAIN(0x4000)
              把函数 myTest 定位到程序区的 0x4000 处,
              再次编译就可以了.
C:\Users\Administrator\Desktop\22.pngC:\Users\Administrator\Desktop\44.pngC:\Users\Administrator\Desktop\18.png
按上面的无法通过编译,这是为什么?

使用特权

评论回复

相关帖子

沙发
集成|  楼主 | 2019-8-24 08:44 | 只看该作者

使用特权

评论回复
板凳
集成|  楼主 | 2019-8-25 08:35 | 只看该作者
大家都没有搞过吗?

使用特权

评论回复
地板
airwill| | 2019-8-25 08:57 | 只看该作者
?PR?myTest?MAIN(0x4000)   这里是定义的  main()  函数的地址
先看仔细手册, 弄明白怎么回事再试吧

使用特权

评论回复
5
ayb_ice| | 2019-8-26 08:27 | 只看该作者
可能要用lx51

使用特权

评论回复
6
集成|  楼主 | 2019-8-27 10:54 | 只看该作者
怎么用?C语言的函数绝对定位比汇编复杂多了

使用特权

评论回复
7
月映淇澳| | 2019-8-27 15:05 | 只看该作者
用C51的扩展关键字 _at_

使用特权

评论回复
8
ayb_ice| | 2019-8-27 16:58 | 只看该作者
月映淇澳 发表于 2019-8-27 15:05
用C51的扩展关键字 _at_

_at_不适合于函数

使用特权

评论回复
9
集成|  楼主 | 2019-9-5 10:50 | 只看该作者
看起来大家都没有用过绝对定位

使用特权

评论回复
10
ayb_ice| | 2019-9-5 11:08 | 只看该作者
集成 发表于 2019-9-5 10:50
看起来大家都没有用过绝对定位

用的
BL51与LX51语法不同,
好久没有用51做项目了,语法不太记得了
看51帮助文档

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

135

帖子

1

粉丝