ARM裸机——FS2410 流水灯
来源:互联网 发布:统计软件培训 编辑:程序博客网 时间:2024/05/17 08:27
一、开发环境
1、硬件平台:FS2410(s3c2410)
2、主机:Ubuntu 10.10
二、LED的原理图:
三、有关LED的GPIO口的配置信息:
1、配置GPFCON寄存器,设置GPF4-7为输出
2、配置GPFDAT,设置LED灯亮与灭
四、主要步骤:
(1)通过设置GPFCON将GPF4-7设置为输出
(2)设置GPFDAT,可以将led灯亮或灭,GPFDAT的相应位置1灯灭,置0灯亮
由此可以控制led灯的亮灭。
五、详细的源代码:
NAND flash启动(start.S)(注意是大写的S)
1、关狗
2、设置栈
以下是start.S的代码:
.text.global _start_start:#define WATCHDOG 0x53000000ldr r0, =WATCHDOG //关看门狗mov r1, #0str r1, [r0]ldr sp, =1024*4 //设置堆栈bl main //跳转进入main函数loop:b loop
led.c :(s3c2410.h 文件可以由keil下获取)
#include "s3c2410.h"void delay(long long max) //延迟函数{int i, j;for(i = 0; i < max; i++)for(j = 0; j < max; j ++);}int main(void){int i;GPFCON = GPFCON & (~(0xff << 8)) | (0x55 << 8); //设置GPF4-7为输出GPFDAT &= ~(0xf << 4); //将4个LED灯开启while(1){for(i = 0; i < 5; i++){GPFDAT = GPFDAT | (0xf << i); //利用循环设置流水灯delay(500);}GPFDAT &= ~(0xf << 4); //4个LED灯开启}return 0;}Makefile:
led.bin: start.S led.carm-none-linux-gnueabi-gcc -c start.S -o start.oarm-none-linux-gnueabi-gcc -c led.c -o led.oarm-none-linux-gnueabi-ld -Ttext 0x30008000 start.o led.o -o ledarm-none-linux-gnueabi-objcopy -O binary -S led led.binclean:rm -f *.o led.bin
主要步骤:
1、$make
2、$cp led.bin /tftpboot
以下在secureCRT上操作:
3、tftp 30008000 led.bin
4、go 30008000
- ARM裸机——FS2410 流水灯
- ARM裸机——FS2410看门狗
- ARM裸机——FS2410操作ADC
- ARM裸机——FS2410定时器操作蜂鸣器
- ARM裸机——FS2410串口通信(UART)
- 【ARM】led·fs2410流水灯
- ARM裸机——FS2410按键控制LED灯(查询方式)
- 字符设备驱动之流水灯——FS2410
- ARM裸机——FS2410按键控制LED(中断方式)
- Exynos4412 裸机开发—— 流水灯
- Exynos4412 裸机开发—— 流水灯
- ARM裸机程序开发之led流水灯程序
- TQ210裸机编程(1)——LED流水灯
- MINI2440裸机流水灯
- 【ARM】串口通信·FS2410·裸机UART
- 裸机程序-led流水灯
- arm处理器裸机开发实战学习笔记1------流水灯实验错误纠正
- 用Keil-MDK开发TQ2440裸机程序入门教程——LED流水灯实现
- C#中的委托和事件(续)
- 《复杂网络理论及应用》
- jQuery获取Select选择的Text和 Value(转)(
- 黑马程序员-------UDP与TCP的区别
- DataGridView常用属性
- ARM裸机——FS2410 流水灯
- Oracle 的 Sql*Plus 常用命令介绍
- Jquery主要控件的取值、赋值,包括textbox,button,lable,radio,checkbox,selected
- 黑马程序员-------String 和StringBuffer
- AC自动机
- (续)linux程序设计之c基础教程——管道
- C#之窗体的关闭和程序的退出...
- ubuntu 安装ncurses
- 1002CDOJ(解救小Q)