找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1709|回復: 5
收起左側

stm32f103c8t6,超過4kb錯誤 是使用LDR偽指令用多了,bx尋址超出范圍引起的嗎?

[復制鏈接]
ID:73992 發(fā)表于 2023-8-11 12:37 | 顯示全部樓層 |閱讀模式
無標題.png
請問這個錯誤是使用LDR偽指令用多了,bx尋址超出范圍引起的嗎。如何解決
回復

使用道具 舉報

ID:883242 發(fā)表于 2023-8-11 15:19 | 顯示全部樓層
在這個帖子
http://www.torrancerestoration.com/bbs/dpj-228624-1.html
里面我已經告訴你LDR偽指令的真實寫法是怎么樣子的。

過了三個月這么簡單的問題你還是沒看懂????

把LDR改成真實指令也能立刻看出來問題出在哪里了吧???
回復

使用道具 舉報

ID:1088185 發(fā)表于 2023-8-11 20:53 | 顯示全部樓層
LR用的異常
pop {R0, R1, LR}
BX  LR
正常的用法是
pop {R0, R1, PC}

報錯的是那一條?
回復

使用道具 舉報

ID:1088185 發(fā)表于 2023-8-11 21:05 | 顯示全部樓層
試試用V6的編譯器,
它會把LDR --> MOVW+MOVT
這就不會有 4K的Offset范圍了
回復

使用道具 舉報

ID:73992 發(fā)表于 2023-8-11 21:27 | 顯示全部樓層
Hephaestus 發(fā)表于 2023-8-11 15:19
在這個帖子
http://www.torrancerestoration.com/bbs/dpj-228624-1.html
里面我已經告訴你LDR偽指令的真實寫法是怎么樣 ...

程序當中能不用LDR指令的我都是用mov。已經很省了。錯誤意思是文字池太遠,使用LTORG在4k范圍內。我在程序中加入LTORG指令。問題解決。
回復

使用道具 舉報

ID:73992 發(fā)表于 2023-8-11 21:30 | 顯示全部樓層
1600277881 發(fā)表于 2023-8-11 21:05
試試用V6的編譯器,
它會把LDR --> MOVW+MOVT
這就不會有 4K的Offset范圍了

是文字池溢出了,程序加了LTORG指令,以解決。謝謝!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表