自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小丑王

学无止境 勤能补拙

  • 博客(20)
  • 收藏
  • 关注

原创 七. 定时器

时钟选择:ipg_clk_24M、 GPT_CLK(外部时钟)、ipg_clk、ipg_clk_32k 和 ipg_clk_highfreq。当比较事件发生以后并不会复位计数器,而是继续计数,直到计数值为 0XFFFFFFFF,然后重新回滚到 0X00000000。PRESCALER(bit11:0),这就是 12 位分频值,可设置 0~4095,分别对应 1~4096 分频。按键中断处理函数内开 10ms 的定时器中断。OF3~OF1(bit2:0):输出比较中断标志位,比较事件发生以后此位置 1。

2023-08-11 11:11:26 571

原创 六. 中断

GIC的寄存器被映射为内存中(Memory-mapped)。GICD_* 为 Distributor相关的寄存器GICC_* 为 CPU Interface相关的寄存器GICV_, GICH_, 虚拟/管理相关的寄存器CIG的寄存器基地址有协处理器 CP15 管理。存放在C0寄存器。

2023-08-01 09:03:12 161 1

原创 五. 时钟

时钟树分为3个部分: CLOCK_SWITCHER、 CLOCK ROOT GENERATOR 和7 路 PLL 和8 路 PFD直接提供给外设的时钟.选择时钟源, 控制开关, 配置分频.

2023-07-23 18:48:10 121

原创 三. Cortex-A7简介

text 表示代码段。.data 初始化的数据段。.bss 未初始化的数据段。.rodata 只读数据段。

2023-07-07 16:33:11 1228

原创 一. I.MX6U开发环境搭建

编译工具的目录:光盘目录: 5. 开发工具->1、交叉编译器-> gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。

2023-07-05 22:24:42 132

原创 二. I.MX6U开发板简介

CPU: MCIMX6Y2CVM08AB(工业级), 800MHz(实际 792MHz), BGA289外扩 DDR3L: NT5CC256M16EP-EK, 512MB 字节,商业级。EMMC: KLM8G1GET,这是一个 8GB 的 EMMC 芯片。两个 2*30 的防反插 BTB 座,共引出 120 PIN。

2023-04-04 21:29:41 428

原创 SM8350 Codec通路图:bolero + wcd9385 + CS35L41

SM8350 Codec通路图:bolero + wcd9385 + CS35L41上行通路wcd9385 TXBolero TX下行通路Belero RXwcd9385 RXCS35L41下行输出上行参考信号以下内容完全基于开源代码的分析cs35l41.c,wcd938x.c,rx-macro.c,tx-macro.c上行通路wcd9385 TXBolero TX下行通路Belero RXwcd9385 RXCS35L41下行输出上行参考信号...

2021-12-25 15:58:56 2884

原创 AudioTrack 参数的初始化

AudioTrack 参数的初始化接下来我们重点看一下set函数,其中set函数分成两个部分,参数相关的设置和创建IAudioTrack。这里我们重点看一下参数相关的初始化。1. 数据传输类型的判断这里主要根据调用者传入的transferType(数据传输类型), 回调函数(cbf)和共享内存(sharedBuffer)。(1) TRANSFER_SHARED模式,必须传入 sharedBuffer。这种模式适用于比较短的声音以及需要低延时播放的声音。数据只需要传一次,sharedBuffer就是

2021-08-02 14:12:14 1154

原创 AudioTrack Native的简介

AudioTrack Native的简介AudioTrack与MediaPlayer的区别:AudioTrack创建的流程使用AudioTrack播放1.获取Buffer的大小2.构造并初始化AudioTrac3.数据传输4. 结束播放一个AudioTrack(cpp)的实例AudioTrack参数的解析audio_stream_type_t streamType,audio_attributes_t* pAttributesAudioTrack(Native)是Audio模块Native层对外提供的用来

2021-03-25 21:10:46 774 1

原创 ALSA学习笔记 (4)Control

ALSA学习笔记 (4)Control1. 如何创建一个control1.1 定义一个snd_kcontrol_new结构体1.2 回调函数1.2.1 info 函数1.2.2 get 函数1.2.3 put 函数1.3 创建并添加一个 snd_kcontrol1. 如何创建一个control1.1 定义一个snd_kcontrol_new结构体static struct snd_kcontrol_new my_control __devinitdata = { .face = SNDRV_CTL_

2020-06-16 17:02:40 638

原创 ALSA学习笔记 (3)PCM

ALSA学习笔记 (3)PCM1. 概述2. 示例代码2.1 创建pcm实例2.2 设置PCM设备的操作函数2.3 定义PCM的操作函数2.4 定义硬件参数3. 创建pcm实例代码分析5 PCM逻辑设备的注册6 PCM信息运行时指针6.1 硬件描述6.2 运行状态6.3 私有数据7 结构图1. 概述每个pcm实例对应一个pcm设备文件。一个pcm实例由一个playback stream和一个capture stream组成,而每个 pcm stream由一个或多个pcm子流组成。当一个子流已经存在,并且

2020-06-09 16:50:55 2672

原创 ALSA学习笔记 (2) 声卡

ALSA学习笔记 (2) 声卡1. snd_card 描述声卡的结构体2 创建声卡的步骤2.1 创建一个 card 实例2.2 创建声卡的芯片专用数据2.3 设定驱动 ID 和名字2.4 创建声卡的逻辑设备2.5 注册声卡3 snd_card_new4 snd_card_register5. 关于声卡的其它接口5.1. 声卡管理5.2. 声卡逻辑设备管理5.3. Linux模块和设备相关5.4. 内存管理1. snd_card 描述声卡的结构体对于每个声卡,都需要有一个snd_card结构体来描

2020-06-05 22:30:32 1470

原创 ALSA学习笔记 (1) ALSA 简介

1. ALSA接口1.1 对用户空间的接口1.1.1 设备节点:/dev/snd/目录下controlC0:声卡0控制文件pcmC0D0c:声卡0,设备0,录制声音流操作文件pcmC0D0p:声卡0,设备1,播放音乐流操作文件pcmC0D1c pcmC0D1p 。。。。。。。。1.1.2 proc文件系统/proc/asound/1.1.3 debug 文件系统节点/sys/kernel/debug/asoc/1.2 对驱动的接口(1) 声卡相关的接口(2) PCM流的接口

2020-06-05 21:26:27 1247

原创 高通Audio Hal学习笔记(1)结构体的关系

高通Audio Hal学习笔记(1)结构体的关系1. Audio Hal的标准接口相关的结构体1.1 Module相关的结构体1.1.1 HAL_MODULE_INFO_SYM1.1.2 struct audio_module1.1.3 struct hw_module_t1.1.4 struct hw_module_methods_t1.2 Device相关的结构体1.3 Stream相关的接口2 高通针对接口的扩展2.1 audio_device结构体2.1.1 audio_device2.1.2 a

2020-06-03 21:18:45 6417 4

原创 Nuplayer 音视频同步学习笔记

介绍Nuplayer音视频同步的原理和实现

2018-08-22 12:17:37 2688 2

原创 AudioPolicy--音量的控制

1. VolumeCurvesCollection(1) IVolumeCurvesCollectionIVolumeCurvesCollection *mVolumeCurves;mVolumeCurves = new VolumeCurvesCollection()    从AudioPolicymanager中可以看到,在操作音量的函数中,大都会调用mVolumeCurves的一些方法。比...

2018-06-30 18:44:32 7407 1

原创 《Linux内核设计与实现》学习笔记3——系统调用

系统调用:内核提供的用户程序与内核进行交互的一组接口。

2017-11-06 22:11:45 264

原创 《Linux内核设计与实现》学习笔记1——进程管理

1. 进程的概念进程(处于执行期的程序),一段可执行的程序代码+相关的的资源程序:完全有可能存在两个进程共同执行同一个程序资源包括:打开的文件,挂起的信号,内核的内部数据,处理器的状态,内存地址空间,一个或多个执行线程线程(执行线程),都拥有一个独立的程序计数器,进程栈和一组进程寄存器。内核的调度对象是线程而不是进程。在线程之间,可以共享虚拟内存,但是每个都

2017-07-03 15:18:18 393

转载 Linux系统调用

转自 : http://blog.csdn.net/orange_os/article/details/7485069目录:1. Linux系统调用原理2. 系统调用的实现3. Linux系统调用分类及列表4.系统调用、用户编程接口(API)、系统命令和内核函数的关系5. Linux系统调用实例6. Linux自定义系统调用1.系统调用原理系统调

2013-08-30 18:13:49 665

转载 linux mmap 详解

转自: http://blog.chinaunix.net/uid-24517893-id-164217.html 一.前言mmap的具体实现以前在学习内核时学习过,但是对于其中的很多函数是一知半解的,有些只能根据其函数名来猜测其具体的功能,在本文中,一起来重新深入理解其具体的实现。二.mmap的用户层应用void *mmap(void *start,size_t

2013-08-30 16:29:18 559

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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