驱动
文章平均质量分 80
ibbo
Android Developer !
展开
-
2-驱动_加载函数_卸载函数_注册设备号_led驱动示例代码
字符设备框架: 字符设备类包含了同种的字符设备。/sys/class 每种设备都有struct cdev来描述的: struct file_operations *ops = &hello_op cdev_init(&cdev,&hello_op) dev_t *dev = &devno cdev_add(&cdev,devno,1)原创 2017-02-03 15:17:13 · 395 阅读 · 0 评论 -
1-驱动
驱动: 必做实验一、二、四、五、十一 十天: 模块、字符设备框架以及接口、led驱动 platform总线 原子操作 自旋锁 信号量 IO模型 外设驱动:按键驱动、蜂鸣器驱动、ADC、I2C、输入子系统学习驱动时需要的基础: 1、驱动接口的理解 %50 2、操作系统内核机制 %30 3、硬件 %20 第一天的重点内容:模块、字符设备框架什么是驱动? driver驾驶员.在内核中提供的一系列接口来操作原创 2017-02-03 15:16:32 · 219 阅读 · 0 评论 -
3-字符设备框架_创建设备文件
字符设备框架: 字符设备类包含了同种的字符设备。/sys/class 每种设备都有struct cdev来描述的: struct file_operations *ops = &hello_op cdev_init(&cdev,&hello_op) dev_t *dev = &devno cdev_add(&cdev,devno,1)原创 2017-02-03 15:22:55 · 295 阅读 · 0 评论 -
4-platform总线_基础驱动模型
platform总线:是管理片上资源的虚拟总线 platform组成: 1.platform_device: 描述与硬件相关信息的数据结构体 2.platform_driver: 描述与硬件无关的数据结构体 3.platform_bus_type:管理和匹配platform_device和platform_driver 基础驱动模型: 1.device 2.device_driver 3.bus_原创 2017-02-03 15:23:17 · 340 阅读 · 0 评论 -
5-设备树_中断
设备树: 是描述硬件信息的asiII文本文件,其书写符合人类思维习惯。 历史: 在linux更新维护过程中,linux创始人linus发现在收到arm平台负责人的维护邮件后,提出了linux内核中由来已久存在的问题。 即硬件代码在linux内核中,管理无序混乱,冗余,效率低。提出借鉴powerPC架构的FDT机制,来描述硬件。由此在linux3.0以后的版本 引入了设备树的概念。其中比较显著的特原创 2017-02-03 15:23:41 · 1032 阅读 · 0 评论 -
6-定时器_锁_互斥体_自旋锁_原子操作
内核定时器编程:时钟脉冲:它是soc的重要指标和性能参数。供内核使用(进程调度,计时)。也称为时钟中断,通常是操作系统的0号中断。jiffies: 内核中表示自系统开机以来,一共发生了多少次时钟脉冲。 HZ: 内核中表示一秒钟发生多少次时钟脉冲 Tick: 内核中表示两次时钟脉冲之间的时间间隔。 内核中在软件层面。提供了一系列数据结构和函数供于底层驱动计时编程。步骤: 1.定义: struct原创 2017-02-03 15:24:25 · 701 阅读 · 0 评论 -
7-i2C总线_mpu6050驱动编程
i2c总线协议: 历史: 是飞利浦公司在80年代,为研发音视频模块的通讯而产生。因其具有的诸多优点,而沿用至今。 优点: 1.简单性 2.有效性 3.多主控性。 i2c总线的信号: 1.起始信号:当scl保持高电平期间,sda由高到低跳变,称为起始信号。 2.结束信号:当scl保持高电平期间,sda由低到高跳变,称为结束信号。 3.数据位: 当scl保持高电平期间,sda保持电平稳定有效性,称原创 2017-02-03 15:24:47 · 2087 阅读 · 0 评论 -
8-输入子系统
输入子系统: 输入设备是嵌入式系统必不可少的组成部分,输入设备的类型和物理形态多种多样,如鼠标,键盘,触摸屏等等,尽管形式多样, 但是他们都有一个共通性,即一个输入设备发生一个输入事件(如鼠标点击一下,按键按一个键等等),内核收到该输入事件后对其处理, 并将处理结果汇报给应用层。根据这些特性,linux内核构建出了输入子系统框架,供linux驱动开发者们使用。 优点: 1.减少驱动开发者的工作原创 2017-02-03 15:25:07 · 235 阅读 · 0 评论