会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
lin-qi
博客园
首页
新随笔
联系
订阅
管理
2026年6月22日
ESP32-S3 硬件缓存一致性问题的解决
摘要: 本文从 ESP32-S3 双核无硬件缓存一致性的硬件缺陷出发,结合 Cache Line、Store Buffer、失效队列等底层机制,深入剖析了标准 C 库原子操作与 ESP-IDF 自旋锁如何通过内存屏障解决多核数据同步问题,并给出了两种方案的选择建议 参考资料: [CACHE-126] 在 c
阅读全文
posted @ 2026-06-22 17:30 临祁
阅读(4)
评论(0)
推荐(0)
2026年6月21日
【双MCU项目复盘与优化】06 - 打造配置管理模块
摘要: 1. V3 配置管理模块复盘 mdl_cfg 1.1 为了解决什么问题 目前的配置参数,基本都是一些 uint8_t 变量,值通常是 0~3 之间,然后使用宏定义来进行具体参数定义,而不是使用枚举 在早期开发的时候,我是把这些配置变量分别按照功能来封装成一个个结构体,同时使用一个联合体把这些结构体都
阅读全文
posted @ 2026-06-21 23:01 临祁
阅读(3)
评论(0)
推荐(0)
【双MCU项目复盘与优化】05 - 使用并封装NVS库
摘要: 一、NVS 简介 官网链接:非易失性存储库 - ESP32-S3 - — ESP-IDF 编程指南 v6.0.1 文档 1.1 什么是NVS 非易失性存储(Non-Volatile Storage,NVS)库是 ESP-IDF 提供的一种轻量级键值存储方案 主要用于在 Flash 中存储键值格式的数
阅读全文
posted @ 2026-06-21 22:59 临祁
阅读(5)
评论(0)
推荐(0)
2026年6月15日
【双MCU项目复盘与优化】04 - 使用ESP-SR进行语音识别
摘要: 摘要:本文复盘了 V3 智控面板中使用 ESP-SR 框架实现离线语音识别的方案,包括 AFE 声学前端、WakeNet 唤醒词、MultiNet 命令词的配置与双任务调度逻辑,并指出 V4 需要优化任务周期与优先级以避免数据过载和任务饥饿 参考资料: AFE 声学前端算法框架 - ESP32-S3
阅读全文
posted @ 2026-06-15 23:48 临祁
阅读(39)
评论(0)
推荐(0)
【双MCU项目复盘与优化】03 - ESP32-S3驱动INMP441
摘要: 摘要:本文复盘了 V3 智控面板中 ESP32-S3 驱动 INMP441 数字麦克风的硬件连接、I2S 外设配置与数据读取逻辑,并指出 V4 需要将驱动分层以提高复用性 1. V3 INMP441 驱动复盘 1.1 信号链路回顾 声波信号需要经过如下处理,才能被ESP32-S3 所使用: 声波信号
阅读全文
posted @ 2026-06-15 21:19 临祁
阅读(16)
评论(0)
推荐(0)
【底层通信协议】I2S协议的记录与分析
摘要: 参考资料:【I2S】数字音频接口—I2S总线协议基本概念 - 知乎 一、简介 I2S(Inter-IC Sound,集成电路内置音频总线)是一种同步串行通信协议,通常用于在两个数字音频设备之间传输音频数据 支持全双工/半双工 支持主/从模式 适用场景:立体声系统,支持多声道 二、基本信号线 ① BC
阅读全文
posted @ 2026-06-15 18:17 临祁
阅读(13)
评论(0)
推荐(0)
2026年6月14日
【双MCU项目复盘与优化】02 - 自定义串口通信协议
摘要: 摘要:本文复盘了V3智控面板双MCU间自定义串口协议的固定长度、扩展性差等不足,并规划了V4的帧头+长度+类型码+载荷+校验+帧尾的可扩展协议框架 往期连接:【双MCU项目复盘与优化】01 - 总体架构与调度逻辑 - 临祁 - 博客园 1. V3 串口协议复盘 1.1 协议内容 以下是具体的协议内容
阅读全文
posted @ 2026-06-14 20:24 临祁
阅读(10)
评论(0)
推荐(0)
【双MCU项目复盘与优化】01 - 总体架构与调度逻辑
摘要: 摘要:本文复盘了智控面板从V1到V3的演进,重点分析V3双MCU(ESP32-S3+STM32F103)的架构、调度与不足,并给出V4的优化方向 1. 项目背景与产品定位 1.1 为什么做这个项目 V1 终端 在大学宿舍里,我的桌面上有两样常用设备:台灯和风扇。它们的使用体验都不太好,比如台灯只有简
阅读全文
posted @ 2026-06-14 18:10 临祁
阅读(16)
评论(0)
推荐(0)
2026年4月21日
【分层架构】关于嵌入式分层的探讨
摘要: 本文从实际开发痛点出发,结合具体代码案例,介绍嵌入式项目为何需要分层架构,并详细解析各层职责、划分规则以及公共层的灵活运用 一、前言 刚接触嵌入式那会儿,我动手做项目的方式很直接:想到什么逻辑就直接写在代码里,也就是俗称的“硬编码”。做点简单的小玩意儿倒还好,没觉得有什么问题。 可一旦项目变复杂了,
阅读全文
posted @ 2026-04-21 18:46 临祁
阅读(127)
评论(2)
推荐(0)
2026年4月12日
【C语言】“面向对象”:API的结构体封装
摘要: 1. 引言 在嵌入式开发中,我们常会遇到这样的需求: 同一款产品可能会使用不同型号的传感器(比如 AHT20 或 SHT30),希望在编译甚至运行时切换驱动。 系统需要同时支持多个同类型设备(例如两个温湿度传感器),但上层逻辑希望统一调用。 这些场景都指向同一个设计需求:上层代码依赖“接口”而非具体
阅读全文
posted @ 2026-04-12 14:11 临祁
阅读(75)
评论(0)
推荐(0)
下一页
公告