【ARM】led·fs2410流水灯

基于Arm-Linux和TCP/IP的远程控制嵌入式系统设计 一 概要设计 1.1系统功能说明 基于博创up-techs3c2410实验箱的硬件平台,设计基于TCP/IP协议的arm-linux嵌入式系统服务器端。在局域网内的PC客户端(或另一台基于博创up-techs3c2410实验箱的arm-linux嵌入式系统客户端)设计TCP/IP协议的客户端程序,远程控制同一局域网内的arm-linux嵌入式系统服务器端的LED等,分别实现LED灯的流水灯(轮询点... 阅读详情

开发环境


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启动

    1. 关狗

    2. 设置栈

    //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,我找了一段时间,所以上传附件了)

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


本文出自 “成鹏致远” 博客,请务必保留此出处http://infohacker.blog.51cto.com/6751239/1220886

ARM7流水灯+定时器+中断 ARM7的控制芯片,LPC2138 通过控制定时器的时间来控制流水灯的移动速度 Proteus仿真文件+C源代码+值得你的5分 立即下载

相关推荐

ARM流水灯程序

ARM流水灯程序

【ARM】2410裸机系列-流水灯

开发环境   1、硬件平台:FS2410(s3c2410) 2、主机:Ubuntu 12.04 LTS     LED原理图     LED的GPIO的配置   配置GPFCON寄存器,设置GPF4-7为输出 配置GPFDAT,设置LED灯亮与灭         主要步骤   通过设置GPFCON...

weixin_34107955的博客 308

2410裸机程序

2410裸机程序,有IC、LCD、LED、UART、等相关的裸跑程序

S3c2410裸板程序入门---流水灯

初学arm,写了几个练习小程序,记录在此,道行低微,贻笑大方 包括: 流水灯, 单按键, pwm驱动蜂鸣器, 串口与PC通信 开发板s3c2410, 开发环境realview+h-jtag 废话少说,开始第一个程序,流水灯对于裸板程序开发的学习,就像hello world对于任何一门高级语言,新手第一课,呵呵。几个文件内容如下: led.c 1 #include...

dianmotang8246的博客 849

MDK_ARM裸奔笔记之LED流水灯_源代码

作为ARM学习的第一个程序,我采用汇编,汇编C流言混合,纯C分别写了三个程序 说明http://hi.baidu.com/%C7%E0%C1%FA%B0%D7%D4%C6/blog/item/0fe571037de5448be850cd67.html

ARM汇编实现流水灯,STM32F103,COTEX-M3系列指令

通过此汇编代码,不仅仅理解学会如何使用ARM汇编进行实际操作,而且可以很容易的了解STM32F103系列芯片的时钟构造,学会灵活配置系统时钟,AHB总线时钟,APB1,APB2时钟,并且可以完整的学习GPIO的配置原理和工作原理,可以说汇编语言完整的展现了c/c++代码现实的原理。通过本例汇编实验,我们可以对c/c++和嵌入式底层硬件有一个很深的了解。尤其是结合《编译原理》,《计算机组成原理》,《ARM体系结构与编程》这些书,读者可以更加深入了解MCU工作原理,C/C++是如何在MCU中工作的?

ARM9/ARM11裸机开发笔记1之MDK开发环境和点亮LED

很多从单片机或者从CM3转到ARM9/ARM11的时候,一开始就讲得是Uboot,Linux,然后就是什么QT等高级玩意,不像单片机有什么裸机开发的概念,的确,这些高级ARM本来就是用来跑系统,谁用来它做裸机开发呢。但是如果我们要更好了解ARM的工作原理,,尤其是想进阶嵌入式中最难的一层,驱动层的话,甚至想把其它的非Linux系统移植到ARM9/ARM11上。我们就无法避免要跟ARM跟底层的寄存器

mzwhhwj的专栏 1820

别再手动上传了!用宝塔面板的‘Let‘s Encrypt’免费SSL证书,3分钟自动续期

本文详细介绍了如何利用宝塔面板的‘Let‘s Encrypt’功能实现SSL证书的自动申请和续期,3分钟完成配置即可永久免费使用。通过对比不同SSL证书方案,突出Let's Encrypt的免费、自动续期和高安全性优势,特别适合个人博客和中小企业官网。

weixin_30415113的博客 150

ARM入门(实现LED流水灯)超简单

ARM入门(实现LED流水灯)

fgdfklji的博客 2890

高通Camera HAL3调试实战:如何用camxoverridesettings.txt高效抓取日志与dump图像数据

本文深入探讨了高通Camera HAL3调试中camxoverridesettings.txt文件的高效应用,重点介绍了如何通过该文件精准控制日志输出级别与dump图像数据,帮助开发者快速定位移动影像系统中的问题。文章详细解析了日志分级配置、图像数据捕获技巧及典型问题排查流程,为高通Camera HAL3项目开发提供了实用技术点。

weixin_30315905的博客 861

python爬取《你好, 李焕英》豆瓣评论数据

# 导入工具包 import requests from bs4 import BeautifulSoup import time import pandas as pd import numpy as np # 请求头 headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36'} # =

python技巧分享 3457

ARM开发板LED跑马灯

#define GPX2CON (*(volatile unsigned int *)0X11000C40) //BIT31---BIT28=== 1 #define GPX2DAT (*(volatile unsigned int *)0X11000C44) //BIT7 ==== 1, 0 //瀹忓畾涔? LED3 #define LED3CON (*(volatile unsi...

NBDR_YL的博客 1222

c语言串口编程详解

串口: 一种异步通信接口,通常用于低速数据传输。RS-232: 最常见的串口标准,定义了电气特性、连接器和信号线。UART: 通用异步收发传输器,是实现串口通信的硬件模块。通过以上内容,你应能够理解并实现C语言在Windows和Linux平台上的串口编程。希望这本手册能帮助你在实际项目中顺利进行串口通信开发。如果有任何疑问或需要进一步的帮助,请随时提问。

jkzyx123的博客 2224

ARM9服务器配制,led驱动

<br />写一些东西,当作笔记,以防以后忘记,把它记下来,<br />国庆到现在默默移植Linux内核半个多月,其中出了好多问题,自己根本解决不了,这郁闷了半个月,今天终于成功地跑起一个系统(内核不是自己做的,还是没弄好,唉。。。以后再回头弄吧),并实现了一个简单的LED驱动程序,<br /> <br />本次使用的是优龙的ARM9开发板:FS2410<br />第一步:配制tftp服务器,无论是虚拟机还是PC机上装了Linux,IP地址一定要设好,这以设192.168.40.191为例,<br />首先

shuishui 的linux 分享 566

零基础学习CANoe Panel(5)——改变变量的值,控件图像也改变,这是怎么回事?

Panel 中控件的图像随着值变化,是怎么回事?

蚂蚁小兵 2145

TPAMI 2024 | 基于外观的深度学习凝视估计:综述与基准测试

人类目光提供了关于人类焦点和意图的有价值信息,使其成为研究的关键领域。最近,深度学习彻底改变了基于外观的眼神估计。然而,由于眼神估计研究的独特特征,如2D眼神位置和3D眼神向量之间的不公平比较以及不同的预处理和后处理方法,缺乏开发基于深度学习的眼神估计算法的明确指导方针。在本文中,我们系统回顾了使用深度学习的眼神估计方法。首先,我们沿着典型的眼神估计流程调查现有的算法:深度特征提取、深度学习模型设计、个人校准和平台。

小白学视觉 341

WCTCHDOG实验(裸奔)

一、实验平台:开发板fs2410,采用三星s3c2410的CPU,无操作系统。 二、实现功能:使能看门狗,程序运行一段时间后,系统会自动复位,从头开始执行程序。 三、实验原理:        S3C2410的看门狗定时器用于当系统被噪声或系统错误等故障时返回控制器操作状态,它产生一个128个PCLK周期的复位信号。 四、实验现象:        开发板电源开关打开后,会听到“滴”的一声(

238

SIMULINK开发项目实例 1000 例专栏之第960例--基于电力系统稳定性的建模与仿真场景:-含分布式电源的配电网电压稳定性研究

间歇性与随机性:例如,太阳能依赖于日照强度,风能依赖于风速,这使得它们的输出功率具有不确定性。逆变器接口:大多数分布式电源通过逆变器接入电网,这对电网的动态响应特性产生了影响。位置分散:通常分布在用户侧或靠近负荷中心的位置。本文详细介绍了如何使用Simulink结合Simscape Electrical 构建一个用于研究含分布式电源配电网电压稳定性的模型,并提供了详细的仿真流程说明。

xiaoheshang_123的博客 153

ARM裸机——FS2410 流水灯

一、开发环境 1、硬件平台:FS2410(s3c2410) 2、主机:Ubuntu 10.10 二、LED的原理图: 三、有关LED的GPIO口的配置信息: 1、配置GPFCON寄存器,设置GPF4-7为输出   2、配置GPFDAT,设置LED灯亮与灭   四、主要步骤: (1)通过设置GPFCON将GPF4-7设置为输出 (2)设置GPF

技术随笔 1152

YOLOv13添加轻量化的EMA模块Faster_EMA,轻量又涨点!map50提升4.56个点,召回率提升9.66!

本文介绍了YOLOv13模型的优化移植方法,通过添加Faster_EMA模块和超参数调整,使模型性能显著提升。主要修改包括:1) 创建新的模型配置文件yolov13-Faster_EMA.yaml;2) 在tasks.py中添加新模块;3) 修改__init__.py和block.py文件,新增Partial_conv3和DropPath类。优化后模型mAP50提升4.56%,召回率提升9.66%,验证了改进方案的有效性。代码实现了局部卷积和随机深度等先进技术,为YOLO系列模型性能优化提供了新思路。

FJN110的博客 2605

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ARM裸机——FS2410定时器操作蜂鸣器

一、开发环境 硬件平台:FS2410 主机:Ubuntu 10.10 二、关于定时器的原理图: 三、PWM定时器寄存器的配置: (1)定时器的输入频率的设置:                                                                         (2)设置定时器启动灯

技术随笔 1312

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ARM裸机——FS2410看门狗

一、开发环境 (1)硬件平台:FS2410 (2)主机:Ubuntu 10.10 二、看门狗相关的配置信息: (1)看门狗输入时钟频率                                                                    t_watchdog  = 1/( PCLK / (Prescaler value + 1) / Divis

技术随笔 995

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

linux下led驱动程序,Linux下设备驱动程序的开发(led流水灯的驱动)

设备驱动程序的开发流程进行嵌入式Linux系统的开发,很大的工作量是为各种设备编写驱动程序。在ARM平台上开发嵌入式Linux的设备驱动程序与在其他平台上开发是一样的。总的来说,实现一个嵌入式Linux设备驱动的大致流程如下:(1)查看原理图,理解设备的工作原理(2)定义主设备号(3)在驱动程序中实现驱动的初始化。如果驱动程序采用模块的方式,则要实现模块初始化。(4)设计所要实现的文件操作,定义f...

weixin_30343429的博客 474

Linux流水灯驱动程序,Linux下设备驱动程序的开发led流水灯的驱动.doc

设备驱动程序的开发流程进行嵌入式Linux系统的开发,很大的工作量是为各种设备编写驱动程序。在ARM平台上开发嵌入式Linux的设备驱动程序与在其他平台上开发是一样的。总的来说,实现一个嵌入式Linux设备驱动的大致流程如下:(1)查看原理图,理解设备的工作原理(2)定义主设备号(3)在驱动程序中实现驱动的初始化。如果驱动程序采用模块的方式,则要实现模块初始化。(4)设计所要实现的文件操作,定义f...

weixin_33232907的博客 361
上一篇: 【教程】InstallShield使用完全教程
下一篇: 【驱动】网卡驱动·linux内核网络分层结构
成鹏致远
博客等级 码龄14年 50粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值