历史上的今天
今天是:2025年01月22日(星期三)
2020年01月22日 | 【ARM】2410裸机系列-流水灯
2020-01-22 来源:eefocus
开发环境
1、硬件平台:FS2410(s3c2410)
2、主机:Ubuntu 12.04 LTS
LED原理图

LED的GPIO的配置
配置GPFCON寄存器,设置GPF4-7为输出
配置GPFDAT,设置LED灯亮与灭

主要步骤
通过设置GPFCON将GPF4-7设置为输出
设置GPFDAT,可以将led灯亮或灭,GPFDAT的相应位置1灯灭,置0灯亮
源代码
NAND flash启动
关狗
设置栈
//start.S
.text
.global _start
_start:
#define WATCHDOG 0x53000000
ldr r0, =WATCHDOG //关看门狗
mov r1, #0
str r1, [r0]
ldr sp, =1024*4 //设置堆栈
bl main //跳转进入main函数
loop:
b loop
//led.c (s3c2410.h 网上找,其中包含option.h,我找了一段时间,所以上传附件了)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #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
1 2 3 4 5 6 7 | led.bin: start.S led.c arm-linux-gcc -c start.S -o start.o arm-linux-gcc -c led.c -o led.o arm-linux-ld -Ttext 0x30008000 start.o led.o -o led arm-linux-objcopy -O binary -S led led.bin 6 clean: rm -f *.o led.bin |
步骤
①首先make

可以看见生成了led.bin文件
②下载到开发板
由于我用的bootloader是出厂自带的,而这个bootloader里面没有tftp,所以这里用古老的zmodem协议,但是在下载过程中报告失败,囧……
于是我换到windows下
OK,大功告成,流水灯很顺利
小结
好久没玩arm裸机了,这次只是在linux下测试下环境
可以看见,linux下的编程并没有比windows下多多少东西,也就一个Makefile而已,但是对于过程而言,就清楚多了
史海拾趣
|
可控硅专辑(原理篇) 目录 可控硅元件的工作原理及基本特性可控硅元件—可控硅元件的结构可控硅知识的问与答可控硅元件—可控硅整流电路如何鉴别可控硅的三个极晶闸管的工作原理可关断晶闸管(GTO)硅控制开关(SCS)逆导晶闸管(RCT)硅双向开 ...… 查看全部问答> |
|
各位高手: 由于本人电路水平有限,对下图不知道分析的对不对,请大家帮忙看看,不对的地方请指正,谢谢!! 我的分析: 当3.3V口输出高电平为3.3V时,那么A点电电压为3.9V ...… 查看全部问答> |
|
我毕业快要两年了,我们公司是工业仪表的计量产品的,我现在是做硬件,但是感觉基本上没我什么事可以做。PCB和软件搞定后才给我们了,我就是硬件调试和测试及维修工作,我现在基本和软件不沾边。数字芯片类的电路不比纯模拟电路,电路不用自己怎么 ...… 查看全部问答> |
|
诚聘单片机设计工程师: 1,会msp430,有设计经验 2,有msp430 C语言开发经验 3,懂信号处理,会用matlab 4,最好有工作经验1年以上 电话:010-81504648 公司网站:www.safezx.com 注:工作地点北京… 查看全部问答> |
|
IC开发网07新春大型促销活动开始啦! 庆祝IC开发网全新平台升级成功 ——暨IC开发网07新春大型促销活动 www.icdev.com.cn @ 2007年1月19日至2月4日) 1、返券?不实惠!我们直降! 本站所有自主研发模块、DIY套装、 ...… 查看全部问答> |
|
请问TMS320F28335和TMS320F28334的区别在哪里? RT~ 我在用一块mini28335开发板,不小心烧坏了板子,目前手里有TMS320F28334的芯片,不知可不可以把板子上的芯片替换成28334暂时使用?… 查看全部问答> |




