ARM中汇编初始化GPIO

本文详细介绍了在ARM架构下如何使用汇编语言初始化GPIO,包括关键指令的搬运及目标地址与源指令的设定。
摘要由CSDN通过智能技术生成
  • GPIO初始化

     ;init GPIO
     LDR r9, =0x90500000
     MOV r0, #0x0
     STR r0, [r9, #4]
     ;Write 0x55 to GPIO
     MOV r0, #0x55
     STR r0, [r9, #0x2c]
    
  • 将指定指令搬运到目标,目标地址在r10中,源指令在testinst sector中。

copystart
		nop
		
	LDR r12, =30
	LDR r7, =0

	ADR	r8,testinst
	mov 	r6, r10

copy_loop

	LDM  r8!, {r5}
	STR  r5, [r6]
	ADD  r6, r6, #4

	ADD r7, r7, #1
	CMP r7, r12
	NOP

	
	BLT copy_loop
	NOP
		nop
		nop
		nop
		nop
		nop
		nop

		MOV r0, #0x55
		STR r0, [r9, #0x2c]
		mov	pc,r10
		nop
		nop
		nop


  • 源sector位置

testinst

	DCD 0xe1a0800f    
	DCD 0xe3a000ff    
	DCD 0xe3800cff    
	DCD 0xe38008ff    
	DCD 0xe1c88000    
	DCD 0xe1a00008    
	DCD 0xe3800c02    
	DCD 0xe3a02412    
	DCD 0xe382270d    
	DCD 0xe3822c56    
	DCD 0xe3822078    
	DCD 0xe5802000    
	DCD 0xe1c020b4    
	DCD 0xe5c02008    
	DCD 0xe5901000    
	DCD 0xe1d020b4    
	DCD 0xe5d03008    
	DCD 0xe589102c    
	DCD 0xe1a01821    
	DCD 0xe589102c    
	DCD 0xe589202c    
	DCD 0xe589302c    
	DCD 0xe3a00055    
	DCD 0xe589002c    
	DCD 0xe1a0f000    
	DCD 0xe320f000    
	DCD 0xe320f000    
	DCD 0xe320f000
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值