12.21 汇编点亮STM32MP157小灯

复制代码
.text 
.global _start
_start: 
    @时钟使能
    LDR r0,=0x50000A28
    LDR r1,[r0]
    ORR r1,r1,#(0x1<<4)
    ORR r1,r1,#(0x1<<5)
    ORR r1,r1,#(0x1<<1)
    STR r1,[r0]

    @配置GPIO模式
    LDR r0,=0x50006000
    LDR r1,[r0]
    BIC r1,r1,#(0x2<<20)
    ORR r1,r1,#(0x1<<20)
    BIC r1,r1,#(0x2<<16)
    ORR r1,r1,#(0x1<<16)
    STR r1,[r0]

    LDR r0,=0x50007000
    LDR r1,[r0]
    BIC r1,r1,#(0x2<<20)
    ORR r1,r1,#(0x1<<20)
    STR r1,[r0]


    @配置GPIO推挽输出模式
    LDR r0,=0x50006004
    LDR r1,[r0]
    BIC r1,r1,#(0x1<<10)
    BIC r1,r1,#(0x1<<8)
    STR r1,[r0]

    LDR r0,=0x50007004
    LDR r1,[r0]
    BIC r1,r1,#(0x1<<10)
    STR r1,[r0]


    @配置GPIO为低速输出
    LDR r0,=0x50006008
    LDR r1,[r0]
    BIC r1,r1,#(0x3<<20)
    BIC r1,r1,#(0x3<<16)
    STR r1,[r0]

    LDR r0,=0x50007008
    LDR r1,[r0]
    BIC r1,r1,#(0x3<<20)
    STR r1,[r0]


    @设置PE10和PE8为无上下拉电阻
    LDR r0,=0x5000600c
    LDR r1,[r0]
    BIC r1,r1,#(0x3<<20)
    BIC r1,r1,#(0x3<<16)
    STR r1,[r0]

    LDR r0,=0x5000700c
    LDR r1,[r0]
    BIC r1,r1,#(0x3<<20)
    STR r1,[r0]
    
loop:
    bl led_on
    bl delay
    bl led_off
    bl delay

    b loop
led_on:
    @设置小灯亮
    LDR r0,=0x50006014
    LDR r1,[r0]
    ORR r1,r1,#(0x1<<10)
    ORR r1,r1,#(0x1<<8)
    STR r1,[r0]

    LDR r0,=0x50007014
    LDR r1,[r0]
    ORR r1,r1,#(0x1<<10)
    STR r1,[r0]
    mov pc,lr

led_off:
    @设置小灯灭
    LDR r0,=0x50006014
    LDR r1,[r0]
    BIC r1,r1,#(0x1<<10)
    BIC r1,r1,#(0x1<<8)
    STR r1,[r0]

    LDR r0,=0x50007014
    LDR r1,[r0]
    BIC r1,r1,#(0x1<<10)
    STR r1,[r0]
    mov pc,lr

 delay:
    LDR  R3,=0x10000000
mm:
    cmp r3,#0
    subne r3,r3,#1
    bne mm
    mov pc,lr

.end
相关推荐
山木嵌入式6 小时前
【STM32实战】轻量级任务调度器实现
stm32·单片机·rtos·任务调度器·裸机开发
guygg886 小时前
基于霍尔传感器的BLDC控制源码
单片机·嵌入式硬件
ytttr8737 小时前
DSP 28335 CAN总线通信程序
开发语言·stm32·单片机
浩浩测试一下9 小时前
汇编 位运算 (逆向分析)
汇编·逆向·位运算·asm·windows编程·二进制逆向
浩浩测试一下9 小时前
汇编 高低八位寄存器数据存储方式(逆向分析)
汇编·网络安全·逆向·二进制·免杀·寄存器·windows编程
长安第一美人10 小时前
工业级实时监控系统开发:PHP+ZMQ+JS 前后端分离架构全解析
前端·嵌入式硬件·架构·交互·rk3588·zmq后端
田甲10 小时前
STM32开发环境迁移实践:从 CubeMX 生成 CMake 工程到 VS Code 编译与调试
stm32·单片机·嵌入式硬件
hoiii18710 小时前
在 STM32F1上读取 BMX055 三轴加速度
stm32·单片机·嵌入式硬件
嵌入式小站11 小时前
STM32 零基础可移植教程 04:按键输入,为什么按下去读到的是 0 或 1
chrome·stm32·嵌入式硬件
三佛科技-1873661339711 小时前
BP8522D贴片SOP7,5V150mA高集成度无VCC电容降压型恒压芯片解析
单片机·嵌入式硬件