- 博客(100)
- 资源 (2)
- 收藏
- 关注
原创 Linux驱动-基于Buildroot构建系统镜像后实现基于QT项目开发之环境配置
设计好UI界面,并且写好代码之后,把以上项目文件夹复制到Ubuntu中编译可执行程序放到板子;可得到可执行文件放入板子中执行即可。
2023-08-12 17:34:29
773
原创 Linux Audio (8) DAPM-5 DAPM情景分析_构造过程(待完善)
对于Mux, Mixer根据kcontrol创建snd_control。根据上述的原则,对下面的route进行path转化。这节课主要是对下面这张图进行设置path,即。
2023-05-21 22:17:44
275
原创 Linux Audio (7) DAPM-4 Path/Route添加过程
它会导到Mux/Mixer中,snd_kcontrol_new被构造成snd_kcontrol,进而设置path->kcontrol。name1和name2是kcontrol,可以通过控制kcontrol来打开某条path。{“sink”, NULL, “source”},其path->connect=1。只有一个kcontrol,通过设置kcontrol 的value来打开某条path。根据名字找到source, sink widget。.sink : 指向sink widget。
2023-05-21 21:26:26
668
原创 Linux Audio (6) DAPM-3 damp的kcontrol注册过程
为例,该widget包含一个Mixer和三个kcontrol;而Muxer则只包含有一个kcontrol;Trace 普通的kcontrol是如何添加到内核中去的,其实在。对于Mixer 和 Muxer有不同的处理。三个kcontrol的注册过程。
2023-05-21 19:41:12
703
原创 Linux Audio (5) DAPM-2 Widget/Path/Route
tinymix 设置普通的kcontrol:直接设置寄存器tinymix 设置DAPM的kcontrol:设置所在Path的connect位调用tinyplay, tinycap在传输数据之前:调用在有app使用声卡时会找出complete path,设置上面所有的widget(上电)
2023-05-21 16:40:19
855
原创 Linux Audio (4) ASOC代码分析-基于kernel3.4.2
ASoC是ALSA在SoC方面的发展和演变,它的本质仍然属于ALSA,但是在ALSA架构基础上对CPU相关的代码和Codec相关的代码进行了分离,其原因是采用传统ALSA架构情况下,同一型号的Codec工作于不同的CPU时,需要不同的驱动,这是不符合代码重用的要求的。符号其接口类型的Codec,只有3是不通用的,由特定的电路板上具体的CPU和Codec确定,因此它很像一个插座,上面插着Codec和平台这两个插头。(3)板驱动,这一部分将平台驱动和Codec驱动绑定在一起,描述了板一级的硬件特征。
2023-05-20 19:38:09
841
原创 Linux Audio (4) ASOC代码分析-基于kernel4.19
[TOC](Linux Audio (4) ASOC代码分析)目的在学习ASOC整体框架以及分析方法,而不是死记硬背。Asoc架构会随着Linux Kernel版本改变,有时候可能会引入新概念,所以要掌握分析方法。
2023-05-20 11:33:53
1221
原创 Android硬件服务访问(5):在Application Frameworks层增加硬件访问服务
Android硬件服务访问4:在Application Frameworks层增加硬件访问服务
2022-11-06 15:55:46
656
原创 Android硬件服务访问(4):编写JNI方法提供Java访问硬件服务接口
Android硬件服务访问(4):编写JNI方法提供Java访问硬件服务接口
2022-11-06 15:30:51
816
原创 电子产品量产工具-软件架构-页面系统
该笔记为百问网韦东山老师免费课程学习过程的整理,学习过程中,软件架构思想很重要,所以在每学习完一个单元后悔整理一下。
2022-07-10 15:43:19
337
原创 电子产品量产工具-软件架构-输入系统
该笔记为百问网韦东山老师免费课程学习过程的整理,学习过程中,软件架构思想很重要,所以在每学习完一个单元后悔整理一下。
2022-07-03 17:33:39
297
原创 [Linux驱动之路] 驱动设计的思想_面向对象_分层_分离—程序扩展
韦东山老师的Linux驱动设计基础课程的p128 5_101驱动设计的思想_面向对象_分层_分离这课在开发板上实作练习,可控制imx6ull_pro板子的LED开关。基于韦老师代码的基础上,更改如下代码:led_resource.h#ifndef _LED_RESOURCE_H#define _LED_RESOURCE_H/* GPIO3_0 *//* bit[31:16] = group *//* bit[15:0] = which pin */#define GROUP(x) .
2022-04-24 21:29:17
464
2
原创 嵌入式Linux之路读书和学习计划
嵌入式Linux之路读书和学习计划书籍视频书籍《嵌入式Linux基础教程》计划学习时长一个月,12月31号看完主要内容《嵌入式Linux应用开发完全开发手册》计划学习时长一个月,1月31号看完主要内容学习时间段:主要的学习时间放到下班回来以及周末时间看书,公司晚上也可以观看电子版书籍来学习。学习达成目标:快速地建立起嵌入式Linux系统架构的基本概念和知识框架。视频暂时不看视频教程,因为比较耗时。...
2021-12-04 12:14:26
167
原创 基础:bluetooth协议记录
蓝牙物理链路:SCO和ACLSCO(同步定向连接) - 是一种双向的音频数据的传输链路,该链路只支持8K及16K单声道的音频数据,主要用于同步话音传送。SCO连接为对称连接,利用保留时隙传送数据包。连接建立后,主设备和从设备可以不被选中就发送SCO数据包。SCO数据包既可以传送话音,也可以传送数据,但在传送数据时,只用于重发被损坏的那部分的数据。ACL(异步无连接) - 主要用于分组数据传送。ACL为面向无连接的异步链路,是主单元与共存于微微网中的所有从单元之间实现一点多址的连接方式。它既支持对称连接
2021-10-18 10:25:55
781
原创 C语言-链表和字符串翻转
链表翻转typedef struct Node{ int data; Node * next;}Node, *pNode;pNode LinkReverse(pNode pLink){ pNode pf, pq, pr; pf = pLink; pq = pf->next; while (NULL != pq) { pr = pq->next; pq->next = pf; pf = pq; pq = pr; } pLink->next
2021-10-18 10:23:44
223
原创 Linux命令
Linux命令Linux常用命令VI编辑器命令VI高级指令GCC常用命令Linux常用命令pwd当前文件位置ls -a文件夹所有文件ls -l文件夹列表ls -R递归显示文件目录cat -s多个空行合并查看文件cat -b加行号显示查看文件nl加行号head -n 文件名前 n 行查看tail -n 文件名后 n 行查看cp file_1 file_2复制 file_1 为 file_2cp file
2021-10-18 10:23:20
70
原创 Git代码提交说明文档-初稿
Git代码提交说明文档-初稿1 写在前面的话该文档以一个软件工程师在整个产品开发周期中的代码提交过程为场景,来为软件开发人员提供详细的Git提交以及分支管理使用参考。其中,产品开发周期主要分为几个阶段:EV (开发验证,送样)、DV (试产)、PV (量产)本文档包括以下四方面:指令说明,错误处理,分支管理,场景示例。2 指令说明基础代码git add .git commit -m "提交注释"git tag V1.0 -m "realse v1.0" git push -u -
2021-09-09 18:53:10
669
原创 BLE Mesh-1の基本概念
Mesh基本概念广播和洪泛:蓝牙Mesh技术采用BLE的广播报文来实现,这是一种基于洪泛的信息传递机制。缺点:1. 信息泛滥;解决:1. 消息缓存队列;2. TTL字段。节点和设备:未在网络中的设备加入Mesh网络中后称为节点,这个过程称之为配网过程(Provisioning)。网络和子网:一个蓝牙Mesh网络中有以下四种资源是共享的:节点的网络地址网络密钥应用密钥IV Index在此基础上,蓝牙Mesh网络可以划分为多个子网,便于分类管理和统一控制。元素:每个节点都有至少包含
2020-11-19 21:30:03
454
原创 数据结构与算法@双向链表
双向链表双向链表的数据结构双向链表的建立双向链表的插入节点双向链表的删除节点双向链表的遍历双向链表的长度双向链表查找节点双向链表替换节点主函数http://c.biancheng.net/view/3343.html双向链表的数据结构typedef struct line{ struct line * prior; //指向直接前趋 int data; struct line * next; //指向直接后继}line;双向链表的建立line* initLine(lin
2020-09-19 20:26:55
314
原创 BT-10の蓝牙技术原理のBT协议-应用框架の蓝牙音视频应用框架-AVRCP
BT协议-应用框架の蓝牙音视频应用框架蓝牙音视频遥控应用框架-AVRCP一,设备角色二,应用模型三,AVRCP遥控操作四,AV/C 指令与响应五,AVRCP所支持的设备指令六,AVRCP的设备AV功能分类通用音视频分发应用框架-GAVDPGAVDP通信规范设备状态连接控制传输控制信令控制安全控制高级音频分发应用框架-A2DPA2DP通信流程A2DP音频编码本节介绍三个蓝牙音视频的高级应用框架:蓝牙音视频遥控应用框架-AVRCP:实现蓝牙无线遥控功能的规范。它只描述遥控器的控制功能,不负责处理音频视频数
2020-08-19 20:36:26
1373
4
原创 BT-10の蓝牙技术原理のBT协议-应用框架の蓝牙通用访问协议(GAP)
BT协议-应用框架の蓝牙通用访问协议-GAP一,GAP连接模式二,GAP空闲模式三,GAP连接建立GAP 是其他所有蓝牙应用框架的基础,它描述了两个蓝牙设备监理通信时必要的基本操作,包括设备的发现,链路的建立和配置以及安全性设置。GAP描述了蓝牙底层传输协议的应用,主要包括 链路控制器(LC) 和 链路管理器(LM),同时为了安全起见,特涉及到一些高层协议,如逻辑链路控制协议(L2CAP),串口仿真协议(RFCOMM)和对象交换协议(OBEX)。从三个方面来介绍GAP:GAP连接模式,GAP空闲模式,
2020-08-18 11:08:15
872
原创 BT-9の蓝牙技术原理のBT协议の蓝牙音频视频控制传输协议(AVCTP)
蓝牙技术原理のBT协议の蓝牙音频视频控制传输协议-AVCTP一,概述AVCTP 定义了蓝牙音频视频设备之间传输控制指令和响应消息的标准。AVCTP给出了在点对点链路上传输指令与响应消息进而控制远端的蓝牙音频视频设备的过程。具体的指令与响应消息格式在相应的应用框架当中定义,如AVRCP,GAVDP,A2DP,VDP。AVCTP事务(Transaction)是指AVTCP指令和响应的交互过程。发送指令的控制器(CT)初始化会话过程并发送指令,接受指令的目标设备(TG)根据指令将自身的当前状况以响应消息的形
2020-08-17 22:36:59
1739
原创 BT-8の蓝牙技术原理のBT协议の蓝牙音频视频分发传输协议(AVDTP)
蓝牙音频视频分发传输协议-AVDTPAVDTP概述传输服务及传输过程信令过程 及 信令消息蓝牙音频视频分发传输协议(AVDTP): 定义了蓝牙设备间A/V数据流的协商,建立,和传输过程以及相互交换信令消息形式。AVDTP概述音视频的应用协议和应用框架总览为:AVDTP实现实体通过L2CAP分组进行:A/V数据流的传输A/V信令的交换如下图所示:这两者的关系:A/V信令 提供 A/V数据流 的发现,配置,建立和传输控制功能。基本的概念和术语:Stream:两个点对点设备之
2020-08-17 21:38:32
1199
原创 程序员面试宝典笔记2-指针与引用
程序员面试宝典笔记2-指针与引用指针基本问题传递动态内存函数指针指针数组与数组指针迷途指针指针和句柄this指针 (C++)
2020-08-13 18:03:43
224
原创 BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)
1)L2CAP架构L2CAP位于Bluetooth Host中,包括两个子模块:Channel Manager主要负责创建、管理、释放L2CAP channel。L2CAP Resource Manager负责统一管理、调度L2CAP channel上传递的PDU(Packet Data Unit),以确保那些高QoS的packet可以获得对物理信道的控制权。###################################L2CAP Protocol7.1 功能介绍经过Link La
2020-07-28 15:56:29
699
头插法创建线性链表算法分解演示.pptx
2020-01-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人