跳至主要內容

02.Linux汇编

约 160 字小于 1 分钟

编写汇编源文件 *.s

.section .text
.global _start

_start:
    LDR R0, =0x01C20804      ; GPIO_PA_CFG1 寄存器地址
    LDR R1, [R0]             ; 读取当前 PA 配置值
    BIC R1, R1, #(0x7 << 20) ; 清除 PA17 的配置位 (17 * 4 = 68 bits, 68 / 32 = index in CFG1)
    ORR R1, R1, #(0x1 << 20) ; 将 PA17 配置为输出 (01 表示输出)
    STR R1, [R0]             ; 写回 GPIO_PA_CFG1

    LDR R0, =0x01C20810      ; GPIO_PA_DATA 寄存器地址
    LDR R1, [R0]             ; 读取当前 PA 数据值
    ORR R1, R1, #(1 << 17)   ; 将 PA17 拉高 (设置为 1)
    STR R1, [R0]             ; 写回 GPIO_PA_DATA

halt:
    B halt                   ; 死循环停止执行


编译*.s 生成 *.o



连接所有*.o 文件 生成 *.elf


烧写到sd卡