ARM day4 作业

1,点亮三个灯,并闪烁

bash 复制代码
.text 
.global _start
_start:

@led1灯
    @设置GPIOE时钟使能   RCC_MP_AHB4ENSETR[4]->1  @0X50000A28
    LDR R0,=0X50000A28
    LDR R1,[R0]
    ORR R1,R1,#(0x1<<4)
    STR R1,[R0]

    @设置PE10为输出 GPIOE_MODER[21:20]->01   0X50006000
    LDR  R0,=0X50006000
    LDR R1,[R0]
    BIC R1,R1,#(0x3<<20)
    ORR R1,R1,#(0x1<<20)
    STR R1,[R0]

    @设置PE10为推挽输出  GPIOE_OTYPER[10]->0  0X50006004
    LDR R0,=0X50006004
    LDR R1,[R0]
    BIC R1,R1,#(0x1<<10)
    STR R1,[R0]

    @设置PE10为低速输出  GPIOE_OSPEEDR[21:20]->00  0X50006008
    LDR R0,=0X50006008
    LDR R1,[R0]
    BIC R1,R1,#(0x3<<20)
    STR R1,[R0]

    @设置PE10输出时无上拉下拉电阻  GPIOE_PUPDR[21:20]->00  0X5000600C
    LDR R0,=0X5000600C
    LDR R1,[R0]
    BIC R1,R1,#(0x3<<20)
    STR R1,[R0]


@led2灯

   LDR R2,=0X50000A28
    LDR R3,[R2]
    ORR R3,R3,#(0x1<<5)
    STR R3,[R2]

 
    LDR  R2,=0X50007000
    LDR R3,[R2]
    BIC R3,R3,#(0x3<<20)
    ORR R3,R3,#(0x1<<20)
    STR R3,[R2]

  
    LDR R2,=0X50007004
    LDR R3,[R2]
    BIC R3,R3,#(0x1<<10)
    STR R3,[R2]

    
    LDR R2,=0X50007008
    LDR R3,[R2]
    BIC R3,R3,#(0x3<<20)
    STR R3,[R2]

    
    LDR R2,=0X5000700C
    LDR R3,[R2]
    BIC R3,R3,#(0x3<<20)
    STR R3,[R2]

    


@led3灯
    
    LDR  R4,=0X50006000
    LDR R5,[R4]
    BIC R5,R5,#(0x3<<16)
    ORR R5,R5,#(0x1<<16)
    STR R5,[R4]

  
    LDR R4,=0X50006004
    LDR R5,[R4]
    BIC R5,R5,#(0x1<<8)
    STR R5,[R4]


    LDR R4,=0X50006008
    LDR R5,[R4]
    BIC R5,R5,#(0x3<<16)
    STR R5,[R4]

    
    LDR R4,=0X5000600C
    LDR R5,[R4]
    BIC R5,R5,#(0x3<<16)
    STR R5,[R4]

loop:

    bl led1_on
    bl led2_on
    bl led3_on
    bl delay
    bl led1_off
    bl led2_off
    bl led3_off
    bl delay
    b loop

led1_on:
    LDR R0,=0X50006014
    LDR R1,[R0]
    ORR R1,R1,#(0x1<<10)
    STR R1,[R0]
    mov pc,lr

led1_off:
    LDR R0,=0X50006014
    LDR R1,[R0]
    BIC R1,R1,#(0x1<<10)
    STR R1,[R0]
    mov pc,lr

led2_on:
    LDR R2,=0X50007014
    LDR R3,[R2]
    ORR R3,R3,#(0x1<<10)
    STR R3,[R2]
    mov pc,lr

led2_off:
    LDR R2,=0X50007014
    LDR R3,[R2]
    BIC R3,R3,#(0x1<<10)
    STR R3,[R2]
    mov pc,lr

led3_on:
    LDR R4,=0X50006014
    LDR R5,[R4]
    ORR R5,R5,#(0x1<<8)
    STR R5,[R4]
    mov pc,lr

led3_off:
    LDR R4,=0X50006014
    LDR R5,[R4]
    BIC R5,R5,#(0x1<<8)
    STR R5,[R4]
    mov pc,lr

delay:
    LDR R6,=0X10000000
mm:
    cmp r6,#0
    subne r6,r6,#1
    bne mm
    mov pc,lr

.end

2,思维导图

相关推荐
zhouwy1132 天前
ARM汇编指令集详解
汇编·arm开发
山后太阳3 天前
Keil5(MDK-ARM)完整下载安装教程+入门教程:从零搭建STM32开发环境
arm开发·stm32·嵌入式硬件
zz_lzh3 天前
arm版AI牛马:armbian(rk3588)设备部署openclaw
arm开发·人工智能·arm
lanxiao88884 天前
F1C100S 内核
arm开发
杰杰桀桀桀4 天前
基于stm32ARM库函数的IIR二阶巴特沃斯低通滤波器--附完整代码
arm开发·stm32·嵌入式硬件·数字滤波器·巴特沃斯低通滤波
TBrL7UtdTELTTdut4BAL4 天前
ARM Cortex-A53 (无AES)平台加密网络转发性能测试与对比分析
arm开发·集成测试
AI服务老曹4 天前
架构实战:如何基于 GB28181 与异构计算构建跨平台(X86/ARM)AI 视频管理系统?源码交付深度解析
arm开发·人工智能·架构
CinzWS5 天前
A53 FPGA原型验证:从RTL到可运行系统的挑战
arm开发·嵌入式·芯片验证·原型验证·a53
AI服务老曹5 天前
深度解析:支持 GB28181/RTSP 及异构计算(X86/ARM+GPU/NPU)的 AI 视频管理平台架构方案(附源码交付与 Docker 部署)
arm开发·人工智能·音视频
2302_813806225 天前
基础环境篇 – 交叉编译环境搭建与NFS服务配置
arm开发