
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
TinyML 的出现,标志着单片机从“自动化”向“智能化”的跨越。作为架构师,你不仅要懂底层的LMA/VMAPendSV 调度,现在你还要懂张量 (Tensor)卷积核 (Kernel)和激活函数 (Activation)。C 语言是你的骨架(底层驱动)。RTOS是你的血液(任务调度)。TinyML将成为你的大脑(端侧智能)。不要再让单片机只做一个冷冰冰的执行器。给它一个神经网络,它就能在这个嘈杂
面向对象(OOP)是给人看的,是为了迎合人类对“分类”和“归纳”的认知习惯。数据导向(DOD)是给 CPU 看的,是为了迎合硅晶片对“缓存”和“吞吐”的物理特性。在资源无限的 PC 上,你可以为了可读性牺牲性能。但在嵌入式系统,尤其是边缘计算(Edge AI)、高频控制领域,硬件的规律就是法律。当你开始把代码看作是“数据在内存中的流动”,而不是“对象之间的对话”时,你就跨过了从软件工程师到系统架构
为了安全传输,我们定义传输的数据结构。代码的耦合度是衡量架构质量的核心指标。通过引入EventBus,我们将 N 对 N 的网状依赖,转化为了 1 对 N 的星型依赖。这不仅让代码逻辑更加清晰,更极大地提升了系统的可测试性和可维护性。对于 STM32 这样的单片机项目,只要合理控制内存,C++11 的这一特性绝对是提升代码逼格和质量的神器。
低功耗设计,本质上是在与物理学中的熵增定律做对抗。电池里的化学能,不可避免地要转化为热能散发掉。我们的目标,是让这个转化过程变得更有意义。每一行代码的执行,每一次晶体管的翻转,都是在消耗宇宙中有限的秩序。优秀的嵌入式工程师,会吝啬地计算每一次运算的价值。因为在那个只有纽扣电池驱动的荒野传感器里,省下来的每一焦耳能量,都是系统延续生命的呼吸。
在硬件设计中,CPU 不直接连显卡,它们都挂在 PCIe 总线上。模块 A 和模块 B 互不认识,它们只认识总线协议。我们在软件里也可以复刻这种“软件总线 (Software Bus)”。耦合是熵增的必然结果。如果我们随心所欲地写代码,系统必然会走向混乱和纠缠。架构师的工作,就是做一个园丁。时刻拿着剪刀(Refactor),剪断那些不必要的枝蔓(耦合)。让每一棵树(模块)都独立生长,通过根系(总线
C++11 允许我们自定义后缀。我们可以定义一个_hash后缀,让直接变成一个整数。// 定义字面量操作符通过 C++ 的 constexpr和字面量重载,我们成功地将高级语言的“字符串 Switch”特性带入了嵌入式 C++。代码优雅:可读性极高,像脚本语言一样处理字符串。极致性能:将 O(N) 的字符串匹配变成了 O(1) 的整数跳转。零存储:Flash 里不需要存"AT+RST"这些字符串常
在做嵌入式或机器人开发时,我们有太多时间被“串口波特率配置”、“DMA 丢包”或“RTOS 优先级”这些底层细节所吞噬。但当你跨越了驱动的门槛,真正让机械结构产生空间运动时,决定系统高度的,永远是数学与算法的内化。把那些易碎的欧拉角和充满噪声的裸数据,转化为优雅的四元数和交叉耦合矩阵。当你看着机械臂在极速转动中精准悬停,丝毫不受万向锁死区和震动噪声影响时,你会真切地感受到,那些干瘪的线性代数公式,
TinyML 的出现,标志着单片机从“自动化”向“智能化”的跨越。作为架构师,你不仅要懂底层的LMA/VMAPendSV 调度,现在你还要懂张量 (Tensor)卷积核 (Kernel)和激活函数 (Activation)。C 语言是你的骨架(底层驱动)。RTOS是你的血液(任务调度)。TinyML将成为你的大脑(端侧智能)。不要再让单片机只做一个冷冰冰的执行器。给它一个神经网络,它就能在这个嘈杂
RTOS 调度器是嵌入式世界里最纯粹的机器。它没有复杂的业务逻辑,它只关注时间和资源。当你在应用层写下时,底层发生了一场宏大的协同:你的任务被移出就绪链表,塞进阻塞链表。PendSV 异常被触发。汇编代码保存你的寄存器。CPU 转过头去执行别人。10ms 后,滴答定时器(SysTick)把你唤醒。作为开发者,理解了 PendSV 和堆栈指针,你就不再是那个“写应用代码的人”,而是那个“定义系统心跳
做一个点灯的板子很容易,但做一个多合一调试工具,是在挑战嵌入式系统资源的极限。你必须精打细算每一个Endpoint的分配。你必须像写诗一样严谨地排列USB 描述符的字节。你必须用DMA 和 Queue构建起抗阻塞的神经网。当这块小小的板子插上电脑,设备管理器里瞬间亮起三个完美的设备节点,小屏幕上丝滑地跳动着总线报文,而 DAPLink 正在以极速为你下载着另一个工程的固件时——你不仅造出了一个工具







