标签:上市 输出 上拉 技术分享 output 原理图 ima ddr inf
General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,人们利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。
start: @;配置GPJ0CON寄存器 Address=0xE0200240 [15:12]=0b0001 ldr r0,=0xE0200240 ldr r1,=0x1000 str r1,[r0] @;配置GPJ0PUD寄存器 Address=0xE0200248 [7:6]=0b00 ldr r0,=0xE0200248 ldr r1,=0x0 str r1,[r0] @;配置GPJ0DAT寄存器 Address=0xE0200244 [3]=1 ldr r0,=0xE0200244 ldr r1,=0x4 str r1,[r0]
生成目标文件
arm-linux-gcc -c led.S
生成可执行文件
arm-linux-gcc -Ttext 0x34000000 -nostartfiles -nostdlib led.o -o led
生成独立执行的二进制
arm-linux-objcopy -O binary led led.bin
使用tftp命令下载
tftp 0x34000000 led.bin
使用go命令执行
go 0x34000000
6.简单的流水灯实现
.global _start _start: ldr r0, =0x11111111 ldr r1, =0xE0200240 str r0, [r1] ldr r0, =0x11111111 ldr r1, =0xE02000A0 str r0, [r1] flash: ldr r0, =(1<<1) ldr r1, =0xE02000A4 str r0, [r1] ldr r0, =~(1<<3) ldr r1, =0xE0200244 str r0, [r1] bl delay ldr r0, =~(1<<4) ldr r1, =0xE0200244 str r0, [r1] bl delay ldr r0, =~(1<<5) ldr r1, =0xE0200244 str r0, [r1] bl delay ldr r0, =~(1<<1) ldr r1, =0xE02000A4 str r0, [r1] bl delay b flash delay: ldr r2, =100000000 ldr r3, =0x0 delay_loop: sub r2, r2, #1 cmp r2, r3 bne delay_loop mov pc, lr
标签:上市 输出 上拉 技术分享 output 原理图 ima ddr inf
原文地址:https://www.cnblogs.com/xiehuan-blog/p/9704240.html