这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层。内核版本基于3.3。虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变。 1. 设备、中断控制器和CPU 一个完整的设备中,与中断相关的硬件可以划分为3类,它们分别是:设备、中断控制器和CPU本身,下图展示了一个smp系统中的中断硬件的组成结构: 图 1.1&nb
关键字:
Linux 中断
1. 电源管理的状态 Android的Linux内核为系统提供了4种电源状态,内核的源代码为其中的3种定义了名字和对应的宏定义,名字定义在kernel/power/suspend.c中: [cpp] view plain copyconst char *const pm_states[PM_SUSPEND_MAX] = { #ifdef CONFIG_EARLYSUSPEND [PM_SUSPE
关键字:
Android Linux
1. PCM是什么 PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值被连续地输出、传输、处理或记录到存储介质中,所有这些组成了数字音频的产生过程。
图
关键字:
Linux ALSA
Google的Ara模组化手机计画虽然停摆了,但是贡献了大量程式码到4.9新版,尤其是Ara计画的Greybus硬体协定也加入了Linux 4.9版。
问世满25周年的Linux,释出了史上最大一次的核心改版Linux 4.9新版,Google喊卡的模组化手机Ara专案,反而在这次4.9新版中贡献了大量程式码。Linux之父Linus Torvalds在11日释出了4.9版,并在发布邮件中兴奋地说:“我非常确定这次是史上最大一次版本发布,commit数是有史以来最
关键字:
Linux GPU
Tasklet作为一种新机制,显然可以承担更多的优点。正好这时候SMP越来越火了,因此又在tasklet中加入了SMP机制,保证同种中断只能在一个cpu上执行。在软中断时代,显然没有这种考虑。因此同一种中断可以在两个cpu上同时执行,很可能造成冲突。 Linux中断下半部处理有三种方式:软中断、tasklet、工作队列。 曾经有人问我为什么要分这几种,该怎么用。当时用书上的东西蒙混了过去,但是自己明白自己实际上是不懂的。最近有时间了,于是试着整理一下linux的中断处理机制,目的是起码从原理上能够
关键字:
linux 中断
“曾经有一份真挚的爱情摆在面前,我却不懂珍惜;曾经有一个承诺,我却倍感珍惜,今天一定要好好讲讲..” 讲讲啥,讲讲上节说的那个异步通知的例子呗,大家喜欢看代码,咋们就先上代码: struct globalfifo_dev { struct cdev cdev; /*cdev结构体*/ unsigned int current_len; /*fifo有效数据长度*/ unsigned char mem[
关键字:
Linux 异步I/O
通常,操作系统可以使用三种方法来表示系统的当前时间与日期: ①最简单的一种方法就是直接用一个64位的计数器来对时钟滴答进行计数。 ②第二种方法就是用一个32位计数器来对秒进行计数,同时还用一个32位的辅助计数器对时钟滴答计数,之子累积到一秒为止。因为232超过136年,因此这种方法直至22世纪都可以让系统工作得很好。 ③第三种方法也是按时钟滴答进行计数,但是是相对于系统启动以来的滴答次数,而不是相对于相对于某个确定的外部时刻;当读外部后备时钟(如RTC)或用户输入实际时间时,根据当前的滴答次数计
关键字:
linux 时钟
了解linux驱动程序技巧学习的方法很重要,学习linux操作系统时,你可能会遇到关于驱动方面的问题,这里将介绍学习linux驱动程序的方法,在这里拿出来和大家分享一下。
1.学会写简单的makefile
2.编一应用程序,可以用makefile跑起来
3.学会写linux驱动程序的makefile
4.写一简单char驱动,makefile编译通过,可以insmod,lsmod,rmmod.在驱动程序的init函数里打印helloworld,insmod后应该能够通过dmes
关键字:
Linux 驱动程序
成为一名精通 Linux 程序设计的高级程序员一直是不少朋友孜孜以求的目标。根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍、Java 程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9 倍。同时数据显示,随着工作经验的增长, Lin
关键字:
Linux Unix
1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为如此,本节中,我们也从 struct cnd_card开始吧。1.2. snd_card的定义snd_card的定义位于改头文件中:includ
关键字:
Linux ALSA
一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控
关键字:
Linux ALSA
“小王,听说过锦上添花吧..”我拍拍下王的头说。
“还锦上添花你,为你上次提的几个东东,我是头上长包..”小王气愤地瞪着我。
“啊,为啥这样呢,本来还特意拒绝了MM的约会,抽出时间打算给你说点高级的东东,看来现在是不行了”我吃惊道,“这样吧,这次就给你讲些和前边有关的东西,也不失为锦上添花不是?”。
“好,我也是这么打算的,就是没好意思说,今天讲些啥呢?”小王暗淡的
关键字:
Linux 异步I/O
“小王,醒醒,开始上课了,今天咱们开始讲中断,这可是高级东西,错过不补哈”我使劲推着睡梦中的小王。 “嗯?感情好啊,快点,快点”小王一听有新东西讲,像打了鸡血似的兴奋,连我都怀疑起她是不是性格中喜新厌旧。 不管那么多了,我讲我的,她厌她的… 啥叫中断?就是指cpu在执行过程中,出现了某些突发事件时CPU必须暂停执行当前的程序,转去处理突发事件,处理完毕后CPU有返回原程序被中断的位置并继续执行。 中断的分法不懂,分类就不同,向什么内外部中断,可/不可屏蔽中断…等等乱七八糟一大堆,我这里要说明的
关键字:
Linux 中断
设备通常会提供一组寄存器来用于控制设备、读写设备和获取设备状态,即控制寄存器、数据寄存器和状态寄存器。这些寄存器可能位于IO空间,也可能位于内存空间。当位于IO空间时,通常被称为IO端口,位于内存空间时,对应的内存空间成为IO内存。 1. Linux IO端口和IO内存访问接口 1.1 IO端口 在Linux设备驱动中,应使用Linux内核提供的函数来访问定位于IO空间的端口,这些函数包括如下几种: (1)读写字节端口(8位宽) unsigned in
关键字:
ARM Linux
1. 开发环境的建立在嵌入式系统中,由于目标机资源有限,因此通常是在主机上编译好驱动程序以及应用程序,然后通过串口、以太网、仿真器或其他通信手段与目标机通信。为了方便进行Linux设备驱动的开发和调试,首先必须建立良好的开发环境,包括交叉编译环境的建立、minicom的设置以及nfs网络文件系统的建立。 (1) 交叉编译环境由于我采用的是ARM9 S3C2410处理器,因此必须在主机上建立针对目标板处理器的GNU工具链,这个过程相当复杂繁琐,开发者可以采用编译好的针对A
关键字:
S3C2410 Linux
linux kernel介绍
您好,目前还没有人创建词条linux kernel!
欢迎您创建该词条,阐述对linux kernel的理解,并与今后在此搜索linux kernel的朋友们分享。
创建词条
关于我们 -
广告服务 -
企业会员服务 -
网站地图 -
联系我们 -
征稿 -
友情链接 -
手机EEPW
Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
《电子产品世界》杂志社 版权所有 北京东晓国际技术信息咨询有限公司
京ICP备12027778号-2 北京市公安局备案:1101082052 京公网安备11010802012473