Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3125673
  • 博文数量: 396
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4209
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-04 13:04
文章分类

全部博文(396)

文章存档

2022年(1)

2021年(2)

2020年(8)

2019年(24)

2018年(135)

2017年(158)

2016年(68)

我的朋友

发布时间:2016-09-29 13:35:37

1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为如此,本节中,我们也从 struct cnd_card开始.........【阅读全文】

阅读(1765) | 评论(0) | 转发(1)

发布时间:2016-09-29 13:33:31

一.  概述    ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。    在内核设备驱动层,ALSA提供了alsa-driver,同时在应用.........【阅读全文】

阅读(1746) | 评论(0) | 转发(1)

发布时间:2016-09-28 11:49:41

Linux 网络内核代码中使用了通知链(Notification Chains)来使相关的子系统对感兴趣的事件作出反应。下面从头介绍一下通知链的使用。数据结构定义通知链使用的数据结构如下:struct notifier_block {    int (*notifier_call)(struct notifier_block *, unsigned long, void *);    s.........【阅读全文】

阅读(10192) | 评论(0) | 转发(2)

发布时间:2016-09-26 14:11:48

前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(new style)”。(1)Adapter方式(LEGACY).........【阅读全文】

阅读(2081) | 评论(0) | 转发(0)

发布时间:2016-09-26 11:56:03

几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取.........【阅读全文】

阅读(1570) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册