<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[慢加的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u012890170</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u012890170]]></copyright><item><title><![CDATA[音频4-android音频框架( 重点在AudioFlinger 和 AudioPolicyService服务 )]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/93499682</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/93499682</guid><author>u012890170</author><pubDate>Mon, 24 Jun 2019 17:48:19 +0800</pubDate><description><![CDATA[计划分成下面8章来详细展开，后面再根据实际情况做调整。

1.基础知识（硬件，音频相关概念）
2.ALSA/ASOC音频驱动框架
3.codec 驱动dapm 相关（kcontrol、widget、route）,以及hal层设置通路
4.android 音频框架( 重点在AudioFlinger 和 AudioPolicyService服务 )
5.音频通路的选择（AudioTrack播放选择设备...]]></description><category></category></item><item><title><![CDATA[音频2-ALSA/ASOC音频驱动框架]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/90045236</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/90045236</guid><author>u012890170</author><pubDate>Thu, 09 May 2019 18:25:06 +0800</pubDate><description><![CDATA[本章讲解了ALSA框架和ASOC框架的大致流程，为什么ASOC框架需要出现，并从ASOC框架的三个部分 platform machine codec进行比较详细的描述]]></description><category></category></item><item><title><![CDATA[音频1-基础知识（硬件，音频相关概念）]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/89927050</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/89927050</guid><author>u012890170</author><pubDate>Wed, 08 May 2019 14:53:45 +0800</pubDate><description><![CDATA[接下来计划针对音频做一个较为详细的总结：
1.基础知识
2.ALSA/ASOC框架
3.codec 驱动dapm 相关（kcontrol、widget、route）,以及hal层设置通路
4.android 音频框架( 重点在AudioFlinger 和 AudioPolicyService服务 )
5.音频通路的选择（yi）
先从基础知识介绍，再到ASOC框架，再到android 录音播放流程，...]]></description><category></category></item><item><title><![CDATA[Android硬件访问框架]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/84332150</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/84332150</guid><author>u012890170</author><pubDate>Wed, 21 Nov 2018 23:59:42 +0800</pubDate><description><![CDATA[Android硬件访问框架
本文内容总结由本人总结，转载请声明。
前言
本文将介绍android 上层应用访问硬件整个流程的框架，去除繁枝杂叶，从app到驱动整个流程，从上到下讲解。
android操作硬件的基本流程如下
app通过jni接口 loadLibrary加载了c库，通过调用c库的函数，进而操作到驱动。

正常到这里已经能使用了，android 为了统一就推出了jni接口标准文件，流程图...]]></description><category></category></item><item><title><![CDATA[android 系统属性介绍]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/80686664</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/80686664</guid><author>u012890170</author><pubDate>Wed, 13 Jun 2018 23:23:14 +0800</pubDate><description><![CDATA[android 系统属性介绍

本文属于原创，转载请声明。



前言

Android系统中有一套全局统一的属性管理机制，每个属性都有一个名称和值。属性被大量使用在Android系统中，用来记录系统设置或进程之间的信息交换。每一个安卓的工作者，无论是上层还是底层都必须深刻清晰的理解使用系统属性。



一.属性类别


ro开头的属性，表明该属性是只读的，重启失效。系统启动之后第一次设置之后不能...]]></description><category></category></item><item><title><![CDATA[Android init.rc 文件规则详解]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/80659425</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/80659425</guid><author>u012890170</author><pubDate>Mon, 11 Jun 2018 23:29:12 +0800</pubDate><description><![CDATA[Android init.rc 文件规则详解

init.rc文件是 android系统一个十分重要的文件，本文先忽略这个文件的解析的具体的运行，先从文件的规则讲起，先学会用，下一篇文章再讲 init 进程具体的代码分析。

一.文件位置

终端：/init.rc 
源码：/device/rockchip/rk322x/init.rc （其他平台，位置类似）

二.规则

先...]]></description><category></category></item><item><title><![CDATA[bus hound 使用介绍]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/80642106</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/80642106</guid><author>u012890170</author><pubDate>Sun, 10 Jun 2018 16:16:45 +0800</pubDate><description><![CDATA[bus hound 使用记录
前言
我们在调试usb 设备的时候，会遇到usb通信需要调试的情况，可以使用bus hound软件进行辅助调试，下文介绍了bus hound的基本使用]]></description><category></category></item><item><title><![CDATA[打印调用栈]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/80641381</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/80641381</guid><author>u012890170</author><pubDate>Sun, 10 Jun 2018 15:09:29 +0800</pubDate><description><![CDATA[打印调用栈
我们在实际开发中经常会遇到两种种情况：
1.是谁调用了这个函数，为什么程序会跑到这里来了？ 
2.我们要分析代码的调用流程。
一.先看java层的 
二.c/c++ 层]]></description><category></category></item><item><title><![CDATA[[ rk 平台 ] dd 命令的使用]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/80641073</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/80641073</guid><author>u012890170</author><pubDate>Sun, 10 Jun 2018 14:34:36 +0800</pubDate><description><![CDATA[dd命令的使用

我们经常会遇到需要替换某个分区，但是又没有原来烧录的分区表，这个时候 dd 命令就派上用场了

下面已两个例子来说明这个命令的使用：...]]></description><category></category></item><item><title><![CDATA[Jni 使用总结第二篇：c程序调用java]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/78386492</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/78386492</guid><author>u012890170</author><pubDate>Sun, 29 Oct 2017 17:13:44 +0800</pubDate><description><![CDATA[Jni使用总结二c程序调用java前言众所周知,Java语言是将源代码编译成class文件的，并不能直接运行，需要在虚拟机中解析之后才能运行。个人理解jni的作用就是在我们的C程序中创建虚拟机，然后将java程序加载进来运行，根据我们的需求使用类的属性和方法。1.java 程序我们在c函数中将会对 age属性进行设置和]]></description><category></category></item><item><title><![CDATA[Jni 使用总结第一篇：java调用c库]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/78380041</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/78380041</guid><author>u012890170</author><pubDate>Sat, 28 Oct 2017 22:15:01 +0800</pubDate><description><![CDATA[Jni 使用总结：java调用c库；JNI是Java Native Interface的缩写，它提供了若干的API实现了Java和其他语言的通信（主要是C&C++）。本文详细介绍了使用的整个流程，帮忙新手上手编写，分享即收获。]]></description><category></category></item><item><title><![CDATA[通过HDMI获取显示器EDID数据]]></title><link>https://blog.youkuaiyun.com/u012890170/article/details/71513059</link><guid>https://blog.youkuaiyun.com/u012890170/article/details/71513059</guid><author>u012890170</author><pubDate>Tue, 09 May 2017 23:33:08 +0800</pubDate><description><![CDATA[通过HDMI获取显示器EDID数据]]></description><category></category></item></channel></rss>