![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux kernel
文章平均质量分 85
cosmoslhf
这个作者很懒,什么都没留下…
展开
-
Dsoftbus 软总线 代码梳理(未完成)
服务端 接口函数处理入口: (查找函数指针的方式) 服务发现过程 DiscInterfaceByMedium -> DiscInterfaceProcess (传递 链接类型ble, wifi)根据 InterfaceFuncType (PUBLISH_FUNC / UNPUBLISH_FUNC / STARTDISCOVERTY_FUNC / STOPDISCOVERY_FUNC), 调用接口StartAdvertise(该接口不同的物理层有不同的具...原创 2022-04-22 19:10:15 · 1830 阅读 · 1 评论 -
OpenHarmony TouchScreen 无法正常工作问题分析
openharmony touch 驱动流程图原创 2022-03-25 15:36:01 · 1144 阅读 · 0 评论 -
kernel 数据类型
标准 C 语言类型当需要“一个2字节填充符”或“用一个4字节字串来代表某个东西”,就不能使用标准C语言类型,因为在不同的体系结构,C 语言的数据类型所占的空间大小不同。后面的datasize 程序实验展示了用户空间各种 C 的数据类型在当前平台所占空间的大小。而且有的构架,内核空间和用户空间的C 数据类型所占空间大小也可能不同。kdatasize模块显示了当前模块的内核空间C 数据类型所占转载 2012-11-09 13:55:55 · 1926 阅读 · 0 评论 -
对 DAPM 的新理解
最近试图 解决 headset 插入没声音的问题,重新 读了 dapm.txt , 又有了新的体会 :1, 输入源类型:MIXER: 作用是 对多输入 进行选择 ,或者 混合多输入为一个输出。MUX: 作用是 是对多输入 进行选择, 输出只有一个。PGA: 单输入 单输出,同时带有 一个gain 控制音量。在 DAMP 中, 对应的Widget 类型分别为 : snd_原创 2012-12-15 18:25:13 · 1181 阅读 · 0 评论 -
声卡中的 line in line out
Line In: 用来输入未经放大芯片放大的模拟音频信号。 Mic: 用来连接麦克风。 Line Out: 用来输出未经放大芯片放大的模拟音频信号。 Speaket Out(现在通常和Line Out合为一个插孔): 用来输出经放大芯片放大的模拟音频信号。 Line In/Out传递的是只经过A/D或D/A芯片转换后的信号,还原度较高;而Speaker Out输转载 2012-12-20 09:52:31 · 18071 阅读 · 1 评论 -
蛇形走线在PCB设计中的作用
PCB上的任何一条走线在通过高频信号的情况下都会对该信号造成时延时,蛇形走线的主要作用是补偿“同一组相关”信号线中延时较小的部分,这些部分通常是没有或比其它信号少通过另外的逻辑处理;最典型的就是时钟线,通常它不需经过任何其它逻辑处理,因而其延时会小于其它相关信号。高速数字PCB板的等线长是为了使各信号的延迟差保持在一个范围内,保证系统在同一周期内读取的数据的有效性(延迟差超过一个时钟周期时转载 2012-12-20 09:53:35 · 885 阅读 · 0 评论 -
Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现
http://blog.csdn.net/droidphone/article/details/8074892 Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现 分类: Linux内核架构Linux时间管理系统2012-10-19 23:051574人阅读评论(0)收藏举报目录(?)[+]转载 2013-02-18 16:16:53 · 918 阅读 · 0 评论 -
export symbol 与 export symbol gpl
1.EXPORT_SYMBOLEXPORT_SYMBOL( my_pub_func);在预编译阶段会解析为:extern void *__crc_my_pub_func __attribute__((weak)); static const unsigned long __kcrctab_my_pub_func __attribute__((__used__)) __attri转载 2013-02-21 16:49:50 · 1139 阅读 · 0 评论 -
内核子系统或设备驱动可以直接编译到内核,也可以编译成模块,如果编译到内核,可以使用前一节介绍的方法通过内核启动参数来向它们传递参数,如果编译成模块,则可以通过命令行在插入模块时传递参数,或者在运行时,
http://blog.csdn.net/liangxiaozhang/article/details/8473570内核子系统或设备驱动可以直接编译到内核,也可以编译成模块,如果编译到内核,可以使用前一节介绍的方法通过内核启动参数来向它们传递参数,如果编译成模块,则可以通过命令行在插入模块时传递参数,或者在运行时,通过sysfs来设置或读取模块数据。Sysfs是一个基于内存的文件系统转载 2013-02-22 16:55:09 · 463 阅读 · 0 评论 -
what is LDO
ldo is low drop out , 片内集成的低压线性稳压器, 这就为用户节省了一个外部的电源稳压器, ldo 输出一般会直接连到 VDD25管脚。http://wenku.baidu.com/view/f0dba7cdda38376baf1faeb8.html转载 2013-02-23 18:56:31 · 487 阅读 · 0 评论 -
What is a Class A audio amplifier?
In a class A amplifier, the active device (transistor) is biased so it always conducts some current, usually outputting about half the supply voltage under quiescent (no signal) conditions.The i转载 2013-03-08 10:56:04 · 895 阅读 · 0 评论 -
基于platform机制的驱动模型
1、 哪些适用于plarform驱动?platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过platform device提供的标准接口进行申请并使用。这样提高了驱动和资源管理的独立性,这样拥有更好的可移植性。platform机制的本身使用并不复杂,由两部分组成:platform_device和platfrom_driver。Platform drive转载 2013-02-23 18:34:17 · 443 阅读 · 0 评论 -
Linux 内核同步机制
本文详细介绍 Linux内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,使用需求及一些典型示例 一、引言 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程相同也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。 在主流的L转载 2013-03-14 10:55:41 · 634 阅读 · 0 评论 -
实时时钟RTC
电子系统中,时钟是一个关键的要素,尤其在手持设备中,时钟系统的设计与系统的性能和功耗有直接关系。PXA255提供了丰富的时钟系统的控制能力,能有效地实现性能和功耗的平衡。2.1 实时时钟RTC在介绍时钟机制之前,先要说明一下PXA255上的时钟系统。PXA255上的时钟系统主要包含以下5个模块:n32.768kHz振荡器;n3.6864MHz振荡器;n可编程频率核心锁相环PLL转载 2013-03-16 14:47:38 · 7165 阅读 · 0 评论 -
基于PDM的D/A转换技术
1 引言 在数字信号处理中,常常需要将多位数字信号转化为一位数字信号。例如,在通信领域,接收器接收到经过编码的数字语音信号,需将他转化为模拟信号,即将原来的模拟语音信号复原。经过编码的语音信号,通常是多位的比特流。因此,如何将多位比特流转化为模拟语音信号,便成为保证通信质量的关键。又如,在一些控制电路中,控制信号是经过计算生成的多位数字信号,而这些数字信号必须转化为模拟信号才能对电路进行控转载 2013-03-19 17:04:08 · 1373 阅读 · 0 评论 -
External Control Plugins
The external plugins are implemented in a shared object file located at /usr/lib/alsa-lib (the exact location depends on the build option and asoundrc configuration). It has to be the file like libaso转载 2013-03-25 14:29:58 · 863 阅读 · 0 评论 -
内核进程的堆栈
http://topic.csdn.net/u/20100412/20/3ecdba18-321e-45ba-8b40-74e228061e47.html每一个进程(包括普通进程和内核进程)的地址空间都分为用户地址空间和内核地址空间两部分,在32位的x86机器上,用户地址空间的范围是0~3G,内核地址空间的范围是3G~4G.对于不同的进程,其用户地址空间会随着进程不同而不同,但所有进程的内转载 2013-05-17 15:10:53 · 615 阅读 · 0 评论 -
ELF文件格式详解
ARM的可执行文件的格式是ELF格式文件,下文对ELF格式做个详细的介绍。序言1. OBJECT文件导言ELF头(ELF Header)SectionsString表(String Table)Symbol表(Symbol Table)重定位(Relocation)2. 程序装载与动态连接导言Program头(Program Header)Progr转载 2013-05-17 15:12:50 · 683 阅读 · 0 评论 -
Linux 可加载内核模块剖析
http://www.ibm.com/developerworks/cn/linux/l-lkm/ 简介: Linux® 可加载内核模块(从内核的 1.2 版本开始引入)是 Linux 内核的最重要创新之一。它们提供了可伸缩的、动态的内核。探索隐藏在可加载模块后面的原理,并学习这些独立的对象如何动态地转换成 Linux 内核的一部分。发布日期: 2008 年 8 月 07 日转载 2013-05-17 15:45:37 · 628 阅读 · 0 评论 -
what is the difference between zImage (kernel) and boot.img
what is the difference between zImage (kernel) and boot.img? and question about 'fastboot boot'(的zImage(内核)和boot.img文件之间的区别是什么?关于“fastboot模式启动和问题')另一个讨论也涉及此主题:您是从一个标记为重复的主题重定向到这里的:6 名作转载 2013-05-07 17:33:23 · 2009 阅读 · 0 评论 -
Linux--根文件系统的挂载过程分析
前言:本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中所有提及的名词和数据都是以该环境为例,所有的代码流程也是以该环境为例来进行分析。哈哈。如果有不正确或者不完善的地方,欢迎前来拍砖留言或者发邮件到guopeixin@126.com进行讨论,先行谢过。简单的来说,根文件系统包括虚拟根文件系统和真实根文件系统。在Kernel启动的初始阶段,首先去创建虚拟的根文件转载 2013-05-22 16:17:52 · 886 阅读 · 0 评论 -
Charge only(chargemon)
一、移植chargemon1. https://wiki.sonyericsson.net/androiki/Vendorbaseintegration#Bring_up_branch2. charge only代码目录 vendor/semc/hardware/power/chargemon3. repo ics-fuji的代码 repo init -u git://revi转载 2013-05-23 14:59:03 · 2053 阅读 · 0 评论 -
zImage和uImage的区别
zImage和uImage的区别 vmlinux是内核文件, zImage是一般情况下默认的压缩内核映像文件,压缩vmlinux,加上一段解压启动代码得到,只能从0X0地址运行。 uImage是u-boot使用bootm命令引导的Linux压缩内核映像文件格式, 使用工具mkimage对普通的压缩内核映像文件(zImage)加工而得。可以由bootm命令从任意地址解压启动内核。 由于转载 2013-05-07 17:21:16 · 651 阅读 · 0 评论 -
Android eMMC Booting 2
Android eMMC BootingContents[hide]1eMMC binaries1.1Creating the GPT table 1.2Modifying .IMG Files 1.3TI Android build setup[edit]eMMC binariesThis i转载 2013-05-10 16:09:14 · 1061 阅读 · 2 评论 -
serial setting
Serial portFrom Wikipedia, the free encyclopediaJump to: navigation, searchA male DE-9 connector used for a serial port on an IBM PC compatible computer along with the se转载 2013-05-13 14:12:25 · 1681 阅读 · 0 评论 -
android 电池(一):锂电池基本原理篇
http://blog.csdn.net/xubin341719/article/details/8497830 关键词:android电池关机充电androidboot.mode charger平台信息:内核:linux2.6/linux3.0系统:android/android4.0平台:S5PV310(samsungexynos 4210)作者:x转载 2013-05-27 10:14:18 · 771 阅读 · 0 评论 -
make config
一直以为make oldconfig的作用是将利用当前的.config覆盖defconfig,从而使下次运行make config/menuconfig时的缺省设置成为当前.config的设置,今天发现是个错误,需要澄清:1. 如果.config不存在,运行make config/menuconfig时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。2. 如果.confi转载 2013-05-13 16:54:35 · 665 阅读 · 0 评论 -
GPIO驱动分析 & GPIO使用方法 -- S5PC110、S5PC210
[参考 http://hi.baidu.com/macroliu%5F/blog/item/8025218db64008a50e244477.html] 参考文件:arch/arm/mach- s5pv210/include/mach/gpio.h , /drivers/gpio/gpiolib.c , arch/arm/plat-s3c/include/plat/gpio-core.转载 2013-05-14 17:25:11 · 970 阅读 · 1 评论 -
linux内核gpiolib文档
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================自己翻译的内核gpiolib文档,是2.6.38版本的。原文在:http:/转载 2013-05-15 13:46:07 · 680 阅读 · 0 评论 -
rootfs文件系统的简单分析
rootfs文件系统是基于内存的文件系统,也是虚拟的文件系统,在系统启动之后,隐藏在真正的根文件系统后面,不能被卸载。在开始介绍rootfs之前,先介绍一下,rootfs的数据结构,然后再看一下rootfs中的函数rootfs_get_sb是怎么调用的。rootfs的数据结构如下[cpp] view plaincopyprint?1static struct f转载 2013-06-03 10:33:11 · 941 阅读 · 0 评论 -
制作initramfs镜像
Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,US转载 2013-06-03 16:49:34 · 901 阅读 · 0 评论 -
Linux Kernel内存分配方式
在这里讲的是LinuxKernel内存分配方式问题。其中包括它应该怎么分配,分配的时候应该用什么方法好,文章里面全部都讲到了。仅供参考。 据报名网最新报道,LinuxKernel内存分配方式问题,到底应该怎么分配是最合适的。下面我们举一个例子。循环放电影,v4l2 output driver的 dma_alloc很容易就失败,kernel panic,dump出当前buddy系统的状态。转载 2013-06-05 09:58:01 · 822 阅读 · 0 评论 -
Linux 2.6内核中新的锁机制--RCU
一、 引言众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中得到了广泛的使用。但是随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问内存的速度差距越来越大,而这种锁使用了原子操作指令,它需要原子地访问内存,也就转载 2013-06-14 18:00:43 · 661 阅读 · 0 评论 -
linux设备树dts移植详解
【转】摘 要:设备树的引入减少了内核为支持新硬件而需要的改变,提高代码重用,加速了Linux支持包的开发,使得单个内核镜像能支持多个系统。作为U-Boot 和Linux 内核之间的动态接口,本文阐述了设备树的数据存储格式以及源码描述语法,进而分析了U-Boot 对扁平设备树的支持设置,Linux 内核对设备树的解析流程。关键词:扁平设备树; DTS; PowerPC; Linu转载 2013-07-05 15:08:31 · 56064 阅读 · 0 评论 -
Booting ARM Linux ATAG详解
Booting ARM LinuxVincent Sandersvince@arm.linux.org.uk>Review and advice, large chunks of the ARM Linux kernel, all around good guy:Russell KingReview, advice and numer转载 2013-08-03 18:07:37 · 1915 阅读 · 0 评论 -
arm linux kernel 从入口到start_kernel 的代码分析
[精彩] arm linux kernel 从入口到start_kernel 的代码分析http://www.chinaunix.net 作者:xpl 发表于:2009-07-30 16:34:26【发表评论】【查看原文】【Linux讨论区】【关闭】最近研究了一下arm linux的入口部分的代码, code不是太多,转载 2013-08-03 18:50:55 · 768 阅读 · 0 评论 -
内核驱动之I/O内存访问
内核驱动之I/O内存访问分类: linux嵌入式设备驱动 2013-06-17 19:16 176人阅读 评论(0)收藏 举报目录(?)[+]内核驱动之IO内存访问IO 内存访问流程内核驱动之I/O内存访问I/O 内存访问流程:1. request_mem_region() 申请IO内存2.ioremap() 将物理地转载 2013-08-05 18:57:47 · 678 阅读 · 0 评论 -
android kernel和标准linux kernel的区别
将从google 官网(http://code.google.com/p/android/downloads/list )下载的Android 的Linux Kernel 和标准的Linux 2.6.25 版本的Kernel 比较,Android 系统的Kernel 主要增加如下内容“1. 基于 ARM 架构增加 Gold-Fish 平台 , 相应增加的目录如下 : kernel/ar转载 2013-08-07 16:02:27 · 2467 阅读 · 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社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xx转载 2013-09-23 15:32:22 · 1554 阅读 · 0 评论 -
回环设备
回环设备(loop-back devices) ¶回环设备( 'loopback device')允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和扇区。(当然,disk-image 必须存在于一个实际的磁盘上,而这个磁盘必须比虚拟的磁盘容量更大。)回环设备允许你这样使用一转载 2013-09-24 14:54:44 · 1366 阅读 · 0 评论