首页 > 解决方案 > 内部重定位(类型:OFFST_IMM)与汇编器中的寄存器变量

问题描述

.section .init
.globl _start
_start:

@GPFSEL2
GPFSEL2_Address = 0x3F200008

GPFSEL2 .req r1

ldr r1, = GPFSEL2_Address

mov r12, #1
lsl r12, #12
@Set GPIO 24 as output
str r12, GPFSEL2 

我正在尝试为学校任务使用一些用于 LED 的引脚,到目前为止它运行良好,但是当我引入变量以使代码更具可读性和可理解性时,一切都变了。现在当我尝试这个时,我得到了这个错误:

main.s:42: Error: internal_relocation (type: OFFSET_IMM) not fixed up (on the line where I use the register variable)

在一个同事的项目中,它显然是以这种方式工作的,这就是为什么我对自己做错的事情感到非常困惑。任何帮助表示赞赏:)

标签: assemblygnu-assembler

解决方案


推荐阅读