- 博客(28)
- 资源 (3)
- 收藏
- 关注

原创 A2B AD2428 & AD2433 调试总结
编译 ADI 代码:首先需要下载 ADI 提供的 A2B 软件开发工具包(SDK),文中提到的所有代码和文档都在这款软件的安装路径下。然后按照SDK提供的文档编写需要的代码的Makefile,并将代码加入到自己驱动中。必须的函数实现:我们需要实现 I2C 和 time 功能接口。这些接口通常由硬件提供商或芯片制造商提供,然后需要参考 ADI 提供的文档3.2.1章节,按照说明实现中的一些接口,建议复制 a2b-bf 目录下东西作为自己开发基线。
2023-04-22 10:07:01
2201
3
原创 通过源码编译部署 StrongSwan 实现跨主机 IPSec 通信
通过以上步骤,您将在两台 Ubuntu 主机之间建立基于IPSec的加密隧道。确认防火墙规则已正确放行UDP 500/4500端口。加密包而非明文 ICMP 请求。
2025-03-18 10:35:23
239
原创 处理 Audio PCM 数据24位偏移问题
通过上述代码,我们可以高效地修正PCM中因24位偏移导致的音频播放问题。这种解决方案不仅适用于当前问题,还可以作为处理其他PCM数据偏移问题的模板。希望这篇文章能为有类似需求的朋友提供帮助!
2024-12-20 22:19:13
592
原创 S32G-VNP-RDB2 开发环境搭建
刷完关机,将 SW10 第1位置为 ON,在默认配置基础上将 SW4 第6位置为 ON。Micro USB 连接 UART0,在默认配置基础上将 SW10 第1位置为 OFF,然后开机,根据下图步骤刷入。Micro USB 连接 UART0,在默认配置基础上将 SW10 第1位置为 OFF,SW3 置为 OFF,开机。刷完关机,将 SW10 第1位置为 ON,在默认配置基础上将 SW4 第7位置为 OFF。刷完插入SD卡,然后检查启动设置是否与默认配置一致,最后开机启动,串口 UART0。
2024-11-07 14:48:09
458
原创 国密芯片应用中的术语解析
指通过哈希函数处理后的数据, 未摘要数据就是原始数据ED25519 密钥生成器{外部认证权限,管理员权限,用户权限,设备权限}api_write_pin 获取写权限,管理员权限默认拥有写权限?
2024-10-12 14:29:04
406
原创 通过 MessageQueue 或者 hidl_memory 实现 HIDL 大数据传递
接收端需要创建 Data MessageQueue和 Status MessageQueue,并将它们通过回调传递给发送端。这是 BpBinder 的部分回调代码,返回的是 MQDescriptorSync 对象。以下内容来自 Audio HIDL 播放流程,经过了部分修改,但尚未经过测试。
2024-09-20 16:31:17
619
1
原创 高通8650 MI2S 调试经验总结
这是一个测试命令,用于验证 USB 耳机的播放功能。USB 耳机需要通过上层的动态设置来配置。经过一番猜测,这可能与以下位置有关,因为默认情况下,只对CHS_1进行了TKV配置,CHS_2需要手动选择后才能发现它也需要配置。之前在未修改CHS_2配置的情况下,将这里的设置更改为2声道时,声音一直存在不连续的问题。经过以上两处修改后,问题果然得到了解决。为什么我的MI2S输入不是双声道的?代码修改太多了,找时间再贴。蓝牙也需要上层动态设置,
2024-08-15 11:38:33
785
3
原创 高通8650 AudioReach 架构中 Virtual Mic & Loopback
然而,由于平板移除了自带的扬声器,在 DP in 场景下,平板需要使用座舱的扬声器。答:上层的任何应用程序在获取录音时,最终都会通过 Android 的标准 API 调用到 AudioFlinger,从 HAL 获取录音。上面提到,DP in 被用作录音设备。在实际方案讨论中,有人建议在 HAL 中添加 IPC,如果选择在 HAL 中添加 IPC,就需要找到 pcm_read 的位置进行场景区分。由于 DP in 是一种特殊的录音设备,专供特定应用使用,不需要开放给其他第三方应用,因此这个方案是可行的。
2024-07-27 12:36:59
1641
1
原创 A2B Bus Analyzer 使用总结
如果删除失败,需物理断电重新操作。在Std-Power Emulator的Device选项中,选择Emulate,设置为Main,将“NetWork Config File“填入刚刚导出的dat文件,然后点击开始按钮,完成主节点设置。将监视器连接到任意两个节点中,比如将上游节点的Port B连接到监视侧Port A,将监视侧Port B连接到下游节点的Port A。在相应位置填入分析仪的序列号:如果仿真器和监视器使用相同的分析仪,则填入共同的序列号,如果它们使用不同的分析仪,则分别填入每个设备的序列号。
2024-06-25 14:56:59
1518
4
原创 高通8650 Audio 简单分析
How to new deviceqcom\opensource\pal\configs\pineapple\usecaseKvManager.xml
2024-05-23 11:04:56
1766
3
原创 GKV组件含义记录
除了sample rate其他的都可以转换,Decoder后面一般用PCM Converter。用于将输入数据分割成多个输出数据端口,该模块用于将重放数据分割并路由到回声消除模块。该模块有多个输入端口,可以来自不同的时钟源,并将其漂移校正到目标时钟源。在任何ECNS模块之前都需要使用该模块来同步输入端口之间的数据。sample rate、format、channel转换。与解码器模块一起使用,可实现连续播放内容的无间隙播放。用于将单个流输入分割为多个流输出。用于将多个输入流累积为一个输出流。
2024-05-22 16:11:44
397
原创 高通8650 AudioReach架构中的GSL-Passthru-GPR推理过程
在分析audio-pkt.c(passthru)这个文件的代码时,我们推断它实现了一个名为aud_passthru_adsp的字符设备。原生tinyalsa pcm_open操作后端注册的dai link,把codec前后端连起来,还有codec上电,数据走agm。audio_prm.c 提供时钟控制接口,比如开关的功能,或者介于开关的feature调整。函数属性,实现了从应用处理器 (AP) 到后端驱动的通信。是一个包含函数指针的结构体,其中一个重要的函数指针是指向。的代码位于gpr_lx.c文件的。
2024-05-01 11:30:36
1220
原创 深入探究 TinyALSA Plugin的应用
这段代码通过动态加载自定义的动态链接库 “libsndcardparser.so”,该库自身实现了一系列与音频设备节点相关的函数。函数确定 PCM 设备的类型,如果是插件型设备,则使用插件操作(plug_ops),否则使用硬件操作(hw_ops)。文件,以获取具体的声卡信息,其中包括了 PCM 节点文件操作函数指针实现的动态链接库名称。这一设计允许动态加载并调用动态链接库中定义的函数,从而实现了对 PCM 插件的打开功能。中的函数指针,然后根据解析得到的类型(type),获取了。中,其实现为通过解析的。
2024-04-30 23:57:06
890
1
原创 我的收藏夹
Marvell 88E1145PHY芯片的初始化配置SPI驱动中使用gpio的irq中断selinux file_contextshttps://docs.nvidia.com/drivehttps://repo.huaweicloud.com/java/jdk/https://mirrors.cloud.tencent.com/AndroidSDK/https://wiki.analog.com/resources/tools-software/a2b-bus-analyzer/faq?s%5b%5d=
2024-04-08 10:34:41
367
原创 Linux总线资源被分配到TrustZone的解决思路
如果不知道是哪个.ta文件并且也没有FAE支持,挨个删除当下目录的某个.ta文件,然后clean,编译。高通平台修改QUPAC_Access.c文件,具体参考。
2024-03-28 20:35:59
398
1
原创 音频开发 — Nvidia DRIVE AGX Orin Linux开发人员指南
音频处理引擎 (APE) 是一个独立的 IP,它能满足 Nvidia舱/驾芯片的所有音频需求,只需 CPU 提供最少的监控。APE 包含一个音频 DSP (ADSP)、一个内部 RAM、一个包含许多硬件加速器的音频集线器 (AHUB)、一个用于连接硬件加速器的交叉开关 (XBAR)、一个专用 DMA 引擎 (ADMA) 和一个专用通用中断控制器(AGIC)。各个AHUB加速器使用方法参考,注册然后就可以阅读在p3710开发板上,音频功能主要由基于ALSA的虚拟音频驱动,和APE中的AHUB模块共同支持。
2024-02-22 15:13:05
1888
原创 Orin 音频设置和开发
要启用Codec,您必须将Codec添加到用于访问Codec的设备的设备树节点下。大多数Codec使用 I2C 或 SPI 进行访问。配置 I2S 和Codec DAI 链路//主从配置codec {
2023-12-27 10:29:01
1924
原创 yocto开发环境
使用 bitbake -e 命令: 这个命令可以输出配方的环境变量,帮助你查找 DEPENDS 和 RDEPENDS 是否设置正确。你可以通过 bitbake-layers show-recipes 命令来检查已包含的配方。配置日志: tmp/work///temp/log.do_configure。编译日志: tmp/work///temp/log.do_compile。安装日志: tmp/work///temp/log.do_install。
2023-05-06 22:12:00
137
原创 一个非常好用而且通用的Audio dump工具
主要函数easy_write,前四个参数可随意填写,用于区分不同的dump位置,后面三个最好真实填写,为了好辨认dump出的audio格式。可以多线程调用可以在一个module中多个地方调用,函数中维护了一张链表,根据path区分需要创建/data/audio_dump目录才会保存,删除后不会再保存/data/audio_dump目录下的文件删除后会重新生成。
2023-04-22 11:56:44
772
原创 音视频开发之Android端native层播放音频三种方式
下面三种方式前两种区别不大,缺点是必须要等到系统加载差不多了才可以使用。Android系统启动时间很长,想要早点播放的话可以选择第三种,tinyalsa播放。好像还有第四种,使用openGL ES,这个没怎么研究过。二. MediaPlayer。一. AudioTrack。三. tinyalsa。
2022-11-27 18:23:02
1444
原创 音视频开发之基于某三方音效的Android native层四声道音频输出
还有一些HAL的修改,不同平台实现不一样。需要在HAL层对除了扬声器以外的其它设备比如蓝牙耳机,有线耳机,DuplicatingThread播放,REMOTE_SUBMIX模式等等做一个统一操作,因为虽然除扬声器以外的设备都是双声道播放,但是因为修改了前面提到的AudioOutputDescriptor.cpp文件,参数不会跟着变化,所以要在HAL层write函数位置进行四转二操作。简单说下,里面包含三类标签,mixports,devicePort,route,分别代表虚拟设备,物理设备和路由。
2022-11-24 19:39:01
2988
5
原创 Tensorflow 中文语音识别
Github地址https://github.com/kevinan1/tensorflow-examples/tree/master/speech
2018-09-25 16:27:13
3228
原创 Vim 配置Python IDE实现代码自动补全
mkdir ~/.vimmkidr ~/.vim/bundlecd ~/.vim/bundlegit clone https://github.com/rkulla/pydiction.gitvim ~/.vimrcfiletype plugin onlet g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict'...
2018-08-25 00:00:06
896
清华数据集标注信息
2018-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人