迅为4412开发板Linux驱动教程——总线_设备_驱动注冊流程具体解释
视频下载地址:
驱动注冊:http://pan.baidu.com/s/1i34HcDB
设备注冊:http://pan.baidu.com/s/1kTlGkcR
总线_设备_驱动注冊流程具体解释
• 注冊流程图
• 设备一般都须要先注冊,才干注冊驱动
– 如今越来越多的热拔插设备,反过来了。先注冊驱动。设备来了再注冊
设备
• 本节使用的命令
– 查看总线的命令#ls /sys/bus/
– 查看设备号的命令#cat /proc/devices
• 设备都有主设备号和次设备号。否则255个设备号不够用
– 查看杂项设备号的命令#cat /proc/misc
设备注冊
关于注冊设备的一点说明
• 早先的Linux会使用单独的文件注冊设备。如今大多是使用引入的虚拟
平台,使用虚拟平台来注冊设备会easy非常多
• 假设大家在网上看到大段的注冊设备的代码,可简单了解一下,知道
有这么个东西就成,不用去深究。不要去学习“屠龙技”,如今基本都
是直接在平台文件里注冊设备
注冊设备
注冊设备使用结构体platform_device,该结构体在头文件“vim
include/linux/platform_device.h”中。头文件里也有注冊设备和卸载设
备的函数。了解就可以。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
• 操作过程
– 注冊设备。将设备结构体放到平台文件里,会自己主动注冊设备,不用去调
用注冊设备的函数。
– 在Kconfig文件里加入编译HELLO设备的宏定义(前面教程中已经加入)
– 配置menuconfig中的HELLO宏定义。生成新的.config文件
– 生成新的zImage
• 注冊完之后在虚拟平台总线下能够查到注冊的设备
– ls /sys/devices/platform/
驱动注冊
• 驱动注冊
– 非常重要,牢牢掌握,以后写不论什么Linux驱动都会用到
• 实验
– 在mini_linux_module的基础上加入驱动注冊部分
驱动注冊——头文件
• 驱动注冊使用结构体platform_driver,该结构体在头文件“vim
include/linux/platform_device.h”中
• 驱动注冊platform_driver_register,驱动卸载函数
platform_driver_unregister也在这个头文件里
– 这两个函数的參数都仅仅有结构体platform_driver
驱动注冊——注冊结构体
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
驱动注冊——注冊结构体
• 驱动常见的几种状态。初始化。移除。休眠,复位
– 就像PC一样。有的驱动休眠之后无法使用。有的能够使用。有的系统唤
醒之后,驱动须要又一次启动才干正常工作。也有直接就能够使用等等
• probe函数
– platform_match函数匹配之后,驱动调用的初始化函数
• remove函数
– 移除驱动函数
• suspend函数
– 悬挂(休眠)驱动函数
• resume函数
– 休眠后恢复驱动
• device_driver数据结构的两个參数
– name和注冊的设备name要一致
– owner一般赋值THIS_MODULE
实验
• 在mini_linux_module的基础上加入驱动注冊部分
• 编译。在开发板上载入和卸载驱动
迅为4412开发板Linux驱动教程——总线_设备_驱动注冊流程具体解释的更多相关文章
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...
- 迅为4412开发板Linux驱动教程——编写简单应用调用驱动
Linux驱动教程:http://pan.baidu.com/s/1c0hljUS 编写简单应用调用驱动--头文件 • 打印头文件 – include <stdio.h>调用打印函数pri ...
- 迅为4412开发板Linux驱动教程/硬件知识及原理图的使用
视频教程下载地址:http://pan.baidu.com/s/1pJwxUfL 嵌入式研发流程介绍 • PCB研发流程介绍 – 方案,原理图(网表) – layoutproject师(gerber文 ...
- 迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程
1 烧写: 烧写和4412默认镜像的烧写类似,使用fastboot. 先更新uboot,用4412默认uboot更新支持设备树的uboot 用支持设备树的uboot烧写. 进入支持设备树的uboo ...
- 迅为4412开发板Linux驱动教程之GPIO的初始化
视频下载地址:http://pan.baidu.com/s/1c06oiti GPIO的初始化 • 在内核源码目录下使用命令“ls drivers/gpio/*.o”,可以看到“gpio-exynos ...
- 迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法
迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法 详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com/ 用户在开发板上运 ...
- 从需求的角度去理解Linux系列:总线、设备和驱动
笔者成为博客专家后整理以前原创的嵌入式Linux系列博文,现推出以让更多的读者受益. <从需求的角度去理解linux系列:总线.设备和驱动>是一篇有关如何学习嵌入式Linux系统的方法论文 ...
- [转帖]迅为4412开发板最小linux系统的存储空间修改
本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连 ...
- 【学习/研发】嵌入式Linux/Android开发有它就够了——迅为4412开发板
网站:http://www.topeetboard.com 光盘资料+网盘资料+配套视频+售后支持,助您加速学习研发的进程 产品介绍 iTOP-Exynos4412开发板采用 Exynos4412的主 ...
随机推荐
- JQuery 关于位置的计算(重要)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Unity3D面试题总结
一.什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作. 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去. 主要步骤有: 本地坐标->视图坐标-> ...
- ASP.NET MVC:看 MVC 源码,学习:如何将 Area 中的 Controller 放到独立的程序集?
背景 本文假设您已经熟悉了 ASP.NET MVC 的常规开发方式.执行模型和关键扩展点,这里主要说一下如何使用 ASP.NET MVC 的源代码解决一些问题. 如何将 Area 中的 Control ...
- 3 cocos2dx 3.0 源码分析-mainLoop详细
简述: 我靠上面图是不是太大了, 有点看不清了. 总结一下过程: 之前说过的appController 之后经过了若干初始化, 最后调用了displayLinker 的定时调用, 这里调用了函数 ...
- Javascript前端思维导图
思维导图小tips: 思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具.思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出 ...
- TensorFlowIO操作(三)------图像操作
图像操作 图像基本概念 在图像数字化表示当中,分为黑白和彩色两种.在数字化表示图片的时候,有三个因素.分别是图片的长.图片的宽.图片的颜色通道数.那么黑白图片的颜色通道数为1,它只需要一个数字就可以表 ...
- js 获取url的get传值函数
function getvl(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s| ...
- java怎么删除List中的指定元素
ArrayList al = new ArrayList(); al.add("a"); al.add("b"); //al.add("b" ...
- 获取jQuery版本号
今天在一个页面需要知道jquery版本号,来决定使用什么样的方法,有以下方式可以获取到 $.fn.jquery $.prototype.jquery 这两种方式都可以获取到jquery的版本号
- asp与aspx有什么区别
asp与aspx哪个好? 最佳答案 你如果想知道哪个好,我想很多人第一个想法就是aspx好. 这很好理解,就像楼上的朋友说的,aspx是asp的升级版. 但是aspx相对于asp的升级可以说是从根本上 ...