自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (3)
  • 论坛 (1)

转载 linux 3.0.8 alsa数据流程分析

ALSA打开数据流程     soc_pcm_open => cpu_dai->driver->ops->startup => platform->driver->ops->open => codec_dai->driver->ops->startup \    => rtd->dai_link-&gt

2018-11-10 10:59:23 400

转载 杂音 & pop 音的解决方法

杂音 & pop 音的解决方法 1. 喇叭有严重的“吱吱”破音,绝大多数的原因有可能在于V(out)电压不稳定,所以最好测一下无负载时的输出电压。同时也可以测量 VCC –即boost 的输出/输入电压。正常的VCC   可以通过客户的 反馈电阻和 VCC负载电阻求得。 2、客户有杂音:估计是信号的干扰,一般是电源的干扰因素占最大的比重,建议测量静态电流 IQ  。 ...

2018-11-10 10:45:04 1972

原创 FIFO and DMA

FIFO  SPI端口增加了FIFO,使得传输数据有了缓冲区间。   FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。主要有三个方面的作用:1)对连续的数据流进行缓存,防止在进机和存储操作时丢失数据;2)数据集中起来进行进机和存储,可避免频繁的总线操作,减轻CPU的负担;3)允许系统进行DMA操作,提高数据的传...

2018-08-10 16:07:12 488

原创 UART的FIFO功能

UART的FIFO功能2015年09月08日 18:21:23阅读数:5464经常听到UART的FIFO功能,但是从来没有真正使用过和认真思考过它的作用。正好有客户用到这个功能,在这里做个总结。 FIFO 是“First-In First-Out”的缩写,它是一个具有先入先出特点的缓冲区。串口设计FIFO的目的是为了提高串口的通讯性能。如果没有FIFO或者说缓冲区的长度只有1字节,那...

2018-08-10 15:43:01 2386

原创 音频几个很重要的参数

音频几个很重要的参数!采样率:每秒采集数据的次数采样精度:每次采集数据的位数通道数:存在几路音频比特率:针对编码格式,表示压缩编码后每秒的音频数据量大小。音频的帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像。但音频帧跟编码格式相关,它是各个编码标准自己实现的。因为如果以PCM(未经编码的音频数据)来说,它根本就不需要帧的概念,根据采样率和采样...

2018-08-05 15:57:52 3738 1

转载 SPI 协议

SPI介绍由于SPI(serial peripheral interface)总线占用的接口线少,通信效率高,并且支持大部分处理器芯片,因而是一种理想的选择。SPI是利用4根信号线进行通信的串行接口协议,包括主/从两种模式。4个接口信号为:串行数据输入(MISO,主设备输入、从设备输出)、串行数据输出(MOSI,主设备输出、从设备输入)、移位时钟(SCK)、低电平有效的从设备使能信号(cs)。...

2018-07-17 10:32:55 186

转载 SPI 接口配置

SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,是一种高速的,全双工,同步的通信总线,在很多器件中被广泛应用。 SPI相关缩写 SS: Slave Select,选中从设备,片选。CKPOL (Clock Polarity) = CPOL = POL = Polarity = (时钟)极性 ...

2018-07-17 10:31:52 6667

原创 关于spi的半双工读写和全双工读写的一些理解

关于spi的半双工读写和全双工读写的一些理解2017-06-12 16:35在spidev.c有read write 以及spidev_message函数.分别实现半双工和全双工的功能.不过最后调用的都是spi控制器驱动的transfer函数.例如, atmel_spi_transfer() 【drivers/spi/atmel_spi.c 】那么驱动如何判断应用程序要读还是写呢?简单,判断tx_...

2018-07-07 11:56:48 6890 1

原创 linux kernel 中mdelay() 与msleep()的区别

在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的.1.)对于模块本身mdelay是忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时间.msleep是休眠函数,它不涉及忙等待.你如果是msleep(10),那实际上延迟的时间,大部分时候是...

2018-06-28 12:00:20 960

原创 飞思卡尔烧写工具mfgtools的使用

注意:当时遇到烧录之后各种重启问题,还有system.img 文件同步不过去的原因,都是因为没有加flash刷新<CMD state="Updater" type="push" body="frf">flush the memory.</CMD>MFGTool是飞思卡尔提供的烧写工具,使用起来非常方便。但是,在使用MFGTool有几点是需要注意的,否则就会在烧写过程中遇到一...

2018-06-25 17:50:41 3581

原创 Linux驱动调试中的Debugfs的使用简介 CONFIG_DEBUG_FS 的功能与配置

Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14)在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件结点进行op...

2018-06-22 19:26:33 11339

转载 LCD常用接口原理

LCD常用接口原理点击打开链接        LCD中常用LVDS信号介绍点击打开链接       DS90CF364 LVDS发送/接收器在RGB液晶屏应用点击打开链接        各种液晶屏接口定义TCON,TTL,LVDS 点击打开链接       LCD中常用LVDS信号介绍点击打开链接       Samung LCD接口原理点击打开链接      LCD与RGB接口点击打开链接点击打...

2018-06-21 15:53:02 3323 2

转载 内核与ramdisk到底是什么关系?

假如把所有驱动/模块都编译进内核(注:即编一个通用的、万能的内核),那自然没问题,但是这样就违背了“内核”的精神或本质,所以一般来说驱动/模块都驻留在根文件系统本身上/lib/modules/xxx,那么“鸡蛋”问题就来了,现在要mount根文件系统却需要根文件系统上的模块文件,怎么办?于是,就想出ramdisk,内核总是能安装ramdisk的(注:这是因为ramdisk临时文件系统和内核一样,也...

2018-06-20 15:21:04 1190

转载 Android编译系统分析五:system.img的生成过程

我们在完整编译android系统的时候,最终会生成几个重要的镜像文件,其中有system.img,userdata.img,ramdisk.img等。这篇文章的目的是分析system.img的生成过程。 回想下我们完整编译android系统时的动作,我们会在android源码顶级目录执行make命令,这样就会完整的编译android系统,我们没有传入任何参数(-jx等加快编译的除外),因为我们没有...

2018-06-20 14:58:25 330

转载 Android编译系统分析四:实战-新增一个产品

通过上一节“android编译系统(三)-make”的分析,初步理清楚了编译初期加载产品相关信息的流程,整个过程主要涉及三个文件:1.AndroidProducts.mk,2.具体产品的配置文件,3.BoardConfig.mk,加上lunch需要的vendorsetup.sh文件,总共只需要四个文件就可以了,所以我们不妨成热打铁,赶紧尝试下如何新增一个产品。因此,android编译系统镜像文件的...

2018-06-20 14:46:27 344

转载 Android编译系统分析三:make完整编译android系统

这篇博客的目标是摸清楚默认编译整个android系统时代码的流程。当我们执行make的时候,会查找当前的Makefie文件或者makefile文件并且执行,在android顶级源码目录下面,确实有个Makefile,它之后一行内容:[plain] view plain copy### DO NOT EDIT THIS FILE ###  include build/core/main.mk  ##...

2018-06-20 14:30:53 1884

原创 Android编译系统分析二:mm编译单个模块

因为Android的编译系统不同于Linux Kernel的递归式的编译系统,它的编译系统是一种称之为independent的模式,每个模块基本独立(它有可能依赖其他模块),每个模块都可以单独编译,这是Android independent编译系统模式的好处。但这并不意味着它是完美的,普通电脑编译android系统需要8个小时甚至更多(以本人的电脑为例),而编译linux kernel只需要半个小...

2018-06-20 14:12:11 276

转载 android编译系统分析一:source build/envsetup.sh与lunch

虽然已经有很多人分析过android的编译系统的代码了,我也看过他们的博客,也学到了不少知识,但单纯的看别人分析,终究还是理解的不深入,所以,我还是要自己再认真的分析一遍。想想我们编译android系统的过程:首先:source build/envsetup.sh其次:lunch    ---选择一个特定的类型最后:make按着这个顺序,追踪这看似简单的几步,到底有哪些背后的秘密?   1. so...

2018-06-20 11:49:02 973

转载 Linux Graphic DRI Wayland 显示子系统

1. 前言上篇文章(Linux graphic subsytem(1)_概述)介绍了linux图形子系统基本的软件框架,以及GUI、Windowing system、3D渲染等基本概念。文中提到了linux DRI(Direct Render Infrastructure)框架,但限于篇幅,没有过多介绍。蜗蜗觉得,DRI在当前(或者说将来)的linux图形子系统中,有着举足轻重的地位,甚至可以说是...

2018-06-15 20:34:34 825

转载 Linux Graphic DRI 显示子系统 介绍1

1. 前言图形子系统是linux系统中比较复杂的子系统之一:对下,它要管理形态各异的、性能各异的显示相关的器件;对上,它要向应用程序提供易用的、友好的、功能强大的图形用户界面(GUI)。因此,它是linux系统中少有的、和用户空间程序(甚至是用户)息息相关的一个子系统。本文是图形子系统分析文章的第一篇,也是提纲挈领的一篇,将会从整体上,对linux显示子系统做一个简单的概述,进而罗列出显示子系统的...

2018-06-15 20:33:25 1730

转载 imx6 板卡移植官方yocto版本(2_定制系统)

上一节中已经讲述了如何去构建编译环境,这一节讲一下如何定制专属于自己板卡的系统。1.配置linux内核官方repo下来的yocto项目里配置了多个内核可选,我们可以在yocto目录下/source/meta-fsl-arm/recipes-kernel/linux中找到,配置的三个内核如下:linux-fslc_3.8.bb-->kernelmainline(fromkernel.org)l...

2018-06-06 20:25:45 441

转载 imx6 板卡移植官方yocto版本(1_安装环境)

玩imx6板卡也有两年了,之前由于各种原因(主要是懒),一直用的是官方的LTIB版本,这里必须要吐槽一下这个LTIB,各种错误百出,而且严重挑系统,硬是将我从CentOS阵营搞到Ubuntu社区。最近由于有其他用途,终于花了一周时间移植了这个庞大的系统。1.系统准备(以ubuntu14.04LTS为例)在命令行下使用apt-get安装如下软件:#sudoapt-getinstallgawkwget...

2018-06-06 20:24:46 399

转载 Yocto的使用实例

Yocto的使用实例本文以往rootfs中添加一个软件包为例,阐述使用Yocto定制发行版的大致流程。 有关Yocto的功能和结构介绍,详见Yocto详解1.开发环境构建一般有两种情况:一种是公司服务器中已有了Yocto,我们只需在个人账户下简单复制Yocto开发环境即可。另一种情况是什么都没有,在服务器或个人电脑上从零搭建Yocto开发环境。在这里我们假设已经有了Yocto需要的基本依赖库,如果...

2018-06-06 20:18:58 1666

转载 Yocto基本概念及介绍

Yocto详解参考:http://www.yoctoproject.org/docs/2.1/mega-manual/mega-manual.html#creating-a-general-layer-using-the-yocto-layer-script 这篇文章第五章不错1.名词解释Yocto:Yocto是这个开源项目的名称,该项目旨在帮助我们自定义Linux系统Poky:Poky有两个含义...

2018-06-06 20:18:36 567

转载 ARM嵌入式平台性能测试

在新项目需要选择一个全新的基于ARM嵌入式处理器平台的时候,难免会需要对新平台的性能进行评估,这时候有几种思路可以进行参考,一是ARM芯片厂家发布的性能指标,不过大多数是基于理论情况;二是购买同样平台的开发板移植应用进行实测,效果最直接但是可能需要花费较大精力和时间;那么这个时候也可以考虑使用针对性的benchmark软件在目标平台上面进行性能测试,算是一个折衷的方法,其结果有一定参考意义但由于影...

2018-06-06 19:48:56 1632

转载 Linux中的DRM 介绍

Linux中的DRM如果在搜索引擎离搜索 DRM 映入眼帘的尽是Digital Rights Managemen,也就是数字版权加密保护技术。这当然不是我们想要的解释。在类unix世界中还有一个DRM即The Direct Rendering Manager,它是DRI(Direct Rendering Infrastructure)框架的一个组件。而DRI的作用是为类Unix系统提供高效视频加速...

2018-06-06 19:29:46 7751

转载 4.x版本内核中platform_device的生成

一、Display ServerX Windows 和 X ServerThe X Window System (X11, or shortened to simply X) is a windowing system for bitmap displays, common on UNIX-like computer operating systems. X provides the basic ...

2018-06-06 19:12:27 197

原创 LCD显示问题-lcd中像素深度bpp和像素格式(比如RGB,YUV)的关系

lcd中像素深度bpp和像素格式(比如RGB,YUV)的关系像素深度(bits per pixel,简称bpp)一个像素的颜色在计算机中由多少个字节数据来描述。计算机中用二进制位来表示一个像素的数据,用来表示一个像素的数据位越多,则这个像素的颜色值更加丰富、分的更细,颜色深度就更深。一般来说像素深度有这么几种:1位、8位、16位、24位、32位。像素格式(pixel format)像素色彩按分量的...

2018-06-06 09:52:54 1433

原创 Linux中SysRq的使用(魔术键)

魔术键:Linux Magic System Request Key Hacksvim kernel/power/poweroff.c当Linux 系统不能正常响应用户请求时, 可以使用SysRq小工具控制Linux. 一 SysRq的启用与关闭 要想启用SysRq, 需要在配置内核时设置Magic SysRq key (CONFIG_MAGIC_SYSRQ)为Y. 对于支持SysRq的内核, /...

2018-06-05 20:45:19 2936

原创 4.x版本内核中platform_device的生成

内核版本:Linux-4.9在3.x版本内核中platform_device不再静态定义,而是通过device tree来动态生成,例如(arch/arm/mach-s3c24xx/mach-sc2416-dt.c):[cpp] view plain copystatic void __init s3c2416_dt_machine_init(void)  {      of_platform_p...

2018-06-05 20:12:00 2634 1

原创 查看内核中每个函数花费的时间 initcall_debug

实现查看内核启动的时候每个函数花费的时间在uboot的环境变量中 添加如下信息,就可以在内核启动的时候查看到每个函数花费的时间添加: initcall_debug=1Linux version 3.10.40 1. 使用说明Documentation/kernel-parameters.txt中的说明如下:         initcall_debug  [KNL] Trace initcalls...

2018-06-04 20:43:24 693

转载 GPU的介绍 以及原理的分析

1 GPU是什么      如图1所示,这台PC机与普通PC机不同的是这里插了7张显卡,左下角是显卡,在中间的就是GPU芯片。显卡的处理器称为图形处理器(GPU),它是显卡的“心脏”,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的。      GPU计算能力非常强悍,举个例子:现在主流的i7处理器的浮点计算能力是主流的英伟达GPU处理器浮点计算能力的1/12。图1 显卡与GPU2...

2018-06-04 16:43:08 29737 1

转载 IMX6的相关音频结构体的定义

在IMX上的音频接口主要有3种接口,分别为SSI, SPDIF, ESAI 等;platform 连接 codec 与 cpu 的驱动时,通过内核函数结构体static struct snd_soc_dai_link 来设置两边的接口;SSI接口中,IMX6中的SSI接口有3对可以接着路I2S;三路SSI可以每路SSI 单独作为一个声卡,也可以是一个声卡包含多个设备;以下的定义模式是一个声卡多个设...

2018-06-04 16:42:32 873

转载 Linux电源管理(10)_autosleep

Linux电源管理(10)_autosleep作者:wowo 发布于:2014-9-18 23:42 分类:电源管理子系统1. 前言Autosleep也是从Android wakelocks补丁集中演化而来的(Linux电源管理(9)_wakelocks),用于取代Android wakelocks中的自动休眠功能。它基于wakeup source实现,从代码逻辑上讲,autosleep是一个简单...

2018-06-04 11:51:28 139

转载 LCD 进入休眠的操作解决方式

LCD进入睡眠 echo "0" > /sys/class/graphics/fb0/blank LCD显示退出睡眠模式方法1、 echo -e "\033[9;0]" > /dev/tty02、echo 1 > /sys/class/graphics/fb0/blank 如果想屏幕永不休眠,在UBOOT启动参数bootargs中增加  consoleblank=0在/sys/c...

2018-06-04 09:40:23 1526

原创 Linux下LCD自动关闭解决方法,一般就自动十分钟黑屏的原因

Linux下LCD自动关闭解决方法主机环境:Gentoo Linux 11.2内核版本:Linux Kernel 3.2.1原创作品,转载请表明http://blog.csdn.net/yming0221/article/details/7339296正常情况下Linux会在一段时间后默认关闭屏幕,默认为10分钟。这里你可能会认为是Gnome或KDE等桌面环境设置的屏幕保护程序或电源管理功能,即使...

2018-06-04 09:27:32 1395

原创 Linux 设备树device tree 使用手册

摘要:设备树使用手册Thispagewalksthroughhowtowriteadevicetreeforanewmachine.Itisintendedtoprovideanoverviewofdevicetreeconceptsandhowtheyareusedtodescribeamachine.本文将介绍如何为一个新机器编写设备树。我们准备提供一个有关设备树概念的概述和如何使用这些设备树...

2018-06-02 16:47:47 602

原创 linux 比较新的设备树 详解 device tree

一、设备树总览首先,设备树是一种数据结构,他用来描述一个系统的硬件组织,比如说一个BBB开发板是由哪些模块组成的。既然如此,如何描述一个组织呢?分为两部分。各个组件的层次关系。每个组件的具体信息。这是通过常理就能推断出来的。然后根据这两条常识,结合设备树知识可以知道,dts文件中的每个节点代表一个组件,整个设备树的层级关系也就是各个组件的层次关系。二、各个组件的描述每个组件的信息通过属性prope...

2018-06-02 16:33:26 972

转载 Linux cpuidle framework(4)_menu governor

Linux cpuidle framework(4)_menu governormenu governor的主要任务就转化为两个:1. 根据系统的运行情况,预测CPU将在C state中停留的时间(简称predicted_us);2. 借助pm qos framework,获取系统当前的延迟容忍度(简称latency_req)。1. 前言本文以menu governor为例,进一步理解cpuidl...

2018-06-02 15:35:35 200

转载 imx6 LCD 参数配置(lvds为例)

目前imx6的BSP开发中,lvds的参数配置一般在两个地方: 1. uboot的CMDLINE的参数设置,形如: video=mxcfb0:dev=ldb,bpp=32 2. uboot板级代码中对struct display_info_t的配置,形如:static struct display_info_t const displays[] = {{ .bus = -1, ...

2018-06-02 13:50:09 2305 3

ping 的用法

cmd 中ping 的用法 可以大家好好学习互相交流沟通

2013-12-15

offer 三剑客

面试 c/c++ 岗位的必看 剑指offer,提高你的语法和数据结构的能力 还要 练习编程 提高 面试的时候 临时的手写代码,以防万一吗这样才能够提高你的面试的结构说白了 就是 工资的多少 做技术就是看你的水平的了

2017-09-21

mqtt 中文手册

mqtt 很详细的 中文 手册

2017-06-14

求先锋商泰c/c++笔试题

发表于 2017-07-24 最后回复 2017-09-15

空空如也
提示
确定要删除当前文章?
取消 删除