Little Kernel,一个专为嵌入式设备设计的 SMP‑aware(多核感知)操作系统内核

Little Kernel(LK)是一款专为嵌入式设备设计的 SMP 感知操作系统内核,以其极致轻量、跨平台兼容及模块化构建著称。文章深入解析了 LK 如何针对启动慢、资源浪费及平台迁移难等行业痛点提供解决方案,支持抢占式多线程与精细功耗控制。内容涵盖源码克隆、交叉编译工具链准备、目标平台配置及编译烧录调试的全流程实操指南。虽然相比 Linux 生态稍弱,但在 bootloader、固件及实时控制领域,LK 凭借毫秒级启动和灵活裁剪能力脱颖而出。对于希望在资源受限芯片上实现多核 OS 方案的开发者而言,这是一份详尽的评估与入门手册,助您轻松驾驭嵌入式底层开发。

ELKS:一个 Linux 子集,256K 运行,512K 更舒适,128K ROM 系统也能跑

ELKS是一个专为16位无MMU处理器设计的Linux子集,可在8086/8088/80186/80286等古董CPU上运行,最低仅需128K内存即可启动。它支持MINIX/FAT16文件系统、基础TCP/IP网络、vi编辑器和简化版游戏,既能通过QEMU模拟器体验,也能在真实老硬件上复活。作为精简内核教学平台和嵌入式学习工具,ELKS为复古玩家、OS研究者和极客提供了穿越40年计算机历史的独特体验。

littlefs:一个专为微控制器设计的、支持断电保护、动态磨损均衡、内存占用可控的轻量级文件系统

在嵌入式与物联网项目中,频繁掉电、闪存寿命有限、内存资源紧张是常见痛点。littlefs 是一个专为微控制器设计的轻量级文件系统,采用 copy-on-write 机制保障掉电安全,内置动态磨损均衡延长闪存寿命,且 RAM 占用可控、无需动态分配。它提供类 POSIX 接口,易于集成,支持 NOR/NAND/EMMC/SD 等多种存储介质,适用于低功耗、常断电的关键数据持久化场景。

别再折腾那些臃肿的库了!这2000行代码才是嵌入式Modbus的终极答案

嵌入式开发中,Modbus 协议不可或缺,但市面上库要么臃肿要么依赖动态内存,导致内存碎片和系统不稳定。本文深度推荐 nanoMODBUS 库,核心代码仅约 2000 行,完全摒弃 malloc,确保系统确定性。它支持 RTU/TCP 及主从模式,功能码齐全,且通过宏定义可灵活裁剪。平台无关设计仅需提供读写函数,彻底告别全局变量依赖。无论是 STM32 还是资源受限单片机,它都是纯净高效的协议解析方案。开源项目值得星标,助力嵌入式工程师摆脱造轮子困境,提升 C 语言功底,让工业通讯更可靠。

CoreMark——嵌入式处理器“性能测评”神器,专门给嵌入式 CPU 做基准测试的“小工具”

CoreMark是专为嵌入式CPU设计的核心性能基准测试工具,以轻量、可比、可靠著称。本文详细介绍了CoreMark的安装方法(Linux下git clone并make即可)、自定义迭代次数技巧、移植到MCU的步骤,以及多核测试、功耗测量等使用场景。对比传统Dhrystone等基准,CoreMark代码简洁(仅6个文件)、跨平台能力强、支持多线程,是评估嵌入式处理器算力的首选工具。

如果你正站在「想学嵌入式」和「不知从哪儿开始」的十字路口,这个项目就像一张导航地图,帮你规避弯路、快速定位

Embedded-Engineering-Roadmap是一个开源的嵌入式学习地图项目,将嵌入式领域所需的软硬件知识、工具链和软技能全部罗列成一张大图。该项目解决了嵌入式学习中的三大痛点:信息分散、不知道该先学什么、职业定位模糊。按照硬件→软件→软技能的递进顺序,提供了从单片机、RTOS到IoT、边缘AI的完整学习路径,并标注了初学和进阶资源。

fifofast:一个用纯 C 写的、零动态内存、超小管理开销(一般只要 3 字节!)的通用 FIFO 实现

fifofast是一款专为单片机设计的FIFO环形缓冲区实现,采用纯C语言编写,零动态内存分配,管理开销仅需3字节(读指针、写指针、元素计数)。它支持任意C数据类型,通过宏声明和inline支持实现即插即用,容量自动适配2的幂次方。核心优势在于使用位运算替代条件跳转,执行效率高,特别适合AVR8、SAMG等资源受限的MCU。可用于串口数据缓冲、ADC测量值存储及中断与主程序间的数据共享,是嵌入式开发中高效可靠的FIFO解决方案。

lwbtn:一个用 C11 编写的超轻量级按键管理库,不依赖操作系统,零动态内存

lwbtn是一个超轻量级的C11按键管理库,专为嵌入式设备设计。它不依赖任何操作系统,无需动态内存分配,只需提供毫秒级时间源即可工作。支持单击、多击、长按、保活等多种事件,内置软件防抖功能,兼容STM32、Arduino、Win32等平台。这个库把复杂的按键状态机封装成简单易用的API,让开发者告别手写繁琐的按键逻辑,非常适合资源受限的MCU项目使用。

MCUboot:一个专门给 32 位微控制器写的安全启动加载器(secure bootloader)

MCUboot是一款专为32位微控制器设计的安全启动加载器,解决嵌入式固件升级中的诸多痛点。它提供分区式Flash布局、双备份机制、签名校验和回滚保护等核心功能,支持Zephyr、Mynewt、NuttX等多种RTOS以及ESP32等主流芯片平台。通过imgtool工具可轻松实现固件签名验证,无需从头编写启动代码,大幅降低开发成本。适合对安全启动和远程升级有需求的产品使用。

LK(Little Kernel):一个专为小型系统设计、体量极小的操作系统内核,支持多线程、可抢占,还能自动调度多核

LK(Little Kernel)是一款专为小型系统设计的极简操作系统内核,体积仅几百KB,支持多线程、可抢占和自动多核调度。涵盖ARM、RISC-V、x86、MIPS等主流架构,具备模块化、可按需裁剪的特点。相比Linux,LK更加轻量高效,适合资源受限的嵌入式设备、Bootloader和微控制器项目。虽然功能相对精简、驱动生态较小,但其极致轻量、启动快速、代码简洁的优势使其成为小型系统开发的理想选择。