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

相关推荐
女神下凡5 小时前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
女神下凡1 天前
芯参谋(30):EMMC eMCP 软件设计规范
arm开发·单片机·嵌入式硬件·设计规范
SKH.1 天前
ARM-uart
arm开发·单片机
AOI小白新手上路1 天前
韦东山《ARM 架构与编程》基于I.MX6ULL 3-1 硬件知识_LED 原理图 · 学习笔记
arm开发·学习·架构
一条破秋裤1 天前
TCP 缓冲区:用户空间 stdio 与内核 Socket 缓冲
arm开发·网络协议·tcp/ip
Horn Still Sounds2 天前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
女神下凡2 天前
芯参谋(26):DDR4_软件设计规范
arm开发·单片机·嵌入式硬件
AOI小白新手上路2 天前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
M78佐菲2 天前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习
女神下凡3 天前
芯参谋(29):UFS UMCP 软件设计规范
arm开发·单片机·嵌入式硬件