调度、内存、功耗与开源栈


第 05 章 · 调度、内存、功耗与开源栈

本章要回答的三个问题:实时性要求下任务怎么调度?内存怎么静态化、缓冲怎么设计?电池寿命怎么算、开源栈怎么选?

为什么会有这一章

调度、内存、功耗与开源栈是链路预算这本账在05层面的大宗科目。前面的章节把物理与 MAC 的账本立起来之后,这一章回答"这些参数在真实机制里怎么组合、怎么取舍"。理解本章,才能把参数旋钮变成可复现的设计,而不是背一串名词。

读完能解决什么

读完本章你应当能够:为给定需求选择正确的调度、内存、功耗与开源栈方案;解释每个选择对链路预算与通信质量的具体影响;在实现层面对比至少两种候选方案并给出取舍依据;处理本章主题最常见的三类故障。

各节怎么分工

节号 回答哪个问题 关键产出
1 实时性要求下任务怎么调度 方案与参数对照
2 内存怎么静态化、缓冲怎么设计 机制与实现要点
3 电池寿命怎么算、开源栈怎么选 选型与故障处置

本章的依赖关系

先决条件

本章讨论调度、内存与功耗的实现取舍,输入来自第 2–4 章的物理帧、MAC 时序与入网流程;建议先过一遍 3.2 的 Class A/B/C 状态机,再进入任务划分与缓冲区设计的讨论。

阅读路线与产出

本章四节是嵌入式实现的四个维度:5.1 调度(实时性)、5.2 内存(确定性)、5.3 功耗(寿命)、5.4 选型(起点)。四者互相影响:选型决定调度模型,调度决定内存与功耗剖面。

维度 对应节 关键约束 交付物
实时性 5.1 窗口毫秒级 事件驱动状态机
内存 5.2 零堆分配 缓冲区设计
功耗 5.3 休眠 µA 级 电流剖面表
选型 5.4 团队与资源 协议栈对比结论

建议先 5.4 定栈,再按 5.1→5.2→5.3 落地,每步都有可验证的产出。

往下走到哪

本章结束后,链路预算的05层账本即告齐全。下一章把本章的机制放进更大规模的整体里验证。

本章要点与常见坑

本章的软件账三件事:事件驱动调度满足毫秒级窗口、零堆分配满足内存确定性、电流剖面决定电池寿命(休眠电流定天花板、上报频率×空中时间是第一杠杆)。开源栈选型:LoRaMac-node适合裸机、Zephyr适合RTOS生态。常见坑:实时路径做阻塞IO、缓冲按典型帧预留、漏算唤醒电流。

本章要点与常见坑

关键取舍速查

取舍 倾向 理由
裸机 vs RTOS 简单设备裸机 栈小、定时可控
动态 vs 静态内存 静态 确定性、可审计
休眠 vs 唤醒频率 深睡为主 寿命天花板在休眠电流
开源栈选择 LoRaMac-node / Zephyr 按团队与资源

四个取舍是软件架构的骨架,读节时对照确认。

本章小结:软件架构的四个维度环环相扣——选型定调度模型,调度定内存与功耗。工程常态是"裸机或轻量 RTOS + 零堆静态分配 + 事件驱动状态机",电池寿命按电流剖面算而不是拍脑袋。读完本章,你应当能对一台新设备写出内存预算表与电流剖面表,并据此选择开源栈。

带着四张表去读各节,架构决策都有数字依据,不再是凭感觉。
注意:内存与功耗的规划要在选芯片之前完成,否则开发到一半发现资源不够,只能换芯片返工,成本远高于前期半小时的估算。
架构的价值在故障时显现:事件驱动让窗口不丢,静态内存让运行可预期,电流剖面让寿命可计算。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U