led linux定时闪烁心跳,Linux驱动——LED闪烁
连接开发板和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闪烁相关推荐
- linux 定时执行搅拌,Linux上定时shell脚本
本文主要介绍在Linux系统上部署定时器,定时执行shell脚本,通过脚本执行sql文件 sql文件 -- 创建表 create table if not exists iot_test.iot_ta ...
- linux定时播放音乐,linux下自动化任务的例子——定时播放音乐
cron是linux/UNIX/Mac OS等系统下的自动化程序,这里仅举一个实现定时广播的例子. linux下自动化任务的例子 在linux系统中实现作业的自动化是非常便利的. 比较常用的是Cron ...
- linux控制终端关机命令,linux定时关机命令?linux立即关机命令?终端切换界面?windows定时关机和linux定时关机的方法(shut...
你是否正在寻找关于linux定时关机命令的内容?让我把最完整的东西奉献给你: windows定时关机和linux定时关机的方法(shutdown命令) 作者:佚名 字体:[ ] 来源:互联网 时间:0 ...
- linux定时刷新窗口,Linux的屏幕刷新率问题 窗口调整问题
一些linux用户(常见的是nvidia显卡用户)在配置完X服务器后,已经可以进入xwin桌面,只是屏幕是歪的,怎么办?当然,用户可以利用显示器本身自带的调节按钮将它校正过来,但这样一来,你回到win ...
- linux 定时切割日志,Linux 定时切割日志任务
方法一:vi /etc/crontab 方法二:crontab -e 系统定时任务配置文件: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin M ...
- linux定时创建文件,linux下如何创建定时任务
文/PM回忆录 本篇文章不详细讲述cron服务的那种配置文件,只是应用层面的讲解,只求初步的掌握. 说到定时任务,不能不介绍下cron: 一.cron定时任务是什么 在LINUX中,周期执行的任务一般 ...
- linux 定时执行kettle6,linux下使用crond定时执行kettle的job
由于第一次碰linux,对其不是很了解,导致这个问题困扰了我近一个月的时间,现在终于解决了,分享给大家. 首先,安装jre,配置java环境变量(一)下载jre-6u23-linux-x64.bin ...
- linux定时scp脚本,linux expect 实现定时scp的任务
一,什么是expect? expect 是一种脚本语言, 在做系统管理时,我们很多时候需要输入密码,例如:连接 ssh,连接ftp, 那么如何能做到不输入密码吗? 我们需要有一个工具,能代替我们实现与 ...
- 51单片机led点阵C语言,51单片机驱动LED点阵扫描显示C语言程序
#ifndef__Matrix_H__ #define__Matrix_H__ #ifdef__cplusplus extern"C" { #endif #define SET ...
最新文章
- sql删除语句_Part 3 | SQL学习:删除行
- MySQL--数据库基础
- 漫画:Bitmap算法 整合版
- sql跟踪 oracle,oracle SQL语句跟踪详解
- complete_code_Chapter1
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之22---BDS的分发流程...
- Nhibernate(1)续
- 解锁新招:冷冻手机窃密数据
- P2P 终结者 IP雷达
- java elasticsearch 5.4.0 x-pack client
- PSpice瞬态分析、交流分析和灵敏度分析
- 华为业绩发布会:5G产品和供货没有受到“实体清单”影响
- 华为惠普入局挑战思科 中国企业网络市场混战
- 美国服务器怎么怎么修改密码,RAKsmart美国服务器更改密码的简单方法
- linux解冻用户的密码,linux – 透明地冻结和解冻进程?
- h5调起app的方法;app调起vue中的某个方法
- openstack框架搭建云计算平台和各组件运维内容包括mysql、keyston、Glance、Nova、Neutron、Dashboard、Heat、Trove、Ceilometer运维
- 海康iv4200支持多少_追赶极速:海康威视C2000 Pro 2T固态硬盘到手简评
- pycharm IDE中英文切换
- #10049. 「一本通 2.3 例 1」Phone List
热门文章
- 【BZOJ4521】手机号码,数位dp
- 【BZOJ4542】大数, 莫队
- 手机端html使用地理定位,html5之使用地理定位
- java 形参 实参_java 形参是父类实参是子类的问题
- 【英语学习】【WOTD】bardolater 释义/词源/示例
- Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (12) - 执行核
- Intel® Nehalem/Westmere架构/微架构/流水线 (1) - 特性概述
- Java写一个简单的扫雷游戏
- 安卓一步一步搭建组件化
- mysql语句二级查询_mysql_2 基本查询语句