找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2148|回复: 5
收起左侧

stm32f103c8t6,超过4kb错误 是使用LDR伪指令用多了,bx寻址超出范围引起的吗?

[复制链接]
ID:73992 发表于 2023-8-11 12:37 | 显示全部楼层 |阅读模式
无标题.png
请问这个错误是使用LDR伪指令用多了,bx寻址超出范围引起的吗。如何解决
回复

使用道具 举报

ID:883242 发表于 2023-8-11 15:19 | 显示全部楼层
在这个帖子
http://www.51hei.com/bbs/dpj-228624-1.html
里面我已经告诉你LDR伪指令的真实写法是怎么样子的。

过了三个月这么简单的问题你还是没看懂????

把LDR改成真实指令也能立刻看出来问题出在哪里了吧???
回复

使用道具 举报

ID:1088185 发表于 2023-8-11 20:53 | 显示全部楼层
LR用的异常
pop {R0, R1, LR}
BX  LR
正常的用法是
pop {R0, R1, PC}

报错的是那一条?
回复

使用道具 举报

ID:1088185 发表于 2023-8-11 21:05 | 显示全部楼层
试试用V6的编译器,
它会把LDR --> MOVW+MOVT
这就不会有 4K的Offset范围了
回复

使用道具 举报

ID:73992 发表于 2023-8-11 21:27 | 显示全部楼层
Hephaestus 发表于 2023-8-11 15:19
在这个帖子
http://www.51hei.com/bbs/dpj-228624-1.html
里面我已经告诉你LDR伪指令的真实写法是怎么样 ...

程序当中能不用LDR指令的我都是用mov。已经很省了。错误意思是文字池太远,使用LTORG在4k范围内。我在程序中加入LTORG指令。问题解决。
回复

使用道具 举报

ID:73992 发表于 2023-8-11 21:30 | 显示全部楼层
1600277881 发表于 2023-8-11 21:05
试试用V6的编译器,
它会把LDR --> MOVW+MOVT
这就不会有 4K的Offset范围了

是文字池溢出了,程序加了LTORG指令,以解决。谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表