Linux
文章平均质量分 73
gqb666
专注于嵌入式驱动开发u-boot Vxworks Linux kernel
展开
-
Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例)
Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例)原文地址:Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例) 作者:tekkamanninja 在移植内核的时候,通常会遇到引脚复用(MUX)的配置问题。在现在的Linux内核中,对于TI的ARM芯片,早已经有了比较通用的MUX配置框架。这对于许多TI的芯片都是通用的,这转载 2012-11-07 13:50:20 · 2557 阅读 · 0 评论 -
嵌入式linux启动时运行的inittab文件
嵌入式linux启动时运行的inittab文件本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kernel_32/archive/2009/02/03/3860756.aspx 嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要少得多。嵌入式系统下的linux启动过程一般转载 2012-11-19 15:31:16 · 1750 阅读 · 0 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,转载 2012-12-05 15:03:21 · 1509 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过contr转载 2012-12-05 15:13:55 · 1104 阅读 · 0 评论 -
Alsa驱动分析(转)
原文地址:http://blog.chinaunix.net/space.php?uid=741742&do=blog&id=359307#_Toc250039760目录1. Abstract2. Introduction3. 音频驱动框架介绍3.1 音频设备的注册3.2 音频驱动的注册3.2.1转载 2012-12-06 21:13:48 · 2048 阅读 · 0 评论 -
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin转载 2012-12-05 15:15:59 · 1447 阅读 · 0 评论 -
Linux ALSA声卡驱动之六:ASoC架构中的Machine
前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结转载 2012-12-05 16:46:25 · 1494 阅读 · 0 评论 -
Linux ALSA声卡驱动之七:ASoC架构中的Codec
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理转载 2012-12-05 16:48:20 · 1631 阅读 · 0 评论 -
Linux ALSA声卡驱动之八:ASoC架构中的Platform
1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_pl转载 2012-12-05 16:50:55 · 2054 阅读 · 0 评论 -
去掉SVN管理kernel编译后版本自动变化
转自:http://blog.csdn.net/ralph_sqd/article/details/6292203在移植wifi模块时,需要先把wifi的驱动insmod到内核中去,但刚开始时并不顺利,出现了内核版本标识不匹配,导致wlan.ko无法装载的现象# insmod wlan.kowlan: version magic '2.6.32.9 mod_unload ARM转载 2012-12-27 15:44:30 · 2991 阅读 · 0 评论 -
Linux内核大讲堂之设备驱动的基石驱动模型(1)
转自:无为和尚的Linux内核大讲堂系列,并对个别地方进行了补充更正(见标红处)。http://blog.csdn.net/z2007b/article/details/6388753可能把驱动模型放在第一章讲会有点难度,但是只要能跨过这道坎,后面就会轻松很多,驱动模型是整个linux设备驱动的基石。大部分人把驱动模型叫做设备模型,但是我查了linux的帮助文档,就是在下载源码路径下的Do转载 2012-12-29 08:54:27 · 2036 阅读 · 1 评论 -
Linux内核大讲堂之设备驱动的基石驱动模型(4)
转自:无为和尚的Linux内核大讲堂系列。http://blog.csdn.net/z2007b/article/details/6388753今天又升级了最新版内核2.6.38.5,编了一下,我之前写的几个模块都可以用,看来这一块没有太大差异。顺便把内核升级写了一个相关的文档。大家如果没升级过内核的可以参考一下:http://blog.csdn.net/z2007b/archive/20转载 2012-12-29 09:00:34 · 1652 阅读 · 0 评论 -
Linux内核大讲堂之设备驱动的基石驱动模型(2)
转自:无为和尚的Linux内核大讲堂系列。http://blog.csdn.net/z2007b/article/details/6388753上节我们分析到int kset_register(struct kset *k)函数中的kobject_add_internal(&k->kobj),我们接着分析,先唤起来一下大家的记忆,给出kset_register的函数定义:int k转载 2012-12-29 08:56:37 · 1296 阅读 · 0 评论 -
Linux内核大讲堂之设备驱动的基石驱动模型(3)
转自:无为和尚的Linux内核大讲堂系列。http://blog.csdn.net/z2007b/article/details/6388753实在是让大家久等了,因为最近离职,所以繁锁的事情很多,今天终于把离职手续给办完了,不过还有一堆事情没有做,如果更新的慢的话,请大家多多包涵。言归正传。俗话说的好:光说不练假把式。很明显本帅哥不是假把式。为了让大家一起对驱动模型有直观的认识,转载 2012-12-29 08:58:49 · 1203 阅读 · 0 评论 -
Linux内核大讲堂之设备驱动的基石驱动模型(5)
转自:无为和尚的Linux内核大讲堂系列。http://blog.csdn.net/z2007b/article/details/6388753上节我们已经领教了传说中的bus_register,这节我们继续领教同样是神级的driver_register。driver_register如果看懂了,device自行分析应该没太大的问题。照样先给出一个小的例子代码。 typed转载 2012-12-29 09:02:52 · 1182 阅读 · 0 评论 -
Linux内核大讲堂之设备驱动的基石驱动模型(6)
转自:无为和尚的Linux内核大讲堂系列。http://blog.csdn.net/z2007b/article/details/6388753上节我们大概分析了driver_register是怎么工作的。有的细节虽然没有到位,但是记住一句话,贪多嚼不烂,我们首先要建立的是驱动模型在我们脑海中的第一印象。本节将讲述最后两个主角,device和class的创建。讲完这些就会来个大集合。让转载 2012-12-29 09:05:06 · 1328 阅读 · 0 评论 -
Linux内核大讲堂之设备驱动的基石驱动模型(7)
转自:无为和尚的Linux内核大讲堂系列。http://blog.csdn.net/z2007b/article/details/6388753终于快讲完了,这一节其实就是让上节我们所说的四大天王露下小脸。源码分析请自行完成吧。我建议大家可以试着先看一下代码,如果能看懂,那就把我写的那破玩意删掉,自已实现一遍,如果不能看懂,那马上回过去从第一小节重新看过,耐心,一定要有耐心,没耐心,啥转载 2012-12-29 09:06:54 · 1152 阅读 · 0 评论 -
linux platform 驱动模型分析
linux platform 驱动模型分析一. 概述 platform设备和驱动与linux设备模型密切相关。platform在linux设备模型中,其实就是一种虚拟总线没有对应的硬件结构。它的主要作用就是管理系统的外设资源,比如io内存,中断信号线。现在大多数处理器芯片都是soc,如s3c2440,它包括处理器内核(arm920t)和系统的外设(lcd接口,nandflash接口等转载 2013-01-28 15:16:51 · 1400 阅读 · 0 评论 -
Linux内核启动过程中注册platform驱动模型
一、platform设备和驱动与linux设备模型密切相关。platform在linux设备模型中,其实就是一种虚拟总线没有对应的硬件结构。它的主要作用就是管理系统的外设资源,比如io内存,中断信号线。现在大多数处理器芯片都是soc,如s3c2440,它包括处理器内核(arm920t)和系统的外设(lcd接口,nandflash接口等)。linux在引入了platform机制之后,内核假设所有的这转载 2013-01-28 15:19:21 · 2464 阅读 · 0 评论 -
linux内核启动设备探测过程
前段时间研究nandflash驱动,很好奇,到底是怎么探测nandflash,以及驱动等等。好吧,现在开始不说了。首先在板级文件里面必须添加设备信息,static struct resource s5pv210_nand_resource[] = {[0] = {.start = 0xB0E00000,.end = 0xB0E00000 + 0x00100000 -转载 2013-01-16 10:58:55 · 1527 阅读 · 0 评论 -
inittab文件格式
inittab文件格式/etc/inittab文件是Linux系统第一个进程init的配置文件。其每个记录占一行,每行最多512个字符。该文件的每个记录的格式为::id:runlevel:action:process其中,id是一个不超过4个字符的标识,用来唯一标识一条记录。runlevel表明该条记录中涉及的进程所可以运行的级别;如果为空表示可运行于所有的运行级别;如果该转载 2012-11-16 16:09:27 · 1397 阅读 · 0 评论 -
DM3730调试心得之CEMEK
最近被一个问题困扰了很久,就是TI的dvsdk 编译出来的可加载模块cmemk.ko,这个模块是TI 专门针对DSP和ARM 之间共享内存,数据交互而设计的,在dvsdk编译完成后会被放在,system/ti-dsp/下面。那我遇到什么问题了 呢,原来是整个android系统可以在SD卡中启动并正确的完成cmemk.ko模块的加载,加载主要是通过文件系统中内核运行的第一个脚本init.rc转载 2012-11-29 14:15:16 · 2089 阅读 · 1 评论 -
Linux内核挂载根文件系统出现INIT:Id "S" respawning too fast: disabled for 5 minutes的解决方法
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8260018一、 问题描述:使用linux内核2.6.32挂载根文件系统时出现如下问题:停留在下面这个界面无法进入登陆界面,并且5分钟会重新打印一行:INIT:Id “S” respawning too fast:disabl原创 2012-12-05 14:58:18 · 12182 阅读 · 0 评论 -
对《U-BOOT下使用bootm引导内核方法》的补充说明
对《U-BOOT下使用bootm引导内核方法》的补充说明 转自:http://zhoufeng8301.blog.163.com/blog/static/5545770520090554720813/lufuchong对bootm引导内核做了详细的说明,原文见:http://www.cnitblog.com/luofuchong/archive/2007/01转载 2012-11-22 13:10:54 · 1457 阅读 · 0 评论 -
KGDB调试内核
一、kgdb安装1. 系统配置:VMware Workstation 5.5.4Fedora Core 3(2.6.9-1.667)kgdb-2.4(linux-2.6.15.5)2. 系统安装:在虚拟机上安装FC3,然后参照后面的文章,将系统的内核升级到2.6.15.5,命名为“FC3-kgdb-client”。Clone一个和预装环境一样的系统,选择"Creat转载 2012-11-01 13:21:20 · 1877 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创转载 2012-12-05 14:55:05 · 1169 阅读 · 0 评论 -
Linux ALSA声卡驱动之一:ALSA架构简介
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project转载 2012-12-05 14:52:58 · 1379 阅读 · 0 评论 -
Arm-Linux根文件系统网络配置小结
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8802184,作者:gqb666 本文分三点来记录嵌入式Linux根文件的一些网络配置技巧:1、对开发板配置静态IP: 将根文件系统/etc/network/interface文件中auto eth0iface eth0 ine原创 2013-04-16 09:42:51 · 4276 阅读 · 0 评论 -
Shell脚本调试技术
本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/index.html本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用“-n”选项进行shell脚本的语法检查, 使用“-x”选项实现shell脚本逐条语句的跟踪,巧转载 2013-09-26 13:44:02 · 1328 阅读 · 0 评论 -
Linux虚拟总线platform驱动框架之地址对齐省内存
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8351080,作者:gqb666 最近在学习Linux虚拟总线platform驱动框架,对其中为一字符串申请内存使用strlen时未加1有点疑惑,于是通过写几个demo把研究发现的心得,记录了下来,分享给大家,有理解不够准确的地方还请大家多原创 2012-12-20 18:52:35 · 2845 阅读 · 3 评论 -
Linux Framebuffer驱动框架之二软件架构(未完待续)
/**********************************************************************************************************************************/ 原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/d原创 2013-10-21 21:32:01 · 9200 阅读 · 4 评论 -
手把手教你把Vim改装成一个IDE编程环境(图文) -- 续1
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-12-27Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章转载 2013-10-23 10:18:12 · 1760 阅读 · 0 评论 -
LinuxI2C子系统之一实例化IC2设备(Client)的四种方法(三、四)
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8698856,作者:gqb666终于翻译完了,有不准确的地方,还请大家多多指教。上接博文:LinuxI2C子系统之一实例化IC2设备(Client)的四种方法(一、二) 原文件位置:linux源码目录\Documentation\i2c\翻译 2013-03-22 14:00:19 · 4060 阅读 · 0 评论 -
LinuxI2C子系统之一实例化IC2设备(Client)的四种方法(一、二)
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8668670,作者:gqb666 最近的项目工作中需要调试维护I2C控制的视频采集设备驱动代码,于是花了些时间来研究I2C驱动框架,发现其复杂度不亚于ALSA-ASOC驱动框架(仅个人感觉,勿怪)!并打算将自己的研究心得记录下来,一是自己想看时翻译 2013-03-20 11:38:15 · 3681 阅读 · 1 评论 -
关于CONFIG_LOCALVERSION_AUTO设置去掉内核版本号SVN后缀
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8444528,作者:gqb666最近在TI 的DVSDK下写驱动模块时老受linux内核svn版本号问题的困扰,如"2.6.37-svn41"、"2.6.37-svn51"等等,svn版本变一次,从上面取下的代码内核版本就要变一次,这样造成原来驱动模原创 2012-12-27 17:06:40 · 8029 阅读 · 0 评论 -
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有转载 2013-10-23 10:16:20 · 2644 阅读 · 0 评论 -
调试器工作原理之三——调试信息
英文原文:Eli Bendersky 编译:伯乐在线— 陈舸本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。本篇主要内容在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。调试信息现代的编译器在转换高级语言程序代码上做得十分出色,能够将源代转载 2013-10-31 23:50:39 · 3209 阅读 · 0 评论 -
调试器工作原理之一——基础篇
英文原文:Eli Bendersky 编译:伯乐在线— 陈舸本文是一系列探究调试器工作原理的文章的第一篇。我还不确定这个系列需要包括多少篇文章以及它们所涵盖的主题,但我打算从基础知识开始说起。关于本文我打算在这篇文章中介绍关于Linux下的调试器实现的主要组成部分——ptrace系统调用。本文中出现的代码都在32位的Ubuntu系统上开发。请注意,这里出现的代码是同平台紧转载 2013-10-31 23:43:28 · 2137 阅读 · 0 评论 -
调试器工作原理之二——实现断点
英文原文:Eli Bendersky 翻译:伯乐在线— 陈舸本文是关于调试器工作原理探究系列的第二篇。在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇)。本文的主要内容 这里我将说明调试器中的断点机制是如何实现的。断点机制是调试器的两大主要支柱之一 ——另一个是在被调试进程的内存空间中查看变量的值。我们已经在第一篇文章中稍微涉及到了一些监视被调试进程转载 2013-10-31 23:57:35 · 4312 阅读 · 0 评论 -
Linux内核文档翻译之Squashfs文件系统
对于使用openwrt的嵌入式系统来说,因为硬件绝大多数采用Flash,因此一般使用squashfs文件系统和jffs2文件系统。前者是只读的,后者是可写的。我们一般会把jffs2 mount到某个目录下。这样就存在某些目录如/bin是只读的(squashfs),某些目录是可读写的(jffs2),这样对文件的操作会依赖于文件系统的属性和文件的路径。 openwrt使用了mini翻译 2013-10-27 22:37:31 · 12645 阅读 · 0 评论