这两年做边缘端项目的朋友应该都有同一个感觉AI芯片的选型越来越像逛菜市场规格书上一个比一个唬人TOPS一家比一家高价格一家比一家贵但真拿回来跑自己的模型要么卡成PPT要么算子不支持要么工具链折磨得你想砸开发板。我自己从最早用MCU跑轻量级网络到后来在Linux SoC上部署YOLO和LLM踩过的坑不算少慢慢总结出一条还算靠谱的思路别上来就看芯片参数先把自己的场景拆清楚用场景反推芯片。这篇文章就把这套方法论、算力估算过程和真实选型记录完整拆给你看适合正在做边缘AI产品选型、想给现有设备加智能功能、或者准备入行边缘计算的工程师和产品经理参考。1. 为什么选型要先定义场景再谈芯片1.1 边缘端选型的本质是找够用且可用的交集很多朋友选型的第一步是打开电商平台搜边缘AI算力芯片然后被各种xx TOPS超强算力的标题带走。这个习惯非常危险因为边缘端的约束条件远比云端复杂你要同时满足功耗上限、成本预算、外壳体积、工作温度、启动时间、稳定性要求还要考虑算法团队的开发习惯、量产后的售后维护难度。芯片的峰值算力只是其中一个维度甚至不是最重要的维度。我习惯把选型类比成买车你不可能先看发动机参数再决定用途一定是先想清楚这车是每天通勤代步、周末跑山、还是拉货跑工地再倒推什么排量、什么变速箱、什么底盘调校够用。边缘端AI芯片也一样场景决定需求需求决定算力下限算力下限再叠加功耗、成本、工具链这些约束最后才能锁定具体芯片型号。反过来搞参数表越看越花眼最后买回来一个理论上很强但实际上跑不动的芯片项目直接卡死在适配阶段。这里说的够用且可用包含两层意思。够用指算力、内存、带宽能够支撑你的模型以目标帧率或延迟运行可用则指工具链顺利、算子齐全、散热可行、量产可得、团队玩得转。很多标称高TOPS的芯片在够用上达标却在可用上翻车比如SDK文档残缺、算子裁剪严重、社区资料几乎没有遇到问题只能自己啃源码。所以我给所有做选型的团队一个建议把可用性的权重提到和算力一样高甚至更高。1.2 三个反推维度功耗边界、数据流形态、交付形态从场景反推芯片具体反推什么我总结了三个核心维度你拿到一个项目需求后先在这三个维度上画框芯片范围基本就缩小了百分之七八十。第一个维度是功耗边界。这直接决定你能不能上大芯片。电池供电的手持设备、无线传感器整机功耗可能只有几百毫瓦到几瓦你能选的芯片基本锁定在MCU或者低功耗SoC级别而插电的智能摄像头、边缘盒子、工业一体机功耗预算可以放到5W到30W选择空间就大得多。我见过一个团队想做便携式AI翻译笔最初选了一款10W级算力芯片结果电池续航只有四十分钟整机还烫手最后被迫换回低功耗方案重新做算法裁剪。功耗不是选型之后才考虑的散热问题而是选型之前就得定死的边界条件。第二个维度是数据流形态。你处理的到底是图像流、音频流、还是传感器时序数据不同模态对芯片架构的要求完全不一样。图像任务吃算力和内存带宽音频任务更看重低延迟和DSP能力震动、电流、温度这类时序信号任务通常用MCU加轻量级模型就够了。我曾经帮一个做预测性维护的团队做选型他们的输入是振动传感器每秒几千个采样点模型是一个几千参数的小网络用带向量扩展的MCU跑得飞快根本不需要上NPU SoC成本从几百块直接降到几十块。第三个维度是交付形态。你的产品是做成联网盒子、嵌入式模组、还是一体化设备这决定了芯片的封装、接口、操作系统和量产方式。做边缘盒子可以用Linux SoC加NPU生态成熟调试方便做嵌入模组要考虑引脚兼容和LGA封装做超低功耗设备则要从MCU级别开始筛选。交付形态还影响固件升级、远程运维和数据回传方案这些都会反作用于选型决策。2. 把应用场景换算成算力需求2.1 模型选型决定算力下限场景反推芯片的第一步是先把场景需要的AI能力翻译成一个具体的模型再通过模型反推算力。这一步最常见的错误是只谈任务不谈模型客户说我要做工业质检团队就开始看芯片但同样是工业质检用MobileNet做二分类和用YOLOv8做缺陷检测的算力需求可能差十倍。所以正确的做法是先确定你可以接受什么精度的模型。以视觉任务为例如果只是做简单的有无判断、区域监控告警MobileNetV3、EfficientNet-Lite这类轻量级分类网络就够了如果要检测目标位置和大小至少是YOLOv5n、YOLOv8n这一档的检测模型如果还要做实例分割那模型的FLOPs会再上一个量级对芯片的要求也跟着水涨船高。模型定下来之后算出它的计算量。计算量一般用FLOPs浮点操作次数表示推理一次的FLOPs乘以目标帧率就是你每秒需要处理的计算总量。举个例子YOLOv8n在640乘640输入下大约需要8.7 GFLOPs如果你的场景要求30fps那么一秒钟就要处理大约261 GFLOPs也就是0.26 TFLOPs。这里得到的0.26 TFLOPs只是理论计算量后面还要考虑芯片利用率、内存带宽、量化方式这些因素我会在下一节详细讲。这里建议团队在选型之前就把模型跑通、量化和验证精度做一轮不要等芯片定了再回头选模型。模型一旦确定算力需求基本有了下限再去看芯片的标称算力就有的放矢多了。2.2 INT8、FP16、FP32 的算力需求差异聊边缘端算力绕不开精度这个话题。芯片厂商标称的TOPS数值默认都是指某种特定精度下的峰值算力绝大多数面向AI推理的芯片标的是INT8而云端训练卡喜欢标FP16或FP32。这就是为什么你拿云端GPU的FP16 TFLOPs去对比边缘NPU的INT8 TOPS会完全对不上。可以这样理解同样是做一次乘法累加操作FP32需要算32位FP16算16位INT8只算8位所以芯片在INT8精度下能塞进更多的计算单元峰值算力自然高。拿同一颗芯片来举例它的INT8算力通常是FP16的两倍是FP32的四倍甚至更高。你的模型如果用FP32跑就算理论计算量相同实际占用的计算资源和内存带宽也是INT8的好几倍这就是模型量化的价值所在。那么怎么选精度视觉模型在边缘端几乎清一色用INT8量化因为精度损失可以通过校准数据集控制在1%到2%以内换来的是算力和内存占用的大幅下降。语音唤醒、关键词识别这类小模型很多MCU方案直接跑INT8或者混合精度。而大语言模型走的是另一条路端侧部署常用FP16或者INT8因为LLM对量化更敏感尤其涉及长文本生成时过低精度会让输出质量明显下降。所以你在选型时一定要搞清楚这颗芯片标称的TOPS到底是在什么精度下测的你的模型打算用什么精度跑这两者齐平才有对比意义。2.3 一个视觉检测项目的算力估算实例光讲理论不够直观我拿一个真实的工业质检项目来做算力估算演示。场景是一个传送带上的零件缺陷检测要求每秒钟处理30帧画面使用YOLOv8n模型输入分辨率640乘640。第一步算基础计算量。YOLOv8n在640分辨率下推理一次约8.7 GFLOPs乘以30fps得到每秒261 GFLOPs也就是0.26 TOPS的理论计算量。注意FLOPs和TOPS在数值上可以近似对应因为这里算的是操作次数。第二步考虑NPU的实际利用率。这是新手最容易踩的坑芯片标称的TOPS是理论峰值实际跑模型时因为内存读写、算子调度、量化格式转换等原因利用率通常只有20%到50%。我们按比较保守的30%算0.26除以0.3得到约0.87 TOPS这是你真正需要芯片提供的标称算力。第三步留余量。边缘设备要考虑温度降频、未来模型升级、多路并发我习惯在算出来的基础上再乘1.5到2倍。0.87乘1.5约1.3 TOPS乘2是1.73 TOPS。这个项目最后圈定的芯片范围就是2 TOPS到3 TOPS级别的NPU再低的跑起来帧率不稳再高的话成本功耗都浪费。实际验证下来用一颗约2 TOPS算力的芯片跑YOLOv8n INT8量化版实测帧率在25到35fps之间波动基本符合预期但如果考虑长期稳定性我会更推荐6 TOPS级别且工具链成熟的芯片比如瑞芯微RK3588。3. 当前主流边缘AI芯片横向对比3.1 MCU级芯片STM32、ESP32-S3能做什么很多人以为AI一定要大算力芯片其实边缘端大量场景用MCU就能搞定。带AI加速指令的MCU适合做语音唤醒词检测、关键词识别、简单手势识别、以及基于振动或电流信号的异常检测。这类任务的共同特点是模型小、实时性要求高、功耗极低、成本敏感也许几百K到几M的参数量就够用。目前主流的两条MCU路线一条是ARM Cortex-M系列加AI扩展指令。意法半导体的STM32N6内置了Neural-ART硬件加速器算力大概在0.6 TOPS级别可以跑小型CNN和部分Transformer模型适合需要本地实时处理的音频、震动信号场景。更传统的STM32H7、STM32F4则没有NPU只能靠Cortex-M内核加CMSIS-NN软件优化跑极小的ML模型适合做简单的异常检测。另一条路线是乐鑫的ESP32-S3它带向量指令扩展双核240MHz跑语音唤醒、关键词检测这类模型绰绰有余Wi-Fi和蓝牙还集成在芯片里做IoT产品非常方便。芯片型号内核/架构AI算力典型场景参考功耗STM32N6Cortex-M55 Neural-ART约0.6 TOPS音频分类、小CNN毫瓦级ESP32-S3双核Xtensa LX7 向量指令软件优化为主语音唤醒、关键词毫瓦级传统STM32H7Cortex-M7无专用NPU极轻量时序模型毫瓦级MCU级选型的原则很简单先确认你的模型能不能量化到几MB以内再确认内存够不够用最后确认芯片有没有对应的AI库或指令集加速。只要这三个条件满足MCU方案的成本和功耗优势是NPU SoC完全比不了的。3.2 NPU SoC级芯片RK3588、Jetson、爱芯、算能、地平线当场景需求超出MCU能力比如要做实时目标检测、视频结构化分析、多路视频流处理或者跑中小型大模型就该进入NPU SoC的战场了。这一档芯片几乎都跑Linux系统自带NPU算力从2 TOPS到几十TOPS不等是目前边缘AI盒子、智能摄像头、机器人主控的主力选择。瑞芯微RK3588是这一档里体验很均衡的选手8核CPU加上6 TOPS NPU支持INT4/INT8/INT16量化模型转换工具RKNN比较成熟社区资料也多。跑YOLOv8n这类轻量检测模型能做到实时跑Qwen2.5系列的1.5B或3B小模型也能出效果我见过不少团队拿它做边缘推理盒和智能NVR量产案例非常丰富。英伟达Jetson系列则是另一个极端Orin Nano这档产品在INT8稀疏精度下可以标到40 TOPS级别CUDA生态和TensorRT对开发者极度友好适合要做复杂模型或需要PyTorch环境快速验证的团队但成本明显更高。国内厂商的NPU芯片这两年也起来了爱芯元智的AX630系列主打摄像头AI-ISP一体化算能科技的BM1684X系列算力高、适合做AI算力盒子地平线的旭日系列在机器人、无人驾驶场景有积累。选这一类芯片时除了算力我更看重三件事第一算子库是否完整你的模型里的swap、split、动态shape这些操作支不支持第二是否有官方或社区提供的量化校准工具和参考代码第三量产供货是否稳定交期会不会卡你项目进度。3.3 大模型边缘部署的最低算力门槛最近半年越来越多的朋友问我边缘端能不能跑大语言模型。答案是能但门槛比视觉模型高得多。先泼一盆冷水如果你想在边缘盒子上跑7B参数的LLM内存至少要有8GB到16GB算力需求在20 TOPS以上推理速度还只能到每秒几个token到十几个token体验和云端差很远。真正适合边缘端的是1.5B、3B这一档的小参数模型配合INT8或INT4量化在RK3588或Jetson Orin这类芯片上可以做到基本可用的对话速度。大模型边缘部署的算力需求要从两个维度看一个算力维度一个内存带宽维度。生成式模型是逐个token生成的高算力能加快每个token的生成速度但每个token的生成还需要把整个模型的权重从内存里搬一遍所以内存带宽直接决定生成速度天花板。这也是为什么很多NPU芯片标称TOPS不低跑LLM却快不起来——内存带宽跟不上。做本地私有化知识库问答时我的建议是优先选内存容量大、带宽高的芯片算力反而不是第一瓶颈。模型规模量化精度内存需求推荐芯片档位预期速度1.5B级INT82GB-4GBRK3588、Jetson Orin Nano10-20 token/s3B级INT84GB-8GBJetson Orin、高配NPU盒5-15 token/s7B-8B级INT4/INT88GB-16GB高端Jetson、专用推理卡2-10 token/s这里也提醒一下边缘端部署大模型不只是芯片的事输入输出端的处理、上下文长度、并发请求数都会占用额外内存。如果设备内存不够模型根本加载不进去哪怕算力再强也是白搭。4. 从需求到芯片的实操选型流程4.1 五步选型法把前面的思路整理成一个可复用的流程我称之为五步选型法。这五个步骤是我每次做选型都走一遍的框架能有效避免被厂商参数带偏。第一步定义场景指标。把客户需求翻译成量化指标检测精度要求多少mAP或准确率、端到端延迟不能超过多少毫秒、整机功耗上限多少瓦、成本目标多少元、工作温度范围是多少。这些指标是后面所有判断的依据千万别嫌麻烦跳过去。第二步确定算法与模型。在参考芯片之前先把模型选好甚至可以先用云端GPU把模型跑通确认精度满足要求然后把模型量化到目标精度记录量化后的FLOPs、参数量和单帧延迟目标。这一步能筛掉一半不切实际的芯片选择。第三步估算算力需求。按前面讲的公式标称算力等于理论计算量乘以帧率再除以预估利用率取0.3到0.5最后乘1.5到2倍余量。同时对内存、带宽做粗估确保芯片在这些维度上也够用。第四步圈定芯片范围。把功耗、成本、算力需求三个条件同时代入筛出两到三颗备选芯片。这一步要多看真实案例和测评不要只看规格书。第五步买开发板实跑验证。在你最终圈定的芯片开发板上部署你的模型测实际帧率、延迟、温度、内存占用、CPU占用率。这一步必须你自己做别人跑出来的数据跟你跑出来的可能完全不一样因为模型结构、量化方式、算子融合效果都不同。4.2 工具链评估的隐性成本在实操中我发现很多项目死在算力评估之后、产品量产之前的主要原因不是算力不够而是工具链难用。工具链决定了把模型从PyTorch或ONNX转到芯片上运行的整套流程包括模型转换工具、量化校准工具、算子库、推理运行时和调试工具。工具链评估要看四个点。第一算子支持列表。把你模型里的算子列出来逐个对比芯片SDK的支持情况遇到不支持的算子就得改模型结构或者绕路实现这会消耗大量时间。第二参考示例的质量。工具链有没有配套的demo覆盖了哪些常用模型是不是开箱即用这直接反映厂商的工程化水平。第三社区活跃度。搜一搜这个芯片型号的关键词看看讨论的人多不多、踩坑帖子有没有人回复一个冷门的芯片大概率会让你孤立无援。第四License和量产费用。有些工具链看起来免费但量产授权、加密方案、技术支持服务都要收费这些成本要提前算进产品定价里。我有个朋友就栽在这上面他选了一颗标称算力很高的芯片结果工具链不支持他模型里的某个常用注意力模块只能手写算子整整适配了两个月项目延期。所以我在五步选型法之外有个私人习惯先用厂商的模型动物园或者GitHub上的现成案例把你目标场景最接近的模型部署到开发板上跑一遍验证工具链是否顺手再做正式决策。4.3 开发板验证必须盯住的四项指标开发板实跑验证不是看看能不能跑通就完事。我一般会盯住四项指标每一项都可能推翻前面的选型结论。第一项是真实帧率或单次推理延迟要用和产品一致的分辨率、量化精度、batch大小来测不要用官方的标准测试图。第二项是整机功耗和温升。开发板跑起来后用功率计记录峰值功耗用热成像仪或者热电偶测芯片表面温度如果温度超过舒适区你的产品外壳尺寸就得加大、散热成本就得增加。第三项是内存占用和分配稳定性。长期运行会不会内存泄漏多路并发时内存够不够用这些都是量产前必须确认的。第四项是启动时间和稳定性。设备冷启动到AI功能可用需要多久连续跑72小时会不会卡死或者掉帧边缘设备经常在无人值守环境运行稳定性比峰值性能重要得多。这里分享一个实操技巧买开发板的时候尽量选和最终模组形态接近的版本。有些芯片厂商的标准开发板用料豪华供电充裕散热良好测出来的数据很漂亮但你的实际产品供电紧张、空间狭小效果可能大打折扣。如果条件允许直接在厂商的参考设计或者最小系统板上做验证数据更有参考价值。5. 常见选型错误与问题排查实录5.1 算力虚标与有效利用率标称6 TOPS为什么跑我的模型只有1.5 TOPS的效果这是我在各种技术群里被问得最多的问题。原因很简单TOPS是理论峰值它描述的是芯片内部所有计算单元满负荷运转时的上限但实际推理过程中数据要从DDR搬运到NPU缓存算完要写回中间还有算子切换、任务调度、量化反量化这些开销。这些环节任何一项卡住计算单元就得空转等待。所以在真实场景里NPU利用率能到40%已经算非常不错很多复杂模型只有20%。这意味着选型时要把标称算力打三折来看待甚至更保守。前面算力估算实例里我按利用率30%计算就是这个道理。另一个容易忽略的问题是不同芯片对稀疏的利用能力不同。有些芯片利用模型权重中的稀疏性来提升算力理论上标称值很高但你的模型不一定能稀疏化到那个程度实际收益因人而异。被算力虚标坑过的朋友应该都有体会规格书上的数字只是一个上限你必须用自己的模型在这个上限下面找真实位置。这也是为什么我一直强调开发板实测不可跳过纸上谈兵容易翻车。5.2 内存带宽才是隐形瓶颈算力之外内存带宽是第二个隐形瓶颈。芯片NPU的计算单元相当于一条高速生产线内存带宽就是给生产线供料的传送带。传送带太窄生产线再快也只能空转。这就是为什么有些标称高TOPS的芯片跑大模型反而不如算力低但带宽高的芯片。怎么估算带宽需求看你的模型每帧推理需要读写多少数据。以视频流为例一颗1080p30fps的摄像头原始图像数据带宽约124MB/s如果做4K分辨率检测原始输入带宽就接近745MB/s。这只是输入图像还要算上模型权重和中间特征图的读写。模型越深、分辨率越高中间特征图的体积越大带宽需求越紧张。排查带宽问题有个简单方法在开发板上跑模型时用芯片自带的性能分析工具查看NPU利用率。如果NPU利用率只有10%但内存控制器负载接近100%那就说明瓶颈在带宽不在算力。遇到这种情况调整方案包括降低输入分辨率、改用更轻量的骨干网络、减少中间特征图的通道数、或者干脆换一颗内存带宽更充裕的芯片。5.3 模型转换与INT8量化的精度坑模型转换和量化是边缘端AI开发里最容易出幺蛾子的环节。以RKNN工具链为例标准的流程是PyTorch模型导出为ONNX再用RKNN-Toolkit转换并量化最后部署到NPU上运行。每一步都有坑。导出ONNX时某些动态shape操作、自定义算子可能导出失败需要先在PyTorch里把模型改成静态shape或者把自定义算子换成标准算子。转换时工具链会检查算子支持情况不支持的算子要么自己实现、要么修改网络结构。INT8量化更是精度掉点的高发区。做量化时你必须准备一个和真实场景分布一致的校准数据集校准数据要覆盖正常样本、异常样本和各种光照、角度变化。如果校准数据集样本量太小或者分布偏差大量化后的模型精度可能从98%直接掉到60%完全不可用。我见过有人拿十张图做校准跑测试集掉点严重换了一千张贴近真实场景的图重新校准精度马上就回来了。另外要注意量化后一定要在芯片端重新做精度验证不要只对比转换前后模型的权重差异还要用真实推理输出来对比。不同的芯片厂商量化策略不同同一个模型在不同芯片上量化后的表现差异很大这也是为什么最终选型建议一定要基于你自己的验证结果。5.4 常见问题速查表最后整理一份我实践中高频出现的问题速查表遇到类似情况可以直接对照排查。问题现象可能原因解决方法模型转换失败动态shape、自定义算子不支持固定输入分辨率替换标准算子或手写算子转换后精度大幅下降校准数据集分布偏差、样本太少扩充校准集覆盖真实场景分布标称TOPS高但帧率低NPU利用率低、带宽瓶颈用性能分析工具定位优化算子融合长时间运行卡死内存泄漏、过热降频压测内存检查散热设计大模型推理慢内存带宽不足换高带宽芯片或改用小模型官方demo跑得通、自建模型跑不通工具链生态差异优先选算子全、示例丰富的芯片这六类问题基本覆盖了我接手过的边缘端AI项目里八成以上的坑。选型这件事本质上是拿综合约束换真机验证别人的经验只能帮你缩小范围最终能不能用还是要亲自把模型放到目标芯片上跑一遍才算数。我个人在实操中体会最深的一件事是工具链成熟度比峰值算力更值钱。同样是标称6 TOPS的芯片一个转换工具顺畅、文档齐全、社区活跃另一个SDK残缺、算子要自己啃开发周期能差出三倍。所以现在我的选型顺序永远是先跑通模型和量化再估算内存带宽最后才看TOPS数字。如果预算有限优先买生态最成熟的芯片别为参数表上那一两个亮眼的数字买单。这套从场景反推芯片的方法看起来绕了远路实际上才是到达产品量产最快的捷径。
企业数字化 ERP 产品动态
相关推荐
PLC工程师如何用AI生成可运行代码:从需求到博途集成实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:01:28
芯邦CBM2099E/CBM2199 U盘量产恢复实战:从主控识别到短接修复 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:01:28
KITTI点云可视化:从坐标系对齐到3D框渲染的避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:01:27
【电路设计】常开和常闭开关/接触器 如何选? 在电路设计中经常碰见常开和常闭的开关或者接触器,本文将会简要按照我的理解说明一下常开,常闭的选择依据。常开常闭其实在正常的工况下没有什么过大的区别,但是在某些故障场景,常开和常闭就是非常重要的选择。常开:在… · 2026/9/25 5:35:56
工具调用已足够,现在基于 pkg/testing/README.md 及其源码完成文章编写。 编程语言编译器语言运行时标准库开发工具 【免费下载链接】sdk The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more. 项目地址: https://gitcode.com/gh_mirrors/sdk1/sdk 点击查看 免费下载 <output文章>
Dart S… · 2026/9/25 5:35:50
【Dify】智能简历筛选与语义分析应用 自动化与智能化简历筛选已成为招聘流程提升效率的重要方向。简历文件数量庞大、信息结构多样,传统人工处理耗时费力,容易出现筛选误差。
本文介绍一种基于多模型与自动化节点的智能简历筛选工作流,覆盖批量导入、文本抽取、结构化分析到语义筛查与结果导出,助力高效实现精… · 2026/9/25 5:35:44
rsuite Avatar 头像组件 bordered 边框属性实战指南:从示例到源码实现 前端UI组件 【免费下载链接】rsuite 🧱 A suite of React components . 项目地址: https://gitcode.com/gh_mirrors/rs/rsuite 点击查看 免费下载 导读
bordered 是 rsuite Avatar(头像)组件自 5.59.0 版本起提供的属性&#x… · 2026/9/25 5:35:44
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37