4412裸机程序按键控制led灯
来源:互联网 发布:淘宝聚划算提前购物车 编辑:程序博客网 时间:2024/04/30 02:26
4412裸机程序按键控制led灯
在ubuntu中写的
c语言代码:
#define GPX2CON (*(volatile unsigned long *) 0x11000c40)#define GPX2DAT (*(volatile unsigned long *) 0x11000c44)#define GPL2CON (*(volatile unsigned long *) 0x11000100)#define GPL2DAT (*(volatile unsigned long *) 0x11000104)#define GPK1CON (*(volatile unsigned long *) 0x11000060)#define GPK1DAT(*(volatile unsigned long *) 0x11000064)void delay(int r0){volatile int count = r0;while(count--);}void main(){GPX2CON = 0x00000003;GPL2CON = 0x00000001;GPK1CON = 0x00000010;while(1){if((GPX2DAT & 0x01) == 1){ GPL2DAT = 1;GPK1DAT = 0x2;}if((GPX2DAT & 0x01) == 0){GPL2DAT = 0;GPK1DAT = 0;}}}
汇编代码:
.global _start_start: //disable watch dog ldr r0, =0x10060000 mov r1, #0 str r1, [r0] //turn on icache mrc p15, 0, r0, c1, c0, 0 //bic r0, r0, #0x00002300 /* clear bits 13, 9:8 (--V- --RS) */ //bic r0, r0, #0x00000087 /* clear bits 7, 2:0 (B--- -CAM) */ //orr r0, r0, #0x00000002 /* set bit 2 (A) Align */ //orr r0, r0, #0x00001000 /* set bit 12 (I) I-Cache */#ifdef CONFIG_SYS_ICACHE_OFF // clear bit 12 (I) I-cache bic r0, r0, #0x00001000#else // set bit 12 (I) I-cache orr r0, r0, #0x00001000#endif mcr p15, 0, r0, c1, c0, 0 //mcr p15, 0, r0, c7, c5, 0 @ invalidate icache //set stack ldr sp, =0x02050000 bl mainhalt: b halt
makefile:
key.bin: start.o key.o arm-none-linux-gnueabi-ld -Ttext 0x0 -o key.elf $^ arm-none-linux-gnueabi-objcopy -O binary key.elf key.bin arm-none-linux-gnueabi-objdump -D key.elf > key_elf.dis%.o : %.S arm-none-linux-gnueabi-gcc -o $@ $< -c -nostdlib%.o : %.c arm-none-linux-gnueabi-gcc -o $@ $< -c -nostdlibclean: rm *.o *.elf *.bin *.dis -f
0 0
- 4412裸机程序按键控制led灯
- 4412裸机程序之按键控制LED
- tq2440裸机程序. 按键控制LED灯.
- ARM裸机程序开发——按键控制LED灯
- 中断控制LED裸机程序
- Tiny6410按键轮询方式控制LED的SD卡启动裸机程序
- 2440裸机程序——定时器控制LED灯闪烁
- ARM裸机——FS2410按键控制LED灯(查询方式)
- TQ210_裸机编程(二)——按键控制LED灯
- 基于mini2440的按键中断控制LED(裸机代码)
- mini2440裸机试炼之--按键控制蜂鸣器和LED
- 裸机程序-led流水灯
- [2014.3.17]mini2440裸机跑马灯/按键点亮LED的C程序
- Mini2440 裸机实验之LED程序、按键、中断
- 5.0 按键控制LED灯
- 独立按键控制led灯
- 中断-按键控制LED灯
- tq2440裸奔程序2-按键控制LED
- 文章标题
- jQuery 变量数字相加
- 黑马程序员——C基础——数组
- POJ 3278 catch that cow
- 【c++】深赋值与浅赋值
- 4412裸机程序按键控制led灯
- C++的main函数参数
- HDU 1548 A strange lift
- 快速排序_QUICKSORT
- GLIBC中NPTL线程实现代码阅读
- GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-Cent
- 平衡二叉树的删除
- OpenCV的配置
- net学习之C#面向对象 大富翁V2.1 优化代码,加入. 全局变量,Exception异常.