[51单片机] Keil C51中函数的绝对地址定位问题

[复制链接]
 楼主| 集成 发表于 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()  函数的地址
先看仔细手册, 弄明白怎么回事再试吧
ayb_ice 发表于 2019-8-26 08:27 | 显示全部楼层
可能要用lx51
 楼主| 集成 发表于 2019-8-27 10:54 | 显示全部楼层
怎么用?C语言的函数绝对定位比汇编复杂多了
月映淇澳 发表于 2019-8-27 15:05 | 显示全部楼层
用C51的扩展关键字 _at_
ayb_ice 发表于 2019-8-27 16:58 | 显示全部楼层
月映淇澳 发表于 2019-8-27 15:05
用C51的扩展关键字 _at_

_at_不适合于函数
 楼主| 集成 发表于 2019-9-5 10:50 | 显示全部楼层
看起来大家都没有用过绝对定位
ayb_ice 发表于 2019-9-5 11:08 | 显示全部楼层
集成 发表于 2019-9-5 10:50
看起来大家都没有用过绝对定位

用的
BL51与LX51语法不同,
好久没有用51做项目了,语法不太记得了
看51帮助文档
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

167

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部