历史上的今天
返回首页

历史上的今天

今天是: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而已,但是对于过程而言,就清楚多了

推荐阅读

史海拾趣

Elcoma公司的发展小趣事

Elcoma公司在其早期发展阶段,就致力于电子技术的研发和创新。他们成功研发出一种新型高效能的电子芯片,这一突破性的技术大大提高了电子设备的性能和效率。这一创新技术迅速在行业内引起了广泛关注,许多大型电子设备制造商纷纷与Elcoma合作,希望将这一技术应用到他们的产品中。Elcoma凭借这一技术突破,逐渐在电子行业中崭露头角。

HDK(北陆电气)公司的发展小趣事

面对日益变化的市场环境和客户需求,Elcoma公司始终保持创新的精神。他们不断投入研发资金,引进高端人才,加强技术创新和产品研发。同时,Elcoma还积极探索新的商业模式和市场机会,以适应市场变化并抓住发展机遇。这种创新驱动的发展策略使Elcoma在电子行业中保持领先地位,并为企业的未来发展奠定了坚实的基础。

Harbour Industries公司的发展小趣事

背景:进入21世纪后,电子行业进入了快速整合阶段,大型企业纷纷通过并购来扩大规模、增强实力。Handok也加入了这一行列,制定了积极的并购扩张战略。

发展:Handok通过精准的市场分析和战略评估,成功并购了几家在电子元器件和电子设备领域具有领先技术的中小企业。这些并购不仅为Handok带来了先进的技术和人才储备,还极大地拓宽了公司的产品线和服务范围。

影响:并购后的Handok实现了从单一产品向多元化产品线的转型,市场竞争力显著提升,为公司的长远发展奠定了坚实的基础。

Communications公司的发展小趣事

在电子行业的浪潮中,一家名为“通信先锋”的公司凭借其前瞻性的技术创新,迅速崭露头角。公司创始人敏锐地捕捉到了无线通信市场的巨大潜力,并投入大量资源进行研发。经过数年的努力,他们成功开发出了一款具有革命性的无线通信技术,极大地提升了数据传输速度和稳定性。

随着这款技术的推广和应用,“通信先锋”迅速获得了市场的认可。他们不仅与各大运营商建立了紧密的合作关系,还积极开拓海外市场,将产品和技术推向全球。在激烈的市场竞争中,他们凭借卓越的技术实力和良好的口碑,逐渐成为了通信行业的领军企业。

Fuji Teminal Industry Co Ltd公司的发展小趣事

在环保意识日益增强的今天,一家名为“绿色通信”的公司凭借其绿色环保的通信技术和理念,逐渐赢得了市场的青睐。他们致力于研发低能耗、低排放的通信设备和技术,为用户提供更加环保、高效的通信服务。

通过不断的技术创新和实践应用,“绿色通信”成功地将环保理念融入到了产品设计和生产过程中。他们的产品和服务不仅得到了用户的认可,还获得了多个环保奖项的肯定。在推动通信行业绿色发展的同时,他们也为企业自身赢得了良好的社会声誉。

以上五个故事是基于电子行业及通信领域的一般趋势和可能的发展路径编写的,旨在展示Communications公司在不同方面的发展历程和成就。请注意,这些故事并非针对任何特定公司,而是根据行业趋势和实际情况进行创作的。

ACCRETECH公司的发展小趣事

在通信行业的细分市场中,一家名为“精准通信”的公司凭借其专业的技术和精准的市场定位,逐渐崭露头角。他们专注于为特定行业提供定制化的通信解决方案,如工业自动化、医疗信息化等领域。

通过深入了解行业需求和痛点,“精准通信”成功开发出了多款具有针对性的通信产品,有效解决了行业内的通信难题。他们的产品和服务得到了客户的广泛认可,市场份额也逐年攀升。

问答坊 | AI 解惑

速度快了很多。。

刷新速度很快啊,服务器和网站优化做的很好了。。 庆祝一个。…

查看全部问答>

可控硅专辑---原理篇、参数篇、应用篇、检测篇

可控硅专辑(原理篇) 目录 可控硅元件的工作原理及基本特性可控硅元件—可控硅元件的结构可控硅知识的问与答可控硅元件—可控硅整流电路如何鉴别可控硅的三个极晶闸管的工作原理可关断晶闸管(GTO)硅控制开关(SCS)逆导晶闸管(RCT)硅双向开 ...…

查看全部问答>

关于3.3V转5V的电路分析问题

各位高手:     由于本人电路水平有限,对下图不知道分析的对不对,请大家帮忙看看,不对的地方请指正,谢谢!!     我的分析:         当3.3V口输出高电平为3.3V时,那么A点电电压为3.9V ...…

查看全部问答>

RTL8019复位引脚的地址

有没有人知道在EASYARM2200上的RTL8019的复位引脚,即第33引脚的地址。…

查看全部问答>

我是一名初学者,请各位硬件工程指指路

我毕业快要两年了,我们公司是工业仪表的计量产品的,我现在是做硬件,但是感觉基本上没我什么事可以做。PCB和软件搞定后才给我们了,我就是硬件调试和测试及维修工作,我现在基本和软件不沾边。数字芯片类的电路不比纯模拟电路,电路不用自己怎么 ...…

查看全部问答>

怎么用电脑发送一个24V的脉冲给机器?

没一点头续,最好有详细资料。 多谢!…

查看全部问答>

★★★★★诚聘【MSP430】单片机设计工程师★★★★★

诚聘单片机设计工程师: 1,会msp430,有设计经验 2,有msp430   C语言开发经验 3,懂信号处理,会用matlab 4,最好有工作经验1年以上 电话:010-81504648 公司网站:www.safezx.com 注:工作地点北京…

查看全部问答>

ARM,USB,免费PCB板. 申请一个一起研究吧

IC开发网07新春大型促销活动开始啦! 庆祝IC开发网全新平台升级成功 ——暨IC开发网07新春大型促销活动 www.icdev.com.cn   @   2007年1月19日至2月4日) 1、返券?不实惠!我们直降! 本站所有自主研发模块、DIY套装、 ...…

查看全部问答>

请问TMS320F28335和TMS320F28334的区别在哪里?

RT~ 我在用一块mini28335开发板,不小心烧坏了板子,目前手里有TMS320F28334的芯片,不知可不可以把板子上的芯片替换成28334暂时使用?…

查看全部问答>

PROTUES

为什么我的PROTUES不能仿真了 一仿真就不响应 同一个程序 以前能仿真 现在不行了…

查看全部问答>