ARM 实例代码

.text

.global _start

_start:

@1.RCC时钟使能GPIOE RCC_MP_AHB4ENSETR4->1

LDR r0,=0x50000A28

LDR r1,r0

ORR r1,r1,#(0x1<<4)

STR r1,r0

@RCC时钟使能GPIOF RCC_MP_AHB4ENSETR5->1

LDR r0,=0x50000A28

LDR r1,r0

ORR r1,r1,#(0x1<<5)

STR r1,r0

LDR r0,=0x50000A28

LDR r1,r0

ORR r1,r1,#(0x1<<1)

STR r1,r0

@2.设置PE10为输出模式 GPIOE_MODER21:20->01

LDR r0,=0x50006000

LDR r1,r0

BIC r1,r1,#(0x3<<20)

ORR r1,r1,#(0x1<<20)

STR r1,r0

LDR r0,=0x50007000

LDR r1,r0

BIC r1,r1,#(0x3<<12)

ORR r1,r1,#(0x1<<12)

STR r1,r0

LDR r0,=0x50003000

LDR r1,r0

BIC r1,r1,#(0x3<<12)

ORR r1,r1,#(0x1<<12)

STR r1,r0

@3.设置PE10为推挽输出 GPIOE_OTYPER10->0

LDR r0,=0x50006004

LDR r1,r0

BIC r1,r1,#(0x1<<10)

STR r1,r0

LDR r0,=0x50007004

LDR r1,r0

BIC r1,r1,#(0x1<<6)

STR r1,r0

LDR r0,=0x50003004

LDR r1,r0

BIC r1,r1,#(0x1<<6)

STR r1,r0

@4.设置PE10为低速输出 GPIOE_OSPEEDR21:20->00

LDR r0,=0x50006008

LDR r1,r0

BIC r1,r1,#(0x3<<20)

STR r1,r0

LDR r0,=0x50007008

LDR r1,r0

BIC r1,r1,#(0x3<<12)

STR r1,r0

LDR r0,=0x50003008

LDR r1,r0

BIC r1,r1,#(0x3<<12)

STR r1,r0

@5.设置PE10输出无上拉下拉 GPIOE_PUPDR21:20->00

LDR r0,=0x5000600C

LDR r1,r0

BIC r1,r1,#(0x3<<20)

STR r1,r0

LDR r0,=0x5000700C

LDR r1,r0

BIC r1,r1,#(0x3<<12)

STR r1,r0

LDR r0,=0x5000300C

LDR r1,r0

BIC r1,r1,#(0x3<<12)

STR r1,r0

loop:

@LED1灯亮

bl led1_on

@bl tim4_ch1_on

bl delay

@LED1灯灭

bl led1_off

bl delay

bl led2_on

bl delay

bl led2_off

bl delay

@bl tim4_ch1_off

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 r0,=0x50007014

LDR r1,r0

ORR r1,r1,#(0x1<<6)

STR r1,r0

MOV pc,lr

led2_off:

LDR r0,=0x50007014

LDR r1,r0

BIC r1,r1,#(0x1<<6)

STR r1,r0

MOV pc,lr

tim4_ch1_on:

LDR r0,=0x50003014

LDR r1,r0

ORR r1,r1,#(0x1<<6)

STR r1,r0

MOV pc,lr

tim4_ch1_off:

LDR r0,=0x50003014

LDR r1,r0

BIC r1,r1,#(0x1<<6)

STR r1,r0

MOV pc,lr

delay:

LDR R1,=0X10000000

mm:

cmp R1,#0

SUBNE R1,R1,#1

BNE mm

mov pc,lr

.end

相关推荐
jianqiang.xue1 天前
3倍向量算力:Arm给最小MCU装上本地AI
arm开发·人工智能·单片机
蜀黍@猿1 天前
ARM 汇编入门(十二):MMU、页表与虚拟内存全解析
汇编·arm开发·stm32·mcu
蜀黍@猿2 天前
ARM 汇编入门(十):标量浮点与 VFP 指令全解析
汇编·arm开发·stm32·mcu
Good白10194 天前
嵌入式:1.嵌入式入门|初识嵌入式、处理器、ARM与STM32
arm开发·stm32·嵌入式硬件
물の韜5 天前
ZYNQ/FMQL系列Linux之I2C开发实战
linux·arm开发·嵌入式硬件·设备树·iic·zynq
女神下凡6 天前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
女神下凡10 天前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
NamoAmitabha12810 天前
ARM Cortex-A9 核心架构(演化后的“缝合怪”)--deepseek
arm开发·zynq--ps
AllData公司负责人10 天前
AllData 可定义数据中台完成信创适配|银河麒麟 + 海光X86 CPU / 华为鲲鹏ARM CPU+ OceanBase / 人大金仓国产化环境部署落地
大数据·arm开发·数据库·人工智能·oceanbase·kingbase