arm汇编
keepcode
这个作者很懒,什么都没留下…
展开
-
arm中断控制led
board/keyled_intr.c#include "stdio.h"#include "s5pv210.h"void Eint16_isr(){ if(rEXT_INT_2_PEND==0x1) { printf("key2 put down\n"); rEXT_INT_2_PEND |=(0x1<<0); //清除中断标志位 rVIC0ADDRESS = 0x0原创 2015-08-16 11:24:05 · 3107 阅读 · 0 评论 -
arm的lcd基础显示
进行逐行扫描RGB的数值,显现出来。图片需要通过image2lcd工具,转为字符数组那样的格式。它每3个值为RGB颜色值,然后放入include文件夹,然后导入即可。board/fimd_lcd.c#include "stdio.h"#include "s5pv210.h"#include "img1.h"unsigned int *fbuf = (unsigned int *原创 2015-08-16 14:32:06 · 1031 阅读 · 0 评论 -
arm定时器4
board/timer4led.c#include "stdio.h"#include "s5pv210.h"void t4_init(){ //TCFG0[15:8] = 99 //设置t4预分频值 rTCFG0 &=~(0xff<<8); rTCFG0 |=(0x63<<8); //TCFG1[19:16] = 0100 //选择PWM定时器的选通输入 rTCFG1原创 2015-08-16 11:38:10 · 720 阅读 · 0 评论 -
arm汇编按键控制led灯
实例一:按下就亮个灯.text.global _start_start: mov r7,lr @初始化按键 ldr r0,=0xe0200c40 ldr r1,=0x0 str r1,[r0] @让按键都是输入模式 ldr r0,=0xe0200c44loop: ldr r1, [r0] tst r1,#0x1 @让0xe0200c44地址获取到的值,0x1比较,如果是0原创 2015-08-12 23:43:01 · 4409 阅读 · 0 评论 -
arm的v7体系结构
1. arm拥有大量的寄存器 .normal reg (r0-r15 ) 33个 功能一:通用读写操作 mov r0,#5 add r0,r1,r2 mov r15,#0x100 功能二:具有底层相关的物理特性 r15是pc指针 mov pc,#0x100 r14 = lr(link regis原创 2015-08-11 23:02:33 · 1252 阅读 · 0 评论 -
arm汇编输出
.text.extern uart_init @终端的输出.extern printf.global _start_start: mov r7,lr @先把lr原始地址给r7放着,后面发生bl跳转后,要退回到bootcmd bl uart_init @mov r1,#0x1110 @这个定义的数值有规范,这里采用ldr。而且要放在bl uart_init ldr r1,=原创 2015-08-11 23:05:44 · 1896 阅读 · 0 评论 -
arm汇编的str指令
str r1, [r0]将r1寄存器的值,传送到地址值为r0的(存储器)内存中mov r2,#22ldr r1,=0x42000000@这里要大于40000000str r2,[r1]@在bootcmd,运行程序后,使用md 0x42000000,可以确认那地址存的值。参考:http://blog.chinaunix.net/uid-28458801-id-4084316.ht原创 2015-08-10 22:48:31 · 811 阅读 · 0 评论 -
arm汇编循环延时输出
test1.S.text.global test1@global可以让其他程序调用test1: mov r9,lr mov r6,#10loop: ldr r0,=fmt1 bl printf bl delay sub r6,r6,#1 cmp r6,#0 beq return_start @这里如果不等就往下执行b loop,否则执行beq后的 b loop原创 2015-08-11 23:27:47 · 3360 阅读 · 0 评论 -
arm汇编控制led灯
.text.global _start_start: mov r7,lr ldr r0,=0xe0200280 @GPJ2CON地址 ldr r1,=0x111 @选择要控制的灯为输出模式 str r1,[r0] @放进GPJ2CON地址执行 ldr r0,=0xE0200284 @GPJ2DAT地址 mov r1,#0x2 @控制哪几个灯亮,0为亮 str r1,[r原创 2015-08-11 23:15:01 · 3152 阅读 · 0 评论 -
arm定时器0
board/timer0_beep.c#include "stdio.h"#include "s5pv210.h"#define rTCNTB0 (*(volatile unsigned long *) 0xE250000C)#define rTCMPB0 (*(volatile unsigned long *) 0xE2500010)void t0_PortInit(){ /原创 2015-08-16 11:32:24 · 621 阅读 · 0 评论