国产工业IDE适配鸿蒙:嵌入式测试工具的技术突破与实践
1. 从一条适配公告说起国产工业 IDE 为什么要啃鸿蒙这块硬骨头国庆前那几天我正蹲在一个汽车电子客户的产线现场调测试脚本手机弹出一条消息ETest 完成了纯血鸿蒙的适配。说实话第一反应不是又一个蹭热度的适配新闻而是终于有人把这件事干了。因为过去大半年我身边做嵌入式测试、工业控制、汽车电子的同行几乎每隔几周就会在群里问一句鸿蒙 PC 版到底能不能跑我们的上位机工具测试脚本能不能直接迁过去这个问题的背后其实是一个很现实的产业断层。国产操作系统在消费端已经跑起来了但在工业软件这一侧尤其是 IDE、测试工具、烧录工具、调试器这类工程师吃饭的家伙上长期是空白的。你手机能升级不代表你产线上的测试工装能升级你办公电脑能换系统不代表你写脚本、跑用例、连板子的那套工具链能跟着换。ETest 这次适配鸿蒙本质上补的就是这个断层里的一块砖。先把话说清楚ETest 是一款国产的嵌入式测试与集成开发工具主打的是测试脚本编写、用例管理、目标机通信、自动化执行这一整套流程。它服务的场景非常具体——汽车 ECU 测试、军工电子、工业控制器、航天测控这些领域工程师需要在一个 IDE 里完成写脚本、连设备、跑用例、看结果的闭环。这类工具过去基本被国外商业软件和开源拼装方案瓜分国产替代喊了很多年真正能在工业现场扛住稳定性的不多。那为什么适配鸿蒙这件事值得单独拿出来讲因为工业 IDE 的适配和普通 App 的适配完全不是一个量级。普通应用适配一个新系统改改 UI 框架、调调权限、重新打包基本就完事了。但工业 IDE 要碰的是串口、网口、USB、CAN 总线、JTAG 调试器、实时性要求、长时间运行的稳定性、以及大量底层系统调用。这些东西在鸿蒙上的行为和传统 Windows、Linux 桌面环境差别很大。所以这次适配含金量不在能打开而在能干活。这篇文章我打算把这件事拆开讲透。不管你是做嵌入式测试的工程师、正在选型工业工具的技术负责人还是单纯关心国产工具链进展的从业者我都会从适配的技术难点、ETest 这类工具的核心能力、鸿蒙桌面环境的实际约束、到具体的迁移和验证方法一层层说清楚。中间会穿插我自己在类似项目里踩过的坑以及一些可以直接抄作业的配置思路。2. 工业 IDE 适配鸿蒙到底难在哪几个地方2.1 不是换个壳是底层调用链的重新对齐很多人对适配的理解停留在界面层面觉得把窗口画出来、按钮点得动就算成了。工业 IDE 完全不是这个逻辑。ETest 这类工具的核心价值在于它能稳定地和目标硬件通信——通过串口发指令、通过网口传数据、通过调试器读写寄存器、通过总线抓报文。这些操作在操作系统层面依赖的是设备驱动、权限模型、I/O 调度机制。传统 Windows 上串口就是 COM 口打开、配置波特率、读写一套 API 几十年没变过。Linux 上是 /dev/ttyUSB0 这类设备节点配合 termios 配置。到了鸿蒙桌面环境设备访问的权限模型、设备枚举方式、甚至文件系统对设备节点的暴露方式都可能不一样。工程师写的那行打开 COM3在鸿蒙上可能对应的是完全不同的调用路径。我去年帮一个客户做过类似的迁移评估当时最大的感受是表面 API 相似底层行为差异巨大。比如串口在长时间高频率读写下的缓冲区行为不同系统差异能到毫秒级而工业测试里很多用例对时序是有硬要求的。ETest 这次能完成适配说明他们在这一层做了实打实的工作而不是套个兼容层糊弄过去。2.2 实时性与稳定性的双重考验工业测试工具和普通软件最大的区别是它对确定性的要求。一个测试用例跑 8 小时中间不能因为系统调度抖动导致超时误判一条 CAN 报文的时间戳误差要控制在可接受范围内一个自动化测试序列不能因为界面卡顿就丢指令。鸿蒙作为面向多设备的操作系统它的调度策略、电源管理、后台进程管理和传统桌面系统是不同设计取向。这对工业 IDE 来说是把双刃剑一方面系统更现代、更安全另一方面工业场景需要的我就是要这个进程一直霸着 CPU 干活这种诉求需要额外的适配和配置。提示任何工业工具迁移到新系统第一件要验证的不是功能而是长时间运行下的时序稳定性。功能能跑通只是及格线稳定性才是工业场景的生死线。2.3 工具链生态的连带适配ETest 不是一个孤立软件它背后连着一整条工具链编译器、调试器、烧录器、脚本引擎、报告生成模块。适配鸿蒙意味着这条链上的每个环节都要能在鸿蒙上跑起来或者至少能和鸿蒙上的 ETest 正常协作。这里有个容易被忽略的点很多嵌入式工具链的组件是十几年前写的依赖老版本的运行库、老式的图形库、甚至特定的文件路径约定。把它们搬到鸿蒙上工作量往往比主程序适配还大。这也是为什么纯血鸿蒙适配这个说法有分量——它暗示的不是套壳兼容而是原生层面的打通。2.4 国产工具链协同的示范意义从更大的视角看ETest 适配鸿蒙这件事价值不只是一款软件多了一个运行平台。它验证了一条路径国产工业软件和国产操作系统之间是可以形成协同的。过去大家各做各的操作系统厂商忙着铺消费端工业软件厂商守着 Windows 生态中间没人搭桥。现在这个桥开始有人搭了后面跟进的工具会越来越多。对一线工程师来说这意味着未来选型时多了一个组合国产 OS 国产 IDE 国产芯片整条链路自主可控。这个组合在特定行业里的价值不需要我多解释。3. ETest 这类工业 IDE 的核心能力拆解3.1 测试脚本引擎IDE 的心脏ETest 最核心的能力是测试脚本的编写和执行。这类工具通常内置一套脚本语言或者支持标准语言如 Python、Lua、类 C 语法工程师用它来描述测试逻辑初始化设备、发送激励、采集响应、判断结果、生成报告。脚本引擎的设计直接决定了工具的易用性和能力边界。我见过太多工具脚本语法设计得一塌糊涂写个简单的循环判断都要绕半天。好的脚本引擎应该满足几点语法直观、调试方便、能直接调用底层通信接口、支持断点和单步。从适配角度看脚本引擎是最需要仔细处理的部分。因为脚本执行往往涉及大量系统调用比如文件读写、时间获取、进程通信。这些在鸿蒙上的行为如果和原平台不一致脚本跑出来的结果就可能不可信。3.2 设备通信层连接物理世界的通道这是工业 IDE 区别于普通开发工具的关键。ETest 需要支持多种物理接口接口类型典型用途适配关注点串口单片机、老式设备调试设备枚举、波特率精度、缓冲区行为网口网络设备、远程测试Socket 行为、超时机制、多连接管理CAN 总线汽车电子报文时序、过滤器配置、错误帧处理USB调试器、采集卡驱动兼容、热插拔、权限JTAG/SWD芯片级调试调试器驱动、目标连接稳定性每一类接口在鸿蒙上的适配都是一次独立的工程。ETest 能宣称完成适配意味着这些通道至少都打通了基本功能。3.3 用例管理与自动化执行工业测试不是跑一次就完事而是要管理成百上千个用例支持批量执行、定时执行、失败重试、结果归档。这部分对操作系统的依赖相对小一些主要考验的是文件系统性能和进程管理能力。但这里有个坑鸿蒙的文件系统权限模型比较严格工具如果需要往特定目录写日志、写报告可能要处理权限申请和路径映射。我见过有工具迁移后报告生成失败排查半天发现是默认输出路径在新系统上不可写。3.4 报告与数据可视化测试跑完要出报告这是工业场景的刚需。报告模块通常涉及图表绘制、PDF 导出、数据统计。这部分对图形库和字体库有依赖鸿蒙上的字体渲染、图形加速如果和原平台不同报告样式可能会跑偏。提示迁移工业工具时报告模块是最容易被低估的部分。功能测试都过了最后卡在报告导出乱码或者图表错位上的案例我见过不止一次。4. 鸿蒙桌面环境给工业工具带来的实际约束4.1 权限模型安全与便利的平衡鸿蒙在权限管理上比传统桌面系统严格得多。应用要访问设备、读写特定目录、调用系统能力都需要显式声明和用户授权。这对消费应用是好事对工业工具则意味着额外的适配工作。比如串口访问传统系统上插上就能用鸿蒙上可能需要走特定的设备访问接口或者申请相应权限。ETest 的适配团队必然在这方面做了大量工作把工业场景需要的权限路径都打通了。4.2 图形与输入桌面体验的成熟度鸿蒙 PC 版的桌面体验还在演进中。窗口管理、多显示器支持、输入法兼容、快捷键体系这些对普通用户是体验问题对工业 IDE 是效率问题。工程师用 IDE 是高频操作快捷键不顺手、窗口切换卡顿都会直接影响工作效率。从我了解的情况看鸿蒙桌面在这块进步很快但和成熟桌面系统相比仍有差距。ETest 适配时应该做了针对性的优化比如自定义快捷键映射、窗口布局适配等。4.3 后台进程与电源管理工业测试经常需要长时间后台运行。鸿蒙的电源管理和后台进程策略默认是偏向省电和资源优化的这可能导致长时间运行的测试任务被系统干预。适配时需要处理这类问题比如申请后台运行权限、优化进程保活策略。4.4 生态兼容老工具的迁移路径现实情况是很多工业现场还在用老版本的测试脚本、老格式的用例文件、老接口的硬件。ETest 适配鸿蒙时必须考虑这些历史资产的兼容。如果迁移后老脚本跑不了、老用例读不了那适配的意义就大打折扣。5. 从零验证一套工业 IDE 在鸿蒙上的可用性实操思路5.1 环境准备与基础检查假设你拿到了一套适配鸿蒙的 ETest想验证它能不能在你的场景里干活。第一步不是急着跑用例而是做基础环境检查。先确认系统版本、架构、可用资源。工业工具对内存和存储的要求通常不低尤其是跑复杂用例时。然后检查设备连接把你的目标板、调试器、串口线接上看系统能不能正确识别。# 查看系统基本信息示例命令具体以实际环境为准 uname -a # 查看串口设备枚举情况 ls /dev/tty* # 查看 USB 设备 lsusb这一步的目的是建立基线知道系统认出了哪些设备后面工具里连不上时才能判断是工具问题还是系统问题。5.2 通信通道逐个打通基础检查过了接下来逐个验证通信通道。我的习惯是按最简单到最复杂的顺序来先串口再网口最后总线和调试器。串口验证最直接打开端口、配置参数、发一条指令、看有没有回显。这里要注意波特率的实际精度有些系统在高波特率下会有偏差导致通信不稳定。网口验证要测几种场景短连接、长连接、大流量、断线重连。工业场景里网络抖动是常态工具的重连机制必须可靠。CAN 总线验证相对复杂需要实际的 CAN 设备或者仿真器。重点看报文收发的时序和过滤功能。5.3 脚本执行与结果校验通信通了就可以跑脚本了。建议先跑一个最简单的用例初始化、发一条指令、判断响应、输出结果。确认这个闭环没问题再逐步增加复杂度。这里有个经验不要一上来就跑完整测试套件。工业测试套件动辄几百个用例跑一遍几小时中间出问题很难定位。先用最小用例验证链路再逐步放大。5.4 长时间稳定性压测功能验证通过后必须做稳定性压测。我的做法是让工具连续跑 24 到 72 小时中间记录内存占用变化、响应时间变化、有无异常退出、日志有无报错。# 稳定性监控脚本思路伪代码 import time import psutil target_process etest start_time time.time() while True: proc find_process(target_process) if proc is None: print(进程已退出时间, time.time() - start_time) break mem proc.memory_info().rss / 1024 / 1024 cpu proc.cpu_percent() print(f运行时长{time.time()-start_time:.0f}s 内存{mem:.1f}MB CPU{cpu}%) time.sleep(60)这个脚本能帮你快速发现内存泄漏和异常退出。工业工具最怕的就是跑着跑着悄悄挂了测试结果还显示通过。5.5 报告与数据导出验证最后验证报告模块。跑完用例导出报告检查格式是否正确、图表是否正常、数据是否完整、中文是否乱码。这一步经常被跳过但恰恰是交付时最容易出问题的环节。6. 实操中容易踩的坑与排查速查表6.1 设备识别类问题最常见的问题就是设备插上了工具里看不到。排查思路系统层面能不能看到设备lsusb、ls /dev/tty*权限是否足够有些设备需要特定用户组权限工具的设备枚举逻辑是否适配了新系统驱动是否加载我遇到过一次串口设备在系统里能看到但工具里死活枚举不出来最后发现是工具用了硬编码的设备路径规则在新系统上不匹配。这种问题只能靠工具厂商适配解决。6.2 通信不稳定类问题通信时好时坏是最难排查的。可能的原因缓冲区设置不当、时序参数不匹配、系统调度干扰、硬件本身问题。排查时建议先用系统自带的工具如 minicom、socat验证底层通信是否稳定排除硬件和系统问题再怀疑工具。6.3 性能与资源类问题工具跑起来卡顿、内存飙升、CPU 占满这类问题在迁移初期很常见。重点看是否有死循环、是否有资源未释放、图形渲染是否走了低效路径。6.4 常见问题速查表现象可能原因排查方向设备枚举不到权限/驱动/枚举逻辑系统层确认→权限检查→工具适配通信偶发失败时序/缓冲/调度底层工具验证→参数调整长时间运行崩溃内存泄漏/资源未释放监控脚本→日志分析报告导出异常字体/路径/权限路径检查→字体安装→权限申请界面卡顿渲染路径/资源占用图形加速→进程优先级提示工业工具的问题排查永远遵循先系统、后工具、再硬件的顺序。跳过系统层直接怀疑工具会浪费大量时间。7. 这件事对嵌入式工程师的实际影响7.1 选型时多了一个国产组合过去做嵌入式项目选型工具链基本是固定的Windows 国外 IDE 国外调试器。现在多了一个选项鸿蒙 ETest 国产芯片。这个组合在自主可控要求高的行业里价值会越来越明显。当然现阶段的成熟度还需要时间验证。但方向是明确的而且已经有实际产品落地不再是纸上谈兵。7.2 技能栈的延伸对工程师个人来说这意味着技能栈要延伸。以前会 Windows 下的工具操作就够了现在可能要了解鸿蒙环境下的工具使用、权限配置、问题排查。这不是负担而是竞争力。我个人的判断是未来三到五年国产工业工具链的岗位需求会明显上升。早一点熟悉这套体系早一点占位。7.3 项目迁移的注意事项如果你正在考虑把现有项目迁移到鸿蒙 国产 IDE 的组合我的建议是先做小范围验证不要一次性全量迁移重点验证通信链路和长时间稳定性保留回退方案迁移初期双轨运行和历史脚本、用例的兼容性要提前测试8. 国产工业 IDE 适配鸿蒙的后续看点ETest 完成鸿蒙适配是一个节点不是终点。接下来值得关注的几个方向第一更多工业工具的跟进。测试工具适配了编译工具、烧录工具、仿真工具会不会跟上只有形成完整的工具链生态国产组合才真正可用。第二适配深度的验证。公告说完成适配但实际项目里的表现如何需要一线工程师用真实场景去检验。我期待看到更多来自产线、实验室的实测反馈。第三性能优化空间。初版适配通常以能用为目标后续的好用、快需要持续迭代。尤其是工业场景对实时性的要求优化空间还很大。第四社区和文档建设。工业工具的使用门槛不低如果配套的文档、示例、社区支持跟不上工程师上手会很痛苦。这块往往是国产工具的短板希望能重视。我自己会持续关注这条线也会在实际项目里找机会试用。等有更多一手体验再和大家分享。如果你也在做类似的迁移或者验证欢迎交流踩坑经验——工业工具这条路一个人摸索太慢一群人踩坑才快。

相关新闻

claude-mem:给AI对话加装长期记忆,告别跨会话失忆

claude-mem:给AI对话加装长期记忆,告别跨会话失忆

如果你平时经常跟AI对话工具打交道,大概率遇到过这种场景:同一个项目,上一轮会话已经把背景、目标、约束都交代得清清楚楚,新开一个会话,对面就像失忆了一样,还得再把技术栈、方案结论、待办事项从头说一遍…

2026/10/9 4:33:54 阅读更多 →
DeepSeek工具调用与多模态扩展实战指南

DeepSeek工具调用与多模态扩展实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 4:32:53 阅读更多 →
乳酸化修饰如何驱动肿瘤免疫逃逸?机制与实验验证全解析

乳酸化修饰如何驱动肿瘤免疫逃逸?机制与实验验证全解析

这些年泡在肿瘤微环境和表观遗传相关的研究里,我明显感觉到一个趋势:代谢物不再只是能量代谢的配角,而是直接钻进表观遗传机器里改写基因表达。尤其是“乳酸化修饰”这个概念,这几年几乎成了免疫代谢交叉领域最热的关键词之一。最…

2026/10/9 4:32:53 阅读更多 →

最新新闻

Vulkan固定功能阶段详解:从顶点输入到颜色混合的管线配置

Vulkan固定功能阶段详解:从顶点输入到颜色混合的管线配置

很多朋友学到 Vulkan 管线的可编程阶段,写完了顶点着色器和片元着色器,就以为万事大吉。结果在创建VkGraphicsPipelineCreateInfo的时候,突然冒出一大堆结构体要填:顶点输入、输入装配、光栅化、深度模板、颜色混合。这就是 Vulka…

2026/10/9 5:12:22 阅读更多 →
并网逆变器VSG预同步控制Matlab仿真模型搭建与调试

并网逆变器VSG预同步控制Matlab仿真模型搭建与调试

做过微电网和分布式电源并网仿真的朋友,十有八九都遇到过这个画面:预同步没做好的模型一合闸,直流母线电压瞬间被拉垮,电流波形上冲出一个尖峰,直接把过流保护和示波器刻度一起顶飞。这个标题很直白——VSG预同步控制M…

2026/10/9 5:12:22 阅读更多 →
PS消失点滤镜:透视贴图与空间绘图完全指南

PS消失点滤镜:透视贴图与空间绘图完全指南

1. 从“贴图透视总画歪”说起:消失点滤镜到底在解决什么问题做设计或者修图的朋友,大概都遇到过这种场景:手里有一张带透视的实景照片,比如一面斜着拍的砖墙、一张有纵深感的桌面、一个带角度的包装盒,你想在上面贴个l…

2026/10/9 5:12:22 阅读更多 →
CAXA电子图板2026功能区全解析:从布局到自定义实战

CAXA电子图板2026功能区全解析:从布局到自定义实战

说实话,我第一次接触CAXA电子图板2026的时候,第一反应是盯着顶部那条又宽又密的“功能区”发了好一会儿呆。作为从老版本菜单栏一路用过来的设计人员,看到所有图标被重新分门别类地塞进好几个选项卡,心里多少有点别扭。但用了一个…

2026/10/9 5:12:22 阅读更多 →
城市生命线物联网年度实践:从硬件选型到平台闭环的工程复盘

城市生命线物联网年度实践:从硬件选型到平台闭环的工程复盘

2025年,我在恒星物联主要做的事情,就是围着“城市生命线”转:地下管网的压力传感器、燃气井里的可燃气体探测器、桥梁上的位移监测节点、智慧城市运营中心里的那块大屏。年终写下这篇回顾,既是替团队做个交代,也是给还…

2026/10/9 5:12:21 阅读更多 →
SpringBoot瑜伽馆管理系统毕设:设计实现与答辩要点全解析

SpringBoot瑜伽馆管理系统毕设:设计实现与答辩要点全解析

每年到了毕设季,总有一大批人被“选什么题目”卡住。Java方向的项目来来去去就是管理系统、商城、博客这三板斧,但真正能把一个管理系统讲到明白、做出亮点的人其实不多。这次我完整走了一遍SpringBoot瑜伽馆管理系统的设计与实现,从选题、建…

2026/10/9 5:11:21 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →