![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux设备与驱动
Ethyn
活到老,学到老
展开
-
Kobject
学习linux设备与驱动有一段时间了,发现对前面的好多东西还不是很熟悉,所以借这个博客边复习边记下这些重要知识点。字符设备还是以后再慢慢添加,先从linux设备模型开始。 Kobject是组成设备模型的基本数据结构,它定义在中。在这个文件中,还包括了与kobject相关结构的声,当然还有一个用于操作kobject对象的函数清单。Kobject结构所能处理的任务以及它所支持的代码原创 2012-07-21 13:14:28 · 458 阅读 · 0 评论 -
cortexA8交叉编译工具制作——crosstool-ng
首先从官网http://www.crosstool-ng.org下载最新的crosstool-ng,我下载的是1.20.0版本,安装中遇到的问题,一般都是依赖的模块没有提前安装,可以参考http://www.crifan.com/files/doc/docbook/crosstool_ng/release/htmls/crosstool_ng_common_errors.html总得来说直接使原创 2014-11-24 10:54:19 · 695 阅读 · 0 评论 -
s5pv210使用查询方式实现按键灯操作
用TQ210写了个使用查询的方法实现按键灯的操作,具体实现方法如下: 1、原理图 由原理图可知,按键不按下的时候CPU检测到的是高电平,按下时处于低电平,以KEY1为例,KEY1连的是XIENT0,查芯片手册 由芯片手册可知XEINT0连的是GPH0_0脚,因此需要配置GPH0_0为输入脚,在此就不详述怎么配置输入了同时可看LED灯原理图 由原原创 2014-11-07 01:42:12 · 988 阅读 · 0 评论 -
块设备驱动的写法
块设备驱动在内核中有好多的例子,快速写好一个内核驱动最好的方法,我觉得是参考内核中其它代码是怎么写的,以下是我用内存模拟一块储存设备的例程,并且可以对此储存设备进行读写和分区的功能,代码如下#include #include #include #include #include #include #include #include #include #include #原创 2014-12-01 22:27:08 · 555 阅读 · 0 评论 -
Linux ALSA 系统架构
alsa 音频 linux driver转载 2016-01-14 23:29:08 · 485 阅读 · 0 评论 -
top、ps命令查看进程中的线程方法
方法一:PSps -a显示所有进程pid,“-T”选项可以开启线程查看。eg: ps -aT 显示所有线程方法二: Toptop用于实时查看各个线程情况,用top命令的“-H”选项,该选项会列出所有Linux线程。eg1. top -H 所有线程eg2. top -H -p <pid> 特定进程中的线程 ...翻译 2018-10-28 11:24:46 · 10394 阅读 · 0 评论 -
内核段错误定位方法
1.加printk2.在配置文件配置 以下选项则出错时会在backstrace打印出错函数CONFIG_FRAME_POINTER=yCONFIG_DEBUG_KERNEL=y3. 找到内核编译出的System.map,里面包含内核编译出的符号表,注意这其中不包含insmod加载的如果需要知道所有的,可以在平台使用串口查看/proc/kallsyms如果/proc/kall...原创 2018-10-21 11:12:09 · 713 阅读 · 0 评论 -
linux音频子系统之alsa asoc层
ALSA SoC层概述ALSA片上系统(ASoC)层的总体项目目标是为嵌入式片上系统处理器(例如pxa2xx,au1x00,iMX等)和便携式音频编解码器提供更好的ALSA支持。在ASoC子系统之前,内核对SoC音频有一些支持,但它有一些限制: -编解码器驱动程序通常与底层SoC CPU紧密耦合。这并不理想,导致代码重复 - 例如,Linux为4种不同的SoC平台提供了不同的wm8731驱动...翻译 2018-10-30 19:29:16 · 323 阅读 · 0 评论 -
ASoC Codec类驱动程序
ASoC Codec类驱动程序编解码器类驱动程序是通用的,与硬件无关的代码,用于配置编解码器,FM,MODEM,BT或外部DSP,以提供音频捕获和回放。它不应包含特定于目标平台或计算机的代码。应将所有平台和机器特定代码分别添加到平台和机器驱动程序中。每个编解码器类驱动程序必须提供以下功能: -编解码器DAI和PCM配置 编解码器控制IO - 使用RegMap API 调音台和音频控...翻译 2018-10-30 19:36:53 · 773 阅读 · 0 评论 -
ASoC数字音频接口(DAI)
ASoC数字音频接口(DAI)ASoC目前支持SoC控制器和便携式音频编解码器上的三种主要数字音频接口(DAI),即AC97,I2S和PCM。AC97AC97是许多PC声卡上常见的五线接口。它现在在许多便携式设备中也很流行。该DAI具有复位线,并在其SDATA_OUT(回放)和SDATA_IN(捕获)线上对其数据进行时间复用。位时钟(BCLK)始终由CODEC驱动(通常为12.288M...翻译 2018-10-30 19:40:39 · 1192 阅读 · 0 评论 -
asoc之便携式设备的动态音频电源管理
便携式设备的动态音频电源管理描述动态音频电源管理(DAPM)旨在允许便携式Linux设备始终使用音频子系统中的最小功率。它独立于其他内核PM,因此可以轻松地与其他PM系统共存。DAPM对所有用户空间应用程序也完全透明,因为所有电源切换都在ASoC核心内完成。用户空间应用程序不需要更改代码或重新编译。DAPM根据设备内的任何音频流(捕获/回放)活动和音频混合器设置做出功率切换决策。D...翻译 2018-10-30 19:44:35 · 404 阅读 · 0 评论 -
ASoC平台驱动程序
ASoC平台驱动程序ASoC平台驱动程序类可分为音频DMA驱动程序,SoC DAI驱动程序和DSP驱动程序。平台驱动程序仅针对SoC CPU,并且必须没有特定于板的代码。音频平台DMA驱动程序可选择支持以下ALSA操作: -/ * SoC音频操作* /struct snd_soc_ops { int(* startup)(struct snd_pcm_substre...翻译 2018-10-30 19:46:27 · 297 阅读 · 0 评论 -
ASoC机器驱动程序
ASoC机器驱动程序ASoC机器(或板)驱动程序是将所有组件驱动程序(例如编解码器,平台和DAI)粘合在一起的代码。它还描述了每个组件之间的关系,包括音频路径,GPIO,中断,时钟,插孔和电压调节器。机器驱动程序可以包含编解码器和平台特定代码。它将音频子系统注册为内核作为平台设备,并由以下结构表示: -/ * SoC机器* /struct snd_soc_card { ...翻译 2018-10-30 19:47:25 · 253 阅读 · 0 评论 -
ASoC插孔检测
ASoC插孔检测ALSA有一个标准API,用于向用户空间表示物理插孔,其内核端可以在include / sound / jack.h中看到。ASoC提供此API的一个版本,增加了两个附加功能:它允许多个插孔检测方法在一个用户可见插孔上一起工作。在嵌入式系统中,通常在单个插孔上存在多个,但是由单独的硬件位处理。 与DAPM集成,允许DAPM端点根据检测到的插孔状态自动更新(例如,如果没有...翻译 2018-10-30 19:50:45 · 698 阅读 · 0 评论 -
asoc之动态PCM
动态PCM描述动态PCM允许ALSA PCM设备在PCM流运行期间以数字方式将其PCM音频路由到各种数字端点。例如,PCM0可以将数字音频路由到I2S DAI0,I2S DAI1或PDM DAI2。这对于暴露多个ALSA PCM并可以路由到多个DAI的SoC DSP驱动程序非常有用。DPCM运行时路由由ALSA混频器设置决定,其方式与在ASoC编解码器驱动程序中路由模拟信号的方式相同。...翻译 2018-10-30 19:54:41 · 1414 阅读 · 0 评论 -
asoc之为ALSA dapm创建编解码器到编解码器dai链接
为ALSA dapm创建编解码器到编解码器dai链接大多数音频流始终是从CPU到编解码器,因此您的系统将如下所示: --------- ---------| | dai | | CPU -------> codec| | | | --------- ...翻译 2018-10-30 19:56:39 · 438 阅读 · 0 评论 -
ubuntu软件源更新
ubuntu下载软件慢的原因大部分是因为软件源地址是国外的,以下地址是国内提供的打开/etc/apt/sources.list,添加以下源deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-s转载 2014-11-24 10:57:50 · 2683 阅读 · 0 评论 -
uboot tftp下载功能
linux内核ubuntu服务器linux测试嵌入式在嵌入式linux开发过程中经常需要从电脑下载引导程序uboot,如果每次都使用烧写到flash或者SD卡的方式,那是比较低效率的开发方式,导致公司没有竞争力,开发出来的产品也没有竞争力,在市场上就会落后挨打了。 这里就来介绍tftp方式从linux主机下载文件到开发板里运行,因此需要在主机linux系统里安装tftp原创 2014-09-02 11:34:00 · 554 阅读 · 0 评论 -
arm开发板最小文件系统的制作与nfs挂载方法
今天试了下原创 2014-10-17 01:48:57 · 544 阅读 · 0 评论 -
总线驱动程序
总线总线是处理器与一个或者多个设备之间的通道。在设备模型中,所有的设备都通过总线相连。 在Linux设备模型中,用bus_type结构表示总线,它的定义含在中。其结构如下:struct bus_type {const char * name;//总线名字struct subsystemsubsys;struct kset drivers;//总线的驱动程序原创 2012-07-22 11:47:37 · 561 阅读 · 0 评论 -
ubuntu 12.0.4环境下crosstool-ng 1.18.0编译ARM交叉编译器(Cortex-A8)
ubuntu 12.0.4环境下crosstool-ng 1.18.0编译ARM交叉编译器(Cortex-A8) 最近在接触android的东西,硬件用的是cortex-A8三星s5pv210。在编译linux内核和android固件时都要用到交叉编译器。虽然硬件厂家已经提供了交叉编译器,但是*疼的我还是想搞清楚这些工具链是怎么生成的。在网上查了一下原来现在已经转载 2014-09-01 12:24:24 · 876 阅读 · 0 评论 -
移动开发:S5PV210学习笔记——内核移植与文件系统构建
·真机测试·PS教程·字体下载·软件下载·alexa查询·源码下载·桌面壁纸·APP测试 首页 | 软件应用 | 操作系统 | 站长大学 | 服务器 | 移动开发 | 图像设计 | 网站开发 | 网页制作 | 数据库 | 程序开发 | 字体下载 Asp PHP JSP Python Asp.Net NoSQL MSSQL转载 2014-09-01 11:59:11 · 540 阅读 · 0 评论 -
s5pv210 nand移植
转自:http://blog.csdn.net/liujia2100/article/details/8688810为了移植yaffs2文件系统,必须有nand的支持,linux-3.4.2 s5pv210 没有发现对nand的支持。参考2.6.35把nand的驱动移植过来。1. 配置内核MTDDevice drivers-->Memory Technology转载 2014-09-01 16:18:12 · 676 阅读 · 0 评论 -
tftp下载内核
飞凌官方提供了一键下载烧写linux的方式,相对来说比较方便,但是对于开发来说不够灵活,因此这篇文章把tftp相关的点介绍一下,整理下其中遇到的一些问题。 一键烧写本质上是启动位于SD卡中的Uboot,通过uboot读取sd卡中的文件到SRAM最后通过nand指令实现一键烧写,这一块可以参考飞凌提供的uboot源码中include\configs 中的smdk6410.h 的5转载 2014-09-02 19:05:42 · 542 阅读 · 0 评论 -
s5pv210中断法控制LED灯
前面介绍过轮询的方法控制LED灯,这里将介绍如何使e原创 2014-11-09 00:28:15 · 2154 阅读 · 1 评论 -
S5PV210(TQ210)学习笔记——内核移植与文件系统构建
由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习。内核移植其实很简单,因为内核是linus率领的linux内核开发团队开发并维护的,我们只需要跟我们的平台交叉编译一下即可使用,但是,内核移植也不简单,因为内核移植起见出现任何问题都可能会被卡住,因为内核代码非常庞大,我们无法通读内核代码,下面是我移植期间遇到的各种转载 2014-09-03 11:52:48 · 719 阅读 · 0 评论 -
uboot编译全程
u-boot的Makefile分析 U-BOOT是一个LINUX下的工程,在编译之前必须已经安装对应体系结构的交叉编译环境,这里只针对ARM,编译器系列软件为arm-linux-*。 U-BOOT的下载地址: http://sourceforge.net/projects/u-boot 我下载的是1.1.6版本,一开始在FTP上下载了一个次新版,结果编译失转载 2014-10-07 21:25:39 · 798 阅读 · 0 评论 -
led灯实验之字符设备驱动poll操作
linux字符设备驱动中poll的用处还是挺大的,原创 2014-11-11 21:43:11 · 571 阅读 · 0 评论 -
led灯定时防抖
void add_timer(struct timer_list * timer)#include Installs the timer structures in the list timer in the timer list.The timer_list structure is defined by:struct timer_list { struct ti原创 2014-11-11 15:06:44 · 556 阅读 · 0 评论 -
输入系统之led灯控制
目前下面的程序原创 2014-11-13 01:08:43 · 681 阅读 · 0 评论 -
linux平台设备驱动程序的写法之操作led灯
很晚了,不多说了,还是在以前的led灯中断控制的基础上写的,以下原创 2014-11-14 01:46:21 · 698 阅读 · 0 评论 -
s5pv210驱动学习之点灯程序
今天成功利用自己原创 2014-10-30 01:19:20 · 669 阅读 · 0 评论 -
s5pv210驱动之流水灯程序2
基于linux-3.2.8内核,如下驱动程序:原创 2014-10-31 01:06:38 · 954 阅读 · 0 评论