- 博客(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
641
原创 六. 中断
GIC的寄存器被映射为内存中(Memory-mapped)。GICD_* 为 Distributor相关的寄存器GICC_* 为 CPU Interface相关的寄存器GICV_, GICH_, 虚拟/管理相关的寄存器CIG的寄存器基地址有协处理器 CP15 管理。存放在C0寄存器。
2023-08-01 09:03:12
218
1
原创 五. 时钟
时钟树分为3个部分: CLOCK_SWITCHER、 CLOCK ROOT GENERATOR 和7 路 PLL 和8 路 PFD直接提供给外设的时钟.选择时钟源, 控制开关, 配置分频.
2023-07-23 18:48:10
188
原创 一. I.MX6U开发环境搭建
编译工具的目录:光盘目录: 5. 开发工具->1、交叉编译器-> gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。
2023-07-05 22:24:42
170
原创 二. 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
541
原创 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
3160
原创 AudioTrack 参数的初始化
AudioTrack 参数的初始化接下来我们重点看一下set函数,其中set函数分成两个部分,参数相关的设置和创建IAudioTrack。这里我们重点看一下参数相关的初始化。1. 数据传输类型的判断这里主要根据调用者传入的transferType(数据传输类型), 回调函数(cbf)和共享内存(sharedBuffer)。(1) TRANSFER_SHARED模式,必须传入 sharedBuffer。这种模式适用于比较短的声音以及需要低延时播放的声音。数据只需要传一次,sharedBuffer就是
2021-08-02 14:12:14
1342
原创 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
882
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
713
原创 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
2858
原创 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
1597
原创 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
1306
原创 高通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
6880
4
原创 AudioPolicy--音量的控制
1. VolumeCurvesCollection(1) IVolumeCurvesCollectionIVolumeCurvesCollection *mVolumeCurves;mVolumeCurves = new VolumeCurvesCollection() 从AudioPolicymanager中可以看到,在操作音量的函数中,大都会调用mVolumeCurves的一些方法。比...
2018-06-30 18:44:32
7725
1
原创 《Linux内核设计与实现》学习笔记1——进程管理
1. 进程的概念进程(处于执行期的程序),一段可执行的程序代码+相关的的资源程序:完全有可能存在两个进程共同执行同一个程序资源包括:打开的文件,挂起的信号,内核的内部数据,处理器的状态,内存地址空间,一个或多个执行线程线程(执行线程),都拥有一个独立的程序计数器,进程栈和一组进程寄存器。内核的调度对象是线程而不是进程。在线程之间,可以共享虚拟内存,但是每个都
2017-07-03 15:18:18
433
转载 Linux系统调用
转自 : http://blog.youkuaiyun.com/orange_os/article/details/7485069目录:1. Linux系统调用原理2. 系统调用的实现3. Linux系统调用分类及列表4.系统调用、用户编程接口(API)、系统命令和内核函数的关系5. Linux系统调用实例6. Linux自定义系统调用1.系统调用原理系统调
2013-08-30 18:13:49
704
转载 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
594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人