- 博客(61)
- 收藏
- 关注
原创 route 蓝图 与 dai_link 蓝图
route 蓝图绘出的 DAPM 系统为 ALSA 音频系统提供了坚实稳定逻辑的电力供应,这种约束性来自 route 蓝图本身的硬件相关的供电逻辑强大的逻辑稳定性,因此在 ALSA 代码层面并不存在也不需要显式描述 DAPM 与 PCM 设备 CONTROL 设备等等的约束。那么route的 DPAM 系统与 PCM 设备的 rtd 和 CONTROL 设备的 widget_kcontrol 在动态运行过程中都有强烈的关系,这个关系就是 DAPM 的图重算的5大触发源。
2026-05-24 15:36:21
55
原创 如果代码都让 AI 写了,你为什么还在死磕 Python?
再比如 PyTorch,它死死占据了深度学习研究 85% 的江山,因为深度学习的核心是模型权重,至于外面封装的那层皮是什么语言,PyTorch 根本不在乎。但到了 2026 年,Claude、GPT-5.5、DeepSeek 这些模型早已是“代码大神”,甚至在 SWE-bench 这种极其硬核的基准测试中,都已经达到人类高级工程师的水平。这话听着反直觉,逻辑却很硬:“Rust 编译器就像一位严苛但高效的“辅导老师”,它的每一次报错,对 AI 来说都是极其珍贵的“实时训练数据”。
2026-05-22 00:33:05
349
原创 CodeArts
字体顺序:'Cascadia Code', 'Consolas', 'Microsoft YaHei', 'PingFang SC', 'Noto Sans CJK SC', monospace。字体顺序:'JetBrains Mono', 'Fira Code', 'Courier New', 'Microsoft YaHei', 'PingFang SC', monospace。字体顺序:'Courier New', 'Consolas', 'Microsoft YaHei', 'monospace。
2026-05-18 20:35:04
211
原创 ASoC-Dynamic-PCM 的泛化能力分析
└─ BE rtd → snd_pcm_new_internal() → snd_device_new(…dpcm_path_get() 做 walk:不关心 widget 是谁的,只关心节点间有 route 且 kcontrol enable。统一编排,用户空间只看到 FE 的字符设备,BE 的存在对上层透明——使得拼合结果对外呈现为"一个完整的 PCM 服务"BE rtd: "我是硬件终端,我自己不能被用户打开,由 FE 调用我的 __soc_pcm_open"可以真实,可以 dummy。
2026-05-04 20:06:38
324
原创 git notes
它是 Git 的基本组成单元。每个 Commit 包含指向树对象的指针、作者信息、时间戳以及提交说明(Commit Message)。一旦生成,Commit 的任何内容(包括消息)都不能直接修改。如果要改,就会生成一个新的 Commit ID(哈希值),这会改变项目历史。它允许你为现有的 Commit 附加额外的信息,而无需修改 Commit 本身。你可以在不改变 Commit ID 的情况下,随时添加、删除或更新 Note。描述代码变更的核心逻辑应当始终放在 Commit Message 中。
2026-04-20 17:49:20
300
原创 What is the Model Context Protocol (MCP)?
MCP is an open-source protocol that connects AI applications to external systems like data sources, tools, and workflows. Similar to USB-C for electronics, it standardizes how AI systems interact with external resources. MCP enables AI assistants to access
2026-04-14 14:47:17
360
原创 Ubuntu24.04安装python2
尽管可以从源码安装 Python 2,但由于其已停止维护,建议仅将其用于特定场景下的向后兼容性支持。对于新的开发工作,请始终选用更现代的 Python 版本(如 Python 3.x),因为后者具有更好的安全性和功能特性4。访问 Python 官方网站获取最新的 Python 2.x 版本(目前最新稳定版为 Python 2.7.18)。为了满足某些旧项目的兼容需求,可以通过编译源码的方式手动安装 Python 2。由于 Ubuntu 24.04 不再提供官方的 Python 2 支持,因此无法通过。
2026-04-04 23:04:07
576
原创 ALSA PCM 数据搬运模式
**ioctl XFERI_FRAMES** | 内核拷贝 | 内核自动 | 不涉及 | 入口:`SNDRV_PCM_IOCTL_XFERI_FRAMES`,与标准 read/write 共用底层 `snd_pcm_lib_read/write` |- **对策**:驱动必须使用**内存屏障**(如 `smp_wmb`/`smp_rmb`)和**原子访问**(`WRITE_ONCE`/`READ_ONCE`)保证顺序与原子性;
2026-03-25 15:06:04
243
原创 AudioPolicyService 、 AudioFlinger 与 Audio Track 、Audio_app 是什么关系?
ALSA UCM 音频场景粒度配置
2026-03-05 17:50:31
77
原创 yocto 头脑风暴1 20250916
Yocto项目是一个开源协作框架,通过模块化的"层(Layer)"结构组织元数据,利用BitBake引擎自动化构建高度定制化的嵌入式Linux系统。其核心思想类似"烹饪":Poky基础层提供基本配方,BSP层添加硬件支持,软件层扩展功能,用户可自定义层实现深度定制。相比Buildroot等工具,Yocto虽学习曲线陡峭但具备工业级灵活性,能生成完整系统镜像、软件包和工具链,适合复杂产品的长期维护。这种分层架构使功能模块可自由组合,最终"烹制"出量身
2025-09-16 21:56:51
985
原创 搭建ESP32的开发环境
前提是安装好了IDF的环境,通过 esp-idf-tools-setup-offline-5.4.1.exe 一键离线安装包,可安装完整的开发环境所需要的必要基础。因为后续会要求具有 idf.py ,这个文件就意味着类似Keil-MDK。这两个文件夹对应之前使用 esp-idf-tools-setup-offline-5.4.1.exe。然后就直接安装,过程中可能需要插件自己下载另外的自己需要的东西,不管他,直接安装就好了。若无此 idf.py 则无法在 vscode 上使用 IDF 插件。
2025-06-21 03:08:05
449
原创 where are the examples of stm32h743i demo project inside of stm32cubeh7
现在标准外设库,正在逐渐被放弃,取代它的是HAL库,且HAL库也正在逐步被放弃,最终ST会集中维护 stm32cube_xxx,比如针对stm32h743i,有stm32cube h7系列的固件库。以前的标准外设库里,都有针对每个外设的测试demo,进而归档成使用template,通过这个可以正确指导我们怎么写出稳定标准的代码去使用特定的外设。
2025-05-25 19:44:02
323
原创 linux stm32mp157 GIC-V2 中断处理过程分析
这个比较重要,硬件层面新增了许多实用的特性来支持linux这种操作系统里中断管理层的工作,互相配合,提升性能。Affinity 有关于实时性的支持。GIC-V2 不支持 Affinity ,是V3版本后引入的。所以得出结论,不支持domain路由机制的旧版本的 linux generic interrupt layer 正如2.6.25版本说的,这种legacy,只是为了向前兼容,会慢慢过度,直到被废弃。这两条路线,最终都执行到了__handle_domain_irq 函数这里来,但是他们传入的参数不同。
2025-05-05 22:55:51
309
原创 U-Boot
所以,一般U-Boot的SPL版本与U-Boot完全体版本的执行设备不一样:U-Boot的SPL形态是在SoC片上BootROM指定的启动设备里直接(XIP)或间接(BootROM从非XIP设备复制SPL到SRAM)执行SPL,最后到U-Boot proper完全体版本在DDR上运行。XIP设备可直接执行uboot代码,但是仍然需要uboot的SPL部分代码,因为uboot的标准布局里,将代码从存储设备拷贝到DDR的这部分工作仍然属于SPL的核心职责之一。2. SoC厂商的具体支持特性的实现。
2025-03-09 14:55:57
995
原创 转载:【lwip】03-内存管理 - 李柱明 - 博客园
想说的:内存的动态申请&释放最重要的参考是指针;申请得到的内存返回的是可用空间的其实地址(指针);释放时也是传入该地址(指针)让内部算法进行释放。一般这些地址前面部分是内存分配器管理的空间,用于管理本小段内存。【lwip】03-内存管理 - 李柱明 - 博客园系统将所有可用区域以固定大小的字节单位进行划分,然后用单链表将所有空闲内存块连接起来。同一链表中,所有节点大小都是相同的。这种分配只是前面讲的((20210803155807-x09b60h))的一个升级。
2024-11-03 20:30:31
1335
原创 C语言专题
字节对齐的算法基于简单的偏移量调整和位掩码操作,将数据大小或地址向上对齐到指定的边界。这个算法对 2 的幂次的对齐特别高效,是数据对齐处理中的常用方法。
2024-11-03 12:03:03
602
原创 专题:Source Insight 4.x
选用SourceInsight浏览代码目的是为了提高工作效率和编写代码的体验,在安装SourceInsight(3.5和4.0)后,选中代码片后,进行复制Ctrl+C或者剪切Ctrl+V快捷键操作时,光标立即跳入剪切板clips window(此前剪切板未打开),严重影响代码的编辑效率。关闭与SourceInsight热键冲突的软件(如谷歌翻译,有道词典,金山词霸的划词功能)。问题1 双击自动选中字符后,自动跳出 剪切板的 paste from 或 clips。
2024-10-15 10:41:37
2435
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅