连接开发板和PC,然后打开S3C开发板的电源开关,成功启动后,执行build.sh脚本文件编译和安装LED驱动。build脚本文件会自动将驱动的.ko文件上传到S3C开发板并安装。

LED驱动会建立一个/dev/s3c5410_leds设备文件,该Linux驱动可以控制4个LED。通过向/dev/s3c6410_leds发送长度为1到4的字符串可以控制这4个LED的开关。也可以执行test_leds.sh脚本文件测试LED。

创建LED驱动的设备文件:1、使用cdev_init函数初始化cdev;2、指定设备号:Linux设备文件的设备号分为主设备号和次设备号,用1个int类型表示,其中前12为表示主设备号,后20位表示次设备号。设备号的指定由直接在代码中指定和动态分配两种方法。3、使用cdev_add函数将字符设备添加到内核中的字符设备数组中;4、使用class_create宏创建struct class;使用device_create函数创建设备文件。

卸载LED驱动的设备文件:依次调用device_destory、class_destory和unregister_chrdev_region方法。

在驱动中可以有两种方法控制LED,通过字符串和通过I/O命令控制。

由此看出一个完整的Linux驱动程序是由内部处理和硬件交互两部分组成的。其中内部处理主要是指Linux驱动的装载、卸载、与设备文件相关的动作处理以及业务逻辑等。与硬件交互主要是指通过iowrite32、ioread32等函数与硬件中的寄存器进行数据交互。如果在不同Linux内核版本之间的移植,主要是移植第一部分。

原文:http://www.cnblogs.com/ww3344/p/5559016.html

led linux定时闪烁心跳,Linux驱动——LED闪烁相关推荐

  1. linux 定时执行搅拌,Linux上定时shell脚本

    本文主要介绍在Linux系统上部署定时器,定时执行shell脚本,通过脚本执行sql文件 sql文件 -- 创建表 create table if not exists iot_test.iot_ta ...

  2. linux定时播放音乐,linux下自动化任务的例子——定时播放音乐

    cron是linux/UNIX/Mac OS等系统下的自动化程序,这里仅举一个实现定时广播的例子. linux下自动化任务的例子 在linux系统中实现作业的自动化是非常便利的. 比较常用的是Cron ...

  3. linux控制终端关机命令,linux定时关机命令?linux立即关机命令?终端切换界面?windows定时关机和linux定时关机的方法(shut...

    你是否正在寻找关于linux定时关机命令的内容?让我把最完整的东西奉献给你: windows定时关机和linux定时关机的方法(shutdown命令) 作者:佚名 字体:[ ] 来源:互联网 时间:0 ...

  4. linux定时刷新窗口,Linux的屏幕刷新率问题 窗口调整问题

    一些linux用户(常见的是nvidia显卡用户)在配置完X服务器后,已经可以进入xwin桌面,只是屏幕是歪的,怎么办?当然,用户可以利用显示器本身自带的调节按钮将它校正过来,但这样一来,你回到win ...

  5. linux 定时切割日志,Linux 定时切割日志任务

    方法一:vi  /etc/crontab 方法二:crontab -e 系统定时任务配置文件: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin M ...

  6. linux定时创建文件,linux下如何创建定时任务

    文/PM回忆录 本篇文章不详细讲述cron服务的那种配置文件,只是应用层面的讲解,只求初步的掌握. 说到定时任务,不能不介绍下cron: 一.cron定时任务是什么 在LINUX中,周期执行的任务一般 ...

  7. linux 定时执行kettle6,linux下使用crond定时执行kettle的job

    由于第一次碰linux,对其不是很了解,导致这个问题困扰了我近一个月的时间,现在终于解决了,分享给大家. 首先,安装jre,配置java环境变量(一)下载jre-6u23-linux-x64.bin ...

  8. linux定时scp脚本,linux expect 实现定时scp的任务

    一,什么是expect? expect 是一种脚本语言, 在做系统管理时,我们很多时候需要输入密码,例如:连接 ssh,连接ftp, 那么如何能做到不输入密码吗? 我们需要有一个工具,能代替我们实现与 ...

  9. 51单片机led点阵C语言,51单片机驱动LED点阵扫描显示C语言程序

    #ifndef__Matrix_H__ #define__Matrix_H__ #ifdef__cplusplus extern"C" { #endif #define SET  ...

最新文章

  1. sql删除语句_Part 3 | SQL学习:删除行
  2. MySQL--数据库基础
  3. 漫画:Bitmap算法 整合版
  4. sql跟踪 oracle,oracle SQL语句跟踪详解
  5. complete_code_Chapter1
  6. 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之22---BDS的分发流程...
  7. Nhibernate(1)续
  8. 解锁新招:冷冻手机窃密数据
  9. P2P 终结者 IP雷达
  10. java elasticsearch 5.4.0 x-pack client
  11. PSpice瞬态分析、交流分析和灵敏度分析
  12. 华为业绩发布会:5G产品和供货没有受到“实体清单”影响
  13. 华为惠普入局挑战思科 中国企业网络市场混战
  14. 美国服务器怎么怎么修改密码,RAKsmart美国服务器更改密码的简单方法
  15. linux解冻用户的密码,linux – 透明地冻结和解冻进程?
  16. h5调起app的方法;app调起vue中的某个方法
  17. openstack框架搭建云计算平台和各组件运维内容包括mysql、keyston、Glance、Nova、Neutron、Dashboard、Heat、Trove、Ceilometer运维
  18. 海康iv4200支持多少_追赶极速:海康威视C2000 Pro 2T固态硬盘到手简评
  19. pycharm IDE中英文切换
  20. #10049. 「一本通 2.3 例 1」Phone List

热门文章

  1. 【BZOJ4521】手机号码,数位dp
  2. 【BZOJ4542】大数, 莫队
  3. 手机端html使用地理定位,html5之使用地理定位
  4. java 形参 实参_java 形参是父类实参是子类的问题
  5. 【英语学习】【WOTD】bardolater 释义/词源/示例
  6. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (12) - 执行核
  7. Intel® Nehalem/Westmere架构/微架构/流水线 (1) - 特性概述
  8. Java写一个简单的扫雷游戏
  9. 安卓一步一步搭建组件化
  10. mysql语句二级查询_mysql_2 基本查询语句