冷烟花
哎呀哎呀哎呀我的妈~蜗牛背着那重重的壳呀,一步一步地往上爬~

随笔分类 -  linux

1 2 下一页
LED子系统剖析
摘要:写之前,先看一张图:上次说了LED驱动程序,Linux自身也携带了LED驱动,且是脱离平台的,即LED子系统.操作起来十分简单.但是它的实质却不是那么容易,研究了一个晚上,终于明白了其中一个文件的功能啦,机led-class.c文件.现在分享一下.其实LED的驱动位于内核driver/leds目录下... 阅读全文
posted @ 2014-09-01 16:01 冷烟花 阅读(2599) 评论(0) 推荐(0)
ARM Linux 3.x的设备树(Device Tree)
摘要:1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正.在... 阅读全文
posted @ 2014-07-22 20:51 冷烟花 阅读(1172) 评论(0) 推荐(0)
Linux内核Makefile文件(翻译自内核手册)
摘要:--译自Linux3.9.5 Kernel Makefiles(内核目录documention/kbuild/makefiles.txt)kbuild(kernel build)内核编译器This document describes the Linux kernel Makefiles本文档介绍了... 阅读全文
posted @ 2014-05-14 16:57 冷烟花 阅读(7964) 评论(0) 推荐(3)
VS2008项目移植到Linux
摘要:不少人都遇到过这种情况:在Windows下用Visual Studio工具开发的程序需要移植到Linux系统中,做成Linux版本的,但程序比较大,在Linux上又离不开Make,手动编写Makefile文件的工作量又太大.在这里提供一种方法仅供参考.由于VS的解决方案文件“*.sln”和项目文件“... 阅读全文
posted @ 2014-01-22 16:08 冷烟花 阅读(14017) 评论(5) 推荐(3)
bootargs中ip段各项解释
摘要:目标板:合众达的SEED-DVS6467开发板内核版本:2.6.10最近同事测试板卡nfs挂载PC的文件系统时出现点问题,PC上ifconfig中显示以太网为eth3,然而板卡启动参数列表相关信息如下:可以看到其中device为eth0.抱着实事求是的态度,查看了一下内核源码,关于bootargs中... 阅读全文
posted @ 2014-01-20 14:31 冷烟花 阅读(1884) 评论(0) 推荐(0)
SPI子系统分析之四:驱动模块
摘要:内核版本:3.9.5SPI控制器层(平台相关)上一节讲了SPI核心层的注册和匹配函数,它是平台无关的.正是在核心层抽象了SPI控制器层的相同部分然后提供了统一的API给SPI设备层来使用.我们这一节就能看到,一个SPI控制器以platform_device的形式注册进内核,并且调用spi_regis... 阅读全文
posted @ 2013-07-01 18:14 冷烟花 阅读(13089) 评论(0) 推荐(0)
SPI子系统分析之三:驱动模块
摘要:内核版本:3.9.5SPI核心层(平台无关)SPI子系统初始化的第一步就是将SPI总线注册进内核,并且在/sys下创建一个spi_master的类,以后注册的从设备都将挂接在该总线下. 下列函数位于drivers/spi/spi.c中: 1 static int __init spi_init(vo... 阅读全文
posted @ 2013-07-01 15:17 冷烟花 阅读(2161) 评论(0) 推荐(0)
SPI子系统分析之二:数据结构
摘要:内核版本:3.9.5spi_masterstruct spi_master用来描述一个SPI主控制器,我们一般不需要自己编写spi控制器驱动. 1 /*结构体master代表一个SPI接口,或者叫一个SPI主机控制器,一个接口对应一条SPI总线,master->bus_num则记录了这个总线号*/... 阅读全文
posted @ 2013-07-01 14:54 冷烟花 阅读(4618) 评论(0) 推荐(1)
SPI子系统分析之一:框架
摘要:内核版本:3.9.5SPI子系统概述:一个SPI主控制器对应一条SPI总线,当然在系统中有唯一的总线编号.SPI总线上有两类设备:其一是主控端,通常作为SOC系统的一个子模块出现,很多嵌入式MPU中都常常包含SPI模块;其二是受控端,例如一些SPI接口的Flash,传感器等等;主控端是SPI总线的控... 阅读全文
posted @ 2013-07-01 12:18 冷烟花 阅读(2839) 评论(0) 推荐(0)
SPI protocol驱动编写实例
摘要:内核版本:3.9.5Linux中SPI驱动有俩个部分组成:controller驱动,直接和底层硬件打交道,protocol驱动,针对特定的设备,也是我们要做的.这里只考虑SPI protocol驱动在主线内核中有一个通用的字符型驱动范例spidev.本文不讨论spidev,而是探讨如何编写一个自定义... 阅读全文
posted @ 2013-07-01 10:55 冷烟花 阅读(3276) 评论(0) 推荐(0)
Linux内核SPI支持概述
摘要:1. 什么是SPI?Serial Peripheral Interface是一种同步4线串口链路,用于连接传感器、内存和外设到微控制器.他是一种简单的事实标准,还不足以复杂到需要一份正式的规范.SPI使用主/从配置模式.有3根控制数据传输,其中包含并行数据线:MOSI(Masterout Slave... 阅读全文
posted @ 2013-06-30 23:29 冷烟花 阅读(7794) 评论(0) 推荐(0)
input子系统分析之三:驱动模块
摘要:内核版本:3.9.5本节将以even handler来分析设备的注册和打开的过程,分析之前不妨回顾一下上节介绍的数据结构.结合前两节分析可知,input子系统分为3层,最上一层是event handler,中间层是input core,底层是input driver.input driver把eve... 阅读全文
posted @ 2013-06-26 12:58 冷烟花 阅读(2449) 评论(0) 推荐(0)
input子系统分析之二:数据结构
摘要:内核版本:3.9.51.input_dev,用来标识输入设备 1 struct input_dev { 2 const char *name; 3 const char *phys; 4 const char *uniq; 5 struct input_id id;/... 阅读全文
posted @ 2013-06-25 18:26 冷烟花 阅读(1123) 评论(0) 推荐(1)
input子系统分析之一:框架
摘要:内核版本:3.9.5输入设备总类繁杂,包括按键,键盘,触摸屏,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出来,简化驱动的开发,建立了一个Input子系统.Input子系统分为三层,从下至上分别是输入设备驱动层,输入核心层以及输入事件驱动层.核心层: 高效,无bug,可重... 阅读全文
posted @ 2013-06-25 17:33 冷烟花 阅读(1077) 评论(0) 推荐(0)
Linux ALSA框架之八:ASoC架构中的Platform
摘要:1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的... 阅读全文
posted @ 2013-06-07 17:04 冷烟花 阅读(3617) 评论(0) 推荐(0)
Linux ALSA框架之七:ASoC架构中的Codec
摘要:1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听... 阅读全文
posted @ 2013-06-07 16:13 冷烟花 阅读(4551) 评论(1) 推荐(0)
Linux ALSA框架之六:ASoC架构中的Machine
摘要:前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开... 阅读全文
posted @ 2013-06-07 15:48 冷烟花 阅读(3458) 评论(1) 推荐(0)
Linux ALSA框架之五:移动设备中的ALSA(ASoC)
摘要:1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系.在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性:Codec驱动与SoC CPU的底层耦合过于紧... 阅读全文
posted @ 2013-06-07 15:38 冷烟花 阅读(9497) 评论(0) 推荐(1)
Linux ALSA框架之四:Control设备的创建
摘要:Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等.对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的.ALS... 阅读全文
posted @ 2013-06-07 15:21 冷烟花 阅读(2618) 评论(0) 推荐(0)
Linux ALSA框架之三:PCM设备的创建
摘要:1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制.我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值... 阅读全文
posted @ 2013-06-07 14:11 冷烟花 阅读(9528) 评论(2) 推荐(0)

1 2 下一页