之前都是做单片机开发,以为转到linux来写驱动程序会轻轻松松,当去真正写的时候才发现不是那么容易,就感觉东西太杂太多。所以还是注册了一个博客来记一下,方便查询。

国嵌给的OK6410内核自带LED驱动,在内核目录的drivers/char/s3c6410_leds.c,他是直接操作的物理地址,而新的教学视频是通过虚拟地址映射来实现的,但是新的教学视频里给的led.c直接貌似不是6410的驱动,好吧那只能在此基础上改了。

里面只有led.c 没有led.h,所以得注释掉,然后自己宏定义

然后就是修改LEDCON和LEDDAT的值,之前是这样的

我们查询一下s3c6410手册,发现这两个地址是GPK的引脚

所以要将其改为6410硬件连接的GPM引脚

然后就是led初始化的地方之前因为不知道他接的是哪几个引脚,之前是这样的

而我们用的是GPM0~3,要将其设置为输出就要按照下面的来配置

每4位控制一个引脚,0~3都配置为0001即为输出

换算为16进制为0x4369,所以将open函数里改为换算出的值

好的,到这里这个驱动貌似可以用了耶,写个测试程序试试

这只是点亮了第一个LED的测试程序,但是测试程序编译后好不能直接放板上运行,显然还有很多东西要做,首先写驱动程序的Makefile,如下

然后make一下得到led_sun.ko放到板里,执行

接下来就是需要建立相应的字符设备文件用以下命令看一下刚安装的模块的设备号

好的,我们的led驱动的设备号为252,接下来该建立设备文件了

252为主设备号而次设备号因为我们相同的设备只有一个,所以随便写一个非负值且小于255的就行,这里为0,好的到这里我们的工作就快完成了,编译一下测试程序

将测试程序拷贝到板上测试,由于我的板是通过tftp挂载宿主机的nfs文件系统,只需将led_test拷到/nfsfile/下面,然后运行

咦!输出success了,再看看板上的灯,居然第一个灯奇迹般的点亮了,呵呵。有点意思!

ok6410linux usb驱动,linux OK6410 LED驱动相关推荐

  1. linux内核led驱动开发,从Linux内核LED驱动来理解字符设备驱动开发流程

    目录 博客说明 开发环境 1. Linux字符设备驱动的组成 1.1 字符设备驱动模块加载与卸载函数 1.2 字符设备驱动的file_operations 结构体中的成员函数 2. 字符设备驱动--设 ...

  2. 驱动框架5——基于驱动框架写led驱动

    以下内容源于朱有鹏<物联网大讲堂>课程的学习整理,如有侵权,请告知删除. 五.基于驱动框架写led驱动1 1.分析 (1)参考哪里?  drivers/leds/leds-s3c24xx. ...

  3. linux的led驱动的实验总结,linux设备驱动归纳总结(五):4.写个简单的LED驱动

    linux设备驱动归纳总结(五):4.写个简单的LED驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  4. linux驱动之一、LED驱动(驱动代码小结附:github代码链接)

    文章目录 一.相关知识点(涉及接口.结构体.调用关系等) 1.1 裸机开发步骤与驱动开发过程对比 1.1.1 裸机开发步骤 1.1.2 Linux系统下LED驱动开发步骤 1.2 预备知识:写驱动时涉 ...

  5. 驱动学习之LED驱动框架

    一:什么是驱动框架   (1)内核中驱动部分维护者针对每个种类的驱动设计一套成熟的.标准的.典型的驱动实现,然后把不同厂家的同类硬件驱动中相同的部分抽出来自己实现好,再把不同部分留出接口给具体的驱动开 ...

  6. tl-wn821n无线网卡驱动 linux,tl-wn821n win10驱动

    TL-WN821N是TP-link推出的一款无线USB网卡,采用11N无线技术,无线速率最高达到300Mbps,适用于台式PC机等设备进行wifi无线连接,不过现在很多台式机都没有安装光驱了,导致无法 ...

  7. linux3.0字符设备驱动,linux字符设备驱动的 ioctl 幻数

    在Linux字符设备驱动入门(一)中,我们实现了字符设备的简单读写字符功能,接下来我们要在这个基础上加入ioctl功能.首先,我们先来看看3.0内核下../include/linux/fs.h中fil ...

  8. linux nand 驱动,Linux NAND FLASH驱动分析(一)

    最近一直在忙着工作上的事情,好久都没有更新博客了,发现最近思想是比较混乱的.学任何东西都坚持不下去,既然选择驱动开发这条路就要坚持下去. 之前分析了Linux块设备驱动,是以内存块来模拟的虚拟块设备. ...

  9. linux iic 设备驱动,linux IIC设备驱动.doc

    linux IIC设备驱动 //---------------IIC的linux驱动------------------#include #include #include #include #inc ...

  10. 深入浅出linux驱动,Linux Kernel 字符驱动的深入浅出讲解

    注:在写Linux 内核驱动,并将这一过程发生的技术,和菜鸟们可能会碰的问题进行一次解释,希望对后来都有用,阅读此文需要一定Linux基础,或者不要浪费时间,好品德看完全文要顶一下,看完此文你应该肻定 ...

最新文章

  1. 4GL之Non-SCROLLING CURSOR
  2. Exchange 2010与Exchange Online混合部署PART 5:配置边缘
  3. The NVIDIA driver on your system is too old
  4. docker-compose安装部署ELK
  5. 分布式文件系统—HDFS—IDEA的Hadoop可视化插件BigDataTools
  6. linux运维学了又忘记,Linux运维工程师经常忘记的10个实用Linux命令
  7. 谷歌将推出新版Pixel 4a 5G:搭载骁龙765G处理器 售价下降至3200元
  8. linux 超大文件编辑,Linux 修改打开最大文件数
  9. 医药/医疗/互联网医疗服务平台/问诊/挂号/开药/处方/医生/医院/问诊订单管理/移动端问诊医疗系统/医生端处方开药系统/web端医药服务平台管理/axure原型/rp源文件/健康咨询/视频问诊/统计
  10. 测试oracle中set arraysize xx对性能的影响
  11. 泊松分布在计算机中的应用,泊松分布在管理中应用.ppt
  12. 将图片转为CAD的方法
  13. 基于Spark的公安大数据实时运维技术实践
  14. Linux的文件夹是中文怎么用cd进入目录
  15. 基于Vue框架开发的页面加载二维地图以及交互
  16. 喜欢你,三个星期了!
  17. 从maven私服(nexus)拉取jar文件,解析项目pom依赖信息
  18. lg-1 x 怎么算_外币专门借款的汇兑差额怎么处理
  19. 如何将List集合存入数据库,解决方案
  20. WIn 10 企业版激活

热门文章

  1. win10计算机磁盘图标,主编教你win10系统无法正常显示硬盘图标的方法
  2. 电脑蓝屏的几种状况处理
  3. 组建家庭计算机网络过程是怎么样的,如何组建完善的家庭无线网络操作步骤
  4. 自主开发新媒体,湖南卫视封杀网络转播权
  5. 关于PCDet 训练中的 road plane问题
  6. Tasker 一个配置实现微信朗读,微信消息播报+基础版的防撤回
  7. python字符串、数字
  8. Anaconda及TensorFlow安装
  9. 为Windows 10 UWP 应用设置代理
  10. 围棋大师阿里,产品经理腾讯