OK6410学习之裸板LED程序及RAM烧录
2014-04-11 02:40
281 查看
GPIO
每组GPIO有5个寄存器
GPxCON配置寄存器
GPxDAT数据寄存器
GPxUN上下拉电阻控制寄存器
OK6410是通过GPM控制的
点亮LED灯通过改变GPM中GPMCON和GPMDAT的值使其亮暗
右边是3.3V的高电平,左边需要有个低电平输出才能导通,所以GPMCON需要设成输出,GPMDAT的低4位需要设置成0
上图可以看出,OK6410中GPM0-3是控制LED等1-4的,所以我们只需要控制GPM0——3
全部代码
led.S
Makefile
编译好后
把led.bin烧到板子上
没有Jlink...那就烧到RAM吧
先调6410到SD启动模式,00011111
用SecureCRT链接上开发版
通电或者复位后按下回车
执行loady 0x50008000
然后选择传输——Ymoden——找到led.bin——确定
等一下就烧写好了
输入go 0x50008000执行
完成~~可以看到开发版的LED1、4灯被点亮了
由于是RAM烧写。。。复位一下程序就没了~··练习还是挺方便的~~~
每组GPIO有5个寄存器
GPxCON配置寄存器
GPxDAT数据寄存器
GPxUN上下拉电阻控制寄存器
OK6410是通过GPM控制的
点亮LED灯通过改变GPM中GPMCON和GPMDAT的值使其亮暗
右边是3.3V的高电平,左边需要有个低电平输出才能导通,所以GPMCON需要设成输出,GPMDAT的低4位需要设置成0
上图可以看出,OK6410中GPM0-3是控制LED等1-4的,所以我们只需要控制GPM0——3
ldr r1, =0x7F008820 @r1的存储为0x7F008820,这里是GPMCON的地址 ldr r0,=0x1001 @这里一共控制了GPM0到GPM3,0x1001对应的是GPM3赋值为0001、GPM2、GPM1为0,、GPM0为0001,。 @也就是让GPM1和GPM3输出,从而控制LED1和LED4 str r0,[r1] @把r0的值传给r1指向的存储空间
ldr r1,=0x7F008824 @GPMDAT寄存器的地址 mov r0,#0x10 @对第四位置0,也就是输出低电平,点亮LED1和LED4 str r0,[r1] ldr r1,=0x7F008828 @GPMPUD的地址 mov r0,#00 @置0,禁用上\下拉电阻 str r0,[r1]
全部代码
led.S
.globl _start _start: ldr r0,=0x70000000 @CPU地址 orr r0,r0,#0x13 mcr p15,0,r0,c15,c2,4 ldr r0,=0x7E004000 @关看门狗 mov r1,#0 str r1,[r0] ldr r1, =0x7F008820 ldr r0,=0x1001 str r0,[r1] ldr r1,=0x7F008824 mov r0,#0x10 str r0,[r1] ldr r1,=0x7F008828 mov r0,#00 str r0,[r1] halt: b halt
Makefile
led.bin: led.o arm-linux-ld -Ttext 0 -o led.elf led.o arm-linux-objcopy -O binary led.elf led.bin arm-linux-objdump -D led.elf > led.dis led.o : led.S arm-linux-gcc -o led.o led.S -c clean: rm *.o led.elf led.bin led.dis
编译好后
把led.bin烧到板子上
没有Jlink...那就烧到RAM吧
先调6410到SD启动模式,00011111
用SecureCRT链接上开发版
通电或者复位后按下回车
执行loady 0x50008000
然后选择传输——Ymoden——找到led.bin——确定
等一下就烧写好了
输入go 0x50008000执行
完成~~可以看到开发版的LED1、4灯被点亮了
由于是RAM烧写。。。复位一下程序就没了~··练习还是挺方便的~~~
相关文章推荐
- ARM嵌入式学习--OK6410裸板程序--1.GPIO控制LED
- ARM嵌入式学习--OK6410裸板程序--2.GPIO控制LED跑马灯(从ARM汇编跳转到C语言)
- 飞凌OK6410开发板(裸板) 第一个点亮LED灯程序
- ok6410第一个裸板程序led
- 6410裸板程序,led、蜂鸣器、按键…
- OK6410裸机程序(一)——GPIO(LED)
- OK6410串口裸板程序uart0
- 嵌入式成长轨迹34 【嵌入式学习阶段】【ARM环境调试】【QT 移植环境及简单程序示例】---补充《ok6410 Qt移植百科全书》
- 程序卡OK6410裸板更新程序_update
- OK6410裸板更新程序_update
- ok6410-第06篇-裸机led程序
- ARM底层学习笔记-裸板实验程序解析-点亮LED
- 木其工作室(专业程序代写服务)[原]ok6410学习笔记(18.linux串口驱动程序设计)
- OK6410裸机程序 ----led
- ok6410学习之芯片内部初始化之led始化
- 一灯大师之点亮OK6410开发板上4个LED裸机程序---嵌入式回归第十篇
- OK6410用DNW下载led和ds18b20的裸机程序
- ok6410-第05篇-Linux 下裸板程序的开发
- 关于ok6410的c语言环境初始化,以及点亮led程序
- ok6410 LED/GPIO 控制 C#程序