logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【架构变革】内存安全的终极承诺:为什么 Rust 是嵌入式开发的未来?从借用检查器到零成本抽象

学习 Rust 的过程是痛苦的。你会觉得在这个语言里,你什么都做不了:不能随意改变量,不能有全局指针,不能在这个函数里用那个函数的引用。你会哪怕为了写一个链表,都要和编译器搏斗三天。但一旦你的代码编译通过了,奇迹就发生了:它通常能直接运行。它没有内存泄漏。它没有数据竞争。它在极端边界条件下依然稳定。C 语言给了你一把锋利的手术刀,你可以切除肿瘤,也经常割破手指。Rust 给了你一套全自动达芬奇手术

#rust#开发语言#后端
【算法心法】挣脱欧拉角的万向锁诅咒:四元数、IMU 姿态解算与多传感器融合的数学哲学

在做嵌入式或机器人开发时,我们有太多时间被“串口波特率配置”、“DMA 丢包”或“RTOS 优先级”这些底层细节所吞噬。但当你跨越了驱动的门槛,真正让机械结构产生空间运动时,决定系统高度的,永远是数学与算法的内化。把那些易碎的欧拉角和充满噪声的裸数据,转化为优雅的四元数和交叉耦合矩阵。当你看着机械臂在极速转动中精准悬停,丝毫不受万向锁死区和震动噪声影响时,你会真切地感受到,那些干瘪的线性代数公式,

#算法
【内存管理】嵌入式里的禁忌之术:为什么 Malloc 是魔鬼?从堆碎片到确定性内存池的救赎之路

即使用了内存池,忘记Free也会导致泄漏。如何防御?在 PC 上,你可以信任操作系统,反正 RAM 有 32GB。在嵌入式上,信任由于无知,控制源于恐惧。不要把内存管理的权力交给编译器自带的malloc。它既不知道你的业务逻辑,也不在乎你的实时性。构建自己的内存池。知道每一块 RAM 去了哪里。知道分配它需要多少个周期。知道它永远不会碎成渣。只有当你掌控了每一个字节的生老病死,你才能说你真正掌控了

#arm开发
【工程心法】从“在板盲调”到“云端验证”:嵌入式单元测试与 TDD 的工程化革命

很多老板会抱怨:“写测试太浪费时间了,我们应该赶紧去板子上调。写测试是为了走得更快。在板子上调 1 个 Bug = 2 小时。在 PC 上跑 1 个用例 = 2 毫秒。单元测试是嵌入式工程师的“时光机”,它让你能瞬间回到过去任何一个逻辑节点进行验证。当你构建起这套宿主机测试体系时,你就已经脱离了“烧录-重启-看灯”的原始部落,进入了现代工业化软件生产的殿堂。

#单元测试#tdd
【C++ 硬核】拒绝 “return -1“:用 std::optional 重塑嵌入式函数的返回值语义

是 Modern C++ 给嵌入式开发带来的最实用的语法糖之一。安全性:强制程序员处理“失败”的情况(因为你必须解包才能拿到值)。语义化:接口签名就能告诉调用者“这个操作可能会失败”。零开销:仅仅是寄存器传递和一个布尔判断。告别,告别return -1,让你的嵌入式代码像瑞士钟表一样精密运作。

#c++#开发语言
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector

std::pmr是 Modern C++ 送给嵌入式开发者的重磅礼物。它打破了“嵌入式不能用 STL”的魔咒。栈上 Vector:利用,把 vector 当作安全的 VLA 用。零碎片:利用,在静态内存中高效复用内存块。代码复用:你的算法代码可以统一接收,无论内存是来自栈、静态区还是外部 SDRAM,算法都不需要修改。别再手写链表和动态数组了,用 PMR 拥抱现代化的内存管理吧。

#c++#jvm#开发语言
【并发之痛】Volatile 的谎言与原子操作的真相:嵌入式多线程数据竞争的底层解剖

并发编程的难点在于,它挑战了我们线性的思维方式。在并发的世界里,顺序是错觉,原子是假象。作为嵌入式架构师,你必须具备“透视眼”: 透过 C 代码看到汇编,透过汇编看到流水线,透过流水线看到总线仲裁。用volatile抑制优化。用处理竞争。用DMB规避乱序。用Mutex避免翻转。只有理解了硅晶片上的微观秩序,你才能构建出宏观上坚不可摧的系统。

#面试#职场和发展
【架构演进】让芯片“开口说话”:TinyML 与嵌入式端侧 AI 的算力榨取艺术

TinyML 的出现,标志着单片机从“自动化”向“智能化”的跨越。作为架构师,你不仅要懂底层的LMA/VMAPendSV 调度,现在你还要懂张量 (Tensor)卷积核 (Kernel)和激活函数 (Activation)。C 语言是你的骨架(底层驱动)。RTOS是你的血液(任务调度)。TinyML将成为你的大脑(端侧智能)。不要再让单片机只做一个冷冰冰的执行器。给它一个神经网络,它就能在这个嘈杂

#人工智能
【协议心法】拒绝无脑 memcpy:用 C++ 零拷贝 (Zero-Copy) 榨干总线吞吐量的协议解析美学

传统的编程思维,是把内存当作一个个存放积木的“盒子”。我们要用积木,就必须把积木从箱子里搬到自己的盒子里。但在极客的底层架构哲学里:内存只是一片无边无际的荒原。结构体和指针,不过是我们手里的图纸和准星。当这 1 主 8 从的系统全速运转时,那些庞大的 OTA 升级包和高频的 2D 数据流在总线上狂飙。主控节点像一个优雅的交警,不拆开任何一个包裹,仅仅通过强制类型转换“看了一眼”包裹上的标签,就用

#c++#开发语言
【架构心法】逃离回调地狱:从 Protothreads 到 C++20 协程 (Coroutines) 的嵌入式进化

co_await编程语言的进化方向,永远是让机器去适应人类。汇编:人类适应机器的寄存器。C 语言:人类适应机器的内存地址。回调函数:人类适应机器的中断逻辑。协程机器模拟人类的线性思维。在资源极度受限的 8 位机上,是你的好朋友。在 32 位 ARM (STM32/ESP32) 上,是架构师的终极武器。它让你在写代码时享受“同步的幻觉”,在运行时拥有“异步的极速”。这就是的最高境界。

#c++20
    共 55 条
  • 1
  • 2
  • 3
  • 6
  • 请选择