- 博客(500)
- 资源 (5)
- 收藏
- 关注
原创 【Eclipse OpenSOVD学习之十四】差距清单与演进建议
本章汇总前 12 章发现的所有问题,按优先级排序,并给出能力完成度评估与演进路线建议。
2026-09-10 00:25:53
129
原创 【Eclipse OpenSOVD学习之十三】质量工程
诊断服务的缺陷往往出现在跨层交互(协议序列化、错误映射、传输边界),因此既需要大量单测覆盖算法,也需要端到端测试覆盖真实 HTTP 行为。提供的命令行选项():提供的 fixture():2.4 CI 流水线覆盖率: → JSON → 渲染 Markdown → 发布到 GitHub Pages(当前徽章 87%)。关键设计:即:优先用预构建二进制(CI 中跨 job 复用)→ 否则从源码构建 → 用 精确定位产物路径(避免硬编码 )。 解析 的输出,把每个 Rust 测试动态展开为 py
2026-09-10 00:24:39
242
原创 【Eclipse OpenSOVD学习之十二】 MCP 集成(opensovd-mcp)
MCP(Model Context Protocol)是让 LLM 应用连接外部系统的开放协议。SOVD 与 MCP 天然契合:SOVD 的实体/能力模型是的(capabilities + HATEOAS),几乎不需要额外建模就能提供给 LLM;而"用自然语言问车怎么了"正是诊断场景的直觉交互。
2026-09-10 00:23:15
125
原创 【Eclipse OpenSOVD学习之十一】网关二进制与部署
SOVD gateway 是:把多个下游 SOVD server(车内多个 ECU/HPC、或下层网关)的实体汇聚成统一视图,对外暴露单一/sovd/v1。因此 gateway 是""——它把库的能力通过 CLI 参数暴露出来。
2026-09-10 00:22:23
190
原创 【Eclipse OpenSOVD学习之十】客户端 SDK
客户端 SDK 基于 hyper + Tower 构建,支持 Unix domain socket 与版本协商。通过延迟求值链式构建器实现高效请求组合,利用 Discovery 自动获取服务端 base_uri 并适配多版本。核心流程包括路径编码、URI 拼接、异步发送与响应解析,确保类型安全、可复用且与服务端同构。
2026-09-10 00:21:19
249
原创 【Eclipse OpenSOVD学习之九】 认证与授权(AuthN / AuthZ)
SOVD 面向:诊断数据会流出车外、被第三方使用。因此安全不能是"外挂一层反向代理",而应是。
2026-09-10 00:20:07
227
原创 【车载软件信息安全】 车载嵌入式设备中的安全随机数:技术原理、实现机制与工程实践
车载系统对随机数要求严苛,因启动快、环境噪声少、寿命长且易遭物理攻击。Linux 内核通过硬件真随机源(TRNG)为熵池注入真实熵,经 input_pool 混合后,由 ChaCha20 构建的 DRNG(CRNG)扩展为密码学安全输出。getrandom() 为推荐接口,确保种子充分播种;密钥实时擦除机制保障前向安全。尽管 /dev/urandom 非阻塞,但现代内核中其安全性等同于 /dev/random,应用应优先使用 getrandom() 而非直接操作设备文件。
2026-09-09 15:25:40
562
原创 【Eclipse OpenSOVD学习之八】 路由与处理器
在请求路径上生成 schema,未缓存。schema 是静态的,应 lazy static 缓存。:先取锁拿到 provider 的克隆、立即放锁、再 await。——拓扑变更只能通过代码注入或 DiscoveryProvider(见。时才调用(惰性),避免所有请求都付出 schema 生成成本。§4.2 缺陷 5)——把。,handler 可直接写。——见 §4.1 缺陷 1。:所有 handler 在。哪些字符需要转义(保留。
2026-09-09 00:31:29
187
原创 【Eclipse OpenSOVD学习之七】 服务端运行时(Server / Builder / 中间件 / 传输)
因此运行时必须:监听器类型、鉴权方式、中间件栈、TLS、基础路径、静态资源挂载都应是可配置的,而不是写死的。
2026-09-09 00:28:19
114
原创 【Eclipse OpenSOVD学习之六】 数据访问层(DataProvider)
SOVD 把"诊断数据"抽象为,而非 UDS 的"按 DID 读写"。idnamecategorygroupstagsschema服务端不关心数据从哪来(传感器、配置文件、UDS 适配器、内存变量),只关心一个统一接口。这就是trait 存在的意义——。
2026-09-09 00:23:05
204
原创 【Eclipse OpenSOVD学习之五】拓扑引擎(Topology)
本章是整套架构的核心。Topology 决定了:实体如何存储、关系如何查询、并发如何控制、变更如何传播、远端实体如何汇聚。
2026-09-09 00:21:40
206
原创 【Eclipse OpenSOVD学习之四】 领域模型与类型系统
SOVD将领域模型与HTTP传输解耦,构建零HTTP依赖的opensovd-core,支持内嵌与离线测试。通过EntityRef类型化引用(kind+id)避免实体误用。实体(Component/App/Area)采用消费式builder构建,DTO层与领域层严格分层
2026-09-08 00:05:57
260
原创 【Eclipse OpenSOVD学习之三】 Workspace 与 crate 分层
挡在公开 API 之外(避免下游被 schemars 版本绑定),同时让无 schema 场景也能编译。两个 blanket impl 由。这套约束直接禁掉了车载/嵌入式最常见的几类隐患:越界索引、算术溢出、裸 unwrap、非 Send/Sync 的共享(这是唯一一处"上层定义接口、下层提供实现"的依赖倒置(通过 feature 可选依赖实现)。Cargo feature 的并集语义导致了这个泄漏。(依赖 providers)时,即使关掉。因此当 gateway 同时启用。是 optional 的,但。
2026-09-08 00:01:59
401
原创 【Eclipse OpenSOVD学习之一】 系列简介
<think>我们根据内容生成≤150字摘要。需要概括核心:Eclipse OpenSOVD是SOVD标准开源实现,用REST资源模型表达诊断。分析了opensovd-core,架构五个环节,质量高但功能完成度约18%,适合学习原型,不适合生产。注意字数。</think>Eclipse OpenSOVD是ISO SOVD标准的Rust开源实现,以REST资源模型重构车辆诊断。核心架构含“发现、拓扑、路由、守卫、数据”五环节,代码质量高(覆盖率87%、严格lint),但功能完成度仅约18%,仅实现版本/实体/
2026-09-07 23:56:44
835
原创 【Eclipse OpenSOVD学习之二】 SOVD 协议原理与标准背景
Eclipse OpenSOVD 是ISO 17978-3:2026 SOVD(Service-Oriented Vehicle Diagnostics,面向服务的车辆诊断)标准的开源实现。用 HTTP 资源模型重新表达诊断——把整车诊断能力抽象成 REST 资源,取代传统的 UDS/ODX 点对点诊断协议。分析对象是 Eclipse 组织下的仓库(核心代码仓,含 Server / Client / Gateway)。
2026-09-07 23:43:27
561
原创 从 CodeGraph 到 Sourcegraph:代码知识图谱构建与工具选型指南
本文介绍了代码知识图谱(Codebase Knowledge Graph)的概念及其主流工具分类与选型指南。文章首先阐述了代码知识图谱的必要性,包括提供语义级关系、跨语言统一表示、可增量更新和机器可消费等优势。 接着将主流工具分为五类:传统代码搜索引擎(如OpenGrok)、代码智能产品平台(如Sourcegraph)、AI代码图谱MCP工具(如CodeGraph)、语义框架(如Kythe)和语义数据格式/协议(如SCIP)。每类工具都有不同的定位和使用场景。 文章详细介绍了每类工具的代表性产品,包括: O
2026-08-20 19:32:34
408
原创 【代码质量】圈复杂度(CCN)入门与实战:用「字段表驱动」为巨型函数瘦身
本文介绍了代码圈复杂度(CCN)的概念、计算方法和优化实践。CCN用于衡量函数中独立执行路径的数量,数值越高表示代码越复杂难维护。文章通过迷宫比喻解释了CCN的计算原理,并提供了三种计算公式和决策点计数示例。关键内容包括: CCN的计算方法:决策点(if/for/while等)+1,并给出了业界推荐的阈值标准(>10需关注,>30必须重构)。 介绍了多种CCN检测工具,如lizard、SonarQube等,并演示了lizard的实际使用方式。 通过一个实际案例(CCN=244的配置解析函数)展示了高复杂度代
2026-08-20 14:47:07
381
原创 【高可靠性软件】从断网到坠机:通信、汽车与航空嵌入式软件的可靠性阶梯闲谈
本文对比分析了通信设备、车载电子和航空机载三类嵌入式系统的可靠性要求差异。核心区别在于失效后果:通信设备关注业务连续性("五个九"可用性),允许重启恢复;车载电子(ASIL-D级)要求故障不致命,需支持降级运行;航空机载(DO-178C A级)实行零容忍政策,完全禁止动态内存分配,要求100%全路径时序分析和多冗余架构。军工机载在此基础上还需应对极端环境。三者形成递进关系:从服务保障到人身安全,再到绝对可靠性的不同层级要求。理解这些差异对开发策略选择至关重要。
2026-07-01 23:39:51
366
原创 车载RTOS的POSIX分类概述
摘要: 随着中央域控架构和AUTOSAR AP的普及,POSIX支持成为车载RTOS选型的关键指标。本文解析POSIX的四个实时嵌入式Profile(PSE51/52/53/54),指出AUTOSAR AP仅需PSE51(单进程),多进程需PSE54或完整POSIX.1。根据POSIX支持力度,将12款主流车载RTOS分为四级: Tier1(完整POSIX):如QNX、VxWorks、NuttX,支持多进程和Linux生态移植,适用于智驾/座舱域控; Tier2(中度支持):如RT-Thread Smart
2026-06-17 17:35:56
100
原创 嵌入式车载Linux中各种进程间通信IPC基础知识(中级)
无论是面试还是在日常工作中,Linux下的进程之间的通信技术,都是一个基础常用的技能。本文对这个知识点进行了汇总,并且结合车载嵌入式编程的场景特点,对具体应用时候给出一些指导意见。在车载嵌入式系统(如基于 AUTOSAR Adaptive Platform 的 NeuSAR、AGL、YOCTO 构建的 Linux 系统)中,多个功能模块(如 Execution Management、State Management、传感器处理单元等)通常以独立进程形式运行。为了协同工作,它们必须通过进程间通信。
2026-01-12 09:27:54
755
原创 【车载信息安全系列5】以 常用AES-128-CTR通信密钥可用于诊断密钥吗
通信密钥场景:AES-128-CTR高度适配,核心优势是流密码无填充、加解密逻辑一致、硬件加速效率高、抗重放易实现,是车载总线/网络通信密钥的优选;诊断密钥场景:AES-128-CTR不能单独使用,仅能作为“诊断数据加密的辅助密钥”,需结合身份认证、完整性校验、权限绑定机制,且不如AES-128-GCM适配;核心差异:通信密钥的核心是“加密数据”,CTR的流密码特性完美匹配;诊断密钥的核心是“认证+加密+权限”,CTR仅能满足加密需求,需补充其他安全机制。
2025-12-20 14:15:18
728
原创 【车载信息安全系列4】基于Linux中UIO的HSE应用实现
在传统Linux驱动模型中,硬件访问(如寄存器读写、中断处理)必须通过内核态驱动实现,开发难度高、周期长;内核层仅做最小化处理:内核态只负责“分配设备资源(如内存地址、中断号)+ 通知用户空间中断事件”,不处理具体的硬件逻辑;用户层实现核心逻辑:硬件的初始化、寄存器读写、数据交互等核心逻辑,全部在用户空间程序中完成。这种设计特别适合车载SoC的HSE、FPGA、专用加密芯片等“功能固定、无需内核态频繁干预”的硬件,既能降低驱动开发成本,又能让用户空间程序灵活控制硬件。核心定义:UIO是Linux内核的。
2025-12-20 14:08:13
834
原创 【车载信息安全系列3】限制使用指定密钥槽中的密钥
硬件层锁死槽位属性+驱动层过滤槽位ID/进程权限+系统层管控设备节点/SELinux+应用层封装隐藏槽位,四层防护层层拦截;关键特征:软件层(尤其是应用层)无权限指定槽位ID,只能通过封装的业务接口访问固定槽位,越权请求在驱动/硬件层直接被拒绝;安全核心:硬件层的权限配置是底线,软件层的限制是补充,即使软件层被部分绕过,硬件层仍能阻止越权访问。简单来说,车载SoC通过“让软件看不到、改不了、选不了”密钥槽ID的方式,实现对密钥槽使用的严格限制——软件只能按预设规则访问指定槽位,无法越权。
2025-12-20 14:04:41
963
原创 【车载信息安全系列2】车载控制器中基于HSE的多密钥安全存储和使用
在车载SoC的HSE中,密钥槽是硬件层面划分的逻辑存储单元规范化管理多密钥:车载场景需要存储多个密钥(如根密钥、AES密钥、签名密钥等),密钥槽通过唯一ID(如0~63)区分不同密钥,避免混淆;权限隔离:每个密钥槽可配置独立的访问权限(如“仅加密可用”“仅HSE内部调用”“禁止导出”),比如根密钥所在的槽位禁止任何外部读取,AES会话密钥槽位仅允许指定进程调用;简化密钥使用:应用层无需记住复杂的密钥存储物理地址,只需传入“槽位ID”即可调用密钥,HSE内部完成ID到实际密钥的映射,降低软件层复杂度;
2025-12-20 14:02:21
1097
原创 【车载信息安全系列1】车载Linux系统常用的OpenSSL, HSE加密工作原理
AES-128-CTR加解密:OpenSSL通过引擎对接HSE,由HSE硬件完成AES伪随机流生成和XOR运算,软件层仅传递参数和接收结果,加解密逻辑一致且无块填充(适配任意长度输入);密钥存储:采用“分层保护+硬件隔离”策略,根密钥存OTP/eFuse,应用密钥由根密钥加密后存加密分区,使用时全程在HSE内部流转,无明文暴露;核心安全点:HSE是整个流程的安全核心,既加速运算,又保障密钥的生成、存储、使用全生命周期安全,符合车载场景的高安全要求。
2025-12-20 13:55:26
1117
原创 深入解析Ghidra Python脚本开发:基础与实战
Ghidra Python脚本是逆向工程自动化的核心工具,通过调用其丰富的Java API,可实现从批量反编译、特征提取到自定义分析的全流程自动化。本文介绍的5个实战脚本覆盖了逆向分析中最常见的场景,开发者可基于这些案例扩展功能(如漏洞扫描、恶意代码特征匹配等)。掌握Ghidra Python脚本开发,能大幅提升逆向分析效率,将重复的手工操作转化为可复用的自动化流程。
2025-12-17 14:04:55
1211
原创 【AUTOSAR AP R25】版本新增内容及AP架构发展趋势
属于Storage类别,采用守护进程(Daemon-based)模式,是对现有本地Persistency功能的扩展。核心能力:整合键值存储(KeyValueStorage)与服务接口,提供数据项的远程持久化存储服务,支持通过ara::com服务接口实现远程数据访问。
2025-12-12 10:41:28
718
原创 【AUTOSAR AP R25】Safe Hardware Acceleration 规范初探
实现层允许直接复用 DPC++、hipSYCL、ComputeCpp,仅在上层做“汽车封装”,降低移植成本。AUTOSAR 在 AP R25-11 首次发布。
2025-12-12 08:58:45
671
原创 【AUTOSAR AP R25】Safe HWA API解析
Safe HWA API 首次把“高性能异构计算”与“车规级功能安全”装进同一个头文件。对于 Tier1 和算法供应商来说,意味着:“写一次、跑遍所有加速器、过 ISO-26262 不再靠封装器。下一步,就等你把点云 pipeline 从 CUDA 迁移到ara::shwa,在 Orin、EyeQ6、Xilinx Versal 上跑出一套真正的“安全加速” demo。
2025-12-11 20:08:32
717
原创 【AUTOSAR AP R25】 安全硬件加速(Safe Hardware Acceleration)需求一览
AUTOSAR Adaptive Platform(AP)中 Safe Hardware Acceleration(SHWA)功能集提供一种标准化、可移植的方式,用于在 Adaptive Platform 中安全、高效地使用硬件加速器(如 GPU、FPGA、DSP);支持 Adaptive Application 在运行时调用硬件加速器进行并行计算,并确保数据完整性、错误处理、资源管理等安全性要求;为硬件加速器提供抽象接口,屏蔽底层硬件差异,实现跨平台兼容。类型内容新增需求(R25-11)
2025-12-11 19:56:38
777
原创 【AUTOSAR AP R25】State Management模块Suspend-to-RAM机制初识
是一种低功耗管理机制,其核心是将系统状态(CPU寄存器、内存数据等)保存到RAM中,关闭CPU和大部分外设电源,仅保留RAM供电;当系统被唤醒时,可快速恢复到休眠前的运行状态,无需重新启动系统。在AUTOSAR AP R25-11的State Management规范中,调用EnterSuspendToRam(超时1000ms)校验请求有效性,切换到Suspend状态。发送S2R休眠请求(TriggerX)系统进入S2R,仅RAM供电。检测到唤醒事件(如钥匙解锁)确认休眠就绪(OK)确认唤醒完成(OK)
2025-12-09 15:09:42
1036
原创 【AUTOSAR AP R25】新规范Remote Persistency规范一览
即远程数据项,以键值对形式存储在KeyValueStorage中,支持任意基础或自定义C++类型,可通过ara::com接口访问。:Remote Persistency仅支持键值存储,不支持文件存储(已知局限性)。错误码代码描述1方法与存储的数据类型不匹配2指定键在存储中不存在3预配置字段无法删除4存储空间不足或超出配额5存储访问异常(如介质损坏、加密失败)
2025-12-09 10:28:05
1041
原创 简单易懂介绍Transformer中Attention机制的演进与实现解析
而深度学习领域的Attention机制,本质是对这一认知模式的算法化复刻:它让模型在处理序列数据(如文本、语音)时,不再对所有输入信息“一视同仁”,而是通过计算“注意力权重”,动态分配计算资源到关键token上,从而解决传统模型(如RNN)处理长序列时的“信息稀释”问题。Transformer的核心是“Scaled Dot-Product Attention”和“多头Attention”,其实现可通过“逻辑推理规则”类比理解——每个模块的设计都对应明确的逻辑运算,确保“关联计算”的合理性和有效性。
2025-11-27 15:59:59
1141
原创 汽车嵌入式POSIX OS下高可靠性的文件存储的常用编程实现模式
临时目录中转模式通过纯文件系统API实现原子性操作,避免半写数据;管道抽象模式屏蔽底层存储差异,支持精细化的刷盘和寿命管理;资源预留模式提前规避资源不足问题,防止数据损坏和资源泄漏。
2025-11-27 15:40:00
991
原创 2025年汽车是如何被软件来定义的现状和未来
软件定义汽车的变革,早已超出了“给汽车加软件”的范畴。它正在把汽车从一个孤立的硬件产品,变成一个连接人、云、服务的智能终端,重构整个汽车行业的技术路线、商业模式和供应链结构。这场变革虽然充满挑战——从架构重构到人才短缺,从安全风险到法规滞后,但它带来的机遇更是前所未有的。未来的汽车,不再是“开不坏的铁疙瘩”,而是“越用越智能的移动伙伴”;车企也不再是“硬件制造商”,而是“出行服务提供商”。要实现这个愿景,需要车企、科技公司、学术界、监管机构的协同发力。
2025-11-20 20:07:40
454
原创 常见状态机类型解析与在汽车电子软件中的应用举例
HSM 将状态划分为父状态(Super State) 和子状态(Sub State),子状态继承父状态的行为(如入口动作、出口动作、默认迁移),仅定义自身特有的逻辑。其核心是 “状态分层 + 行为复用”。
2025-11-20 13:52:44
788
原创 白话讲解ARP4754B(民用飞机与系统研制指南)中“V模型”
核心定位:最顶层聚焦飞机整体需求与验证,决定“这架飞机要能飞多远、载多少人、多安全” ,所有设计都围绕飞机级需求展开。案例:以民航客机A320neo为例,飞机级需求会明确:功能需求:载客量150 - 240人、航程6000公里以上、具备跨洲际飞行能力;安全需求:满足FAA/EASA的适航标准,如发动机失效时仍能安全备降;性能需求:油耗比前代机型降低15%(通过新型发动机、气动优化实现)。
2025-11-17 15:56:56
1448
原创 编程范式综论:从思维哲学到程序形态简论
*编程范式(Programming Paradigm)**是一种关于如何思考与表达计算的哲学。它决定了程序员看待“问题”与“解法”的方式,就像不同的艺术流派表达同一个主题。在命令式编程中,程序员像将军——命令计算机执行每一步操作。在函数式编程中,程序员像数学家——定义映射关系与函数组合。在逻辑编程中,程序员像哲学家——提出事实与规则,让推理系统自行得出结论。编程范式的演化,也是人类在计算机世界中对“思维与表达自由”的持续探索。编程范式是技术的表象,更是思维的演化史。
2025-11-09 22:59:40
866
原创 电动化筑基:智能社会的能源革命与产业重构
在这场变革中,汽车电动化撕开了产业转型的第一道裂口,机器人电动化重构了生产范式,eVTOL则开辟了立体交通新维度。但电动化的触角远不止于此:电动船舶正改写航运业的碳排放版图,电动工程机械在工地上实现精准作业,电动农业装备正在重塑现代农业形态,就连航空领域也开始孕育电动化的种子。这些多元场景的电动化改造,共同构建起一个以电能为核心的新型能源生态,而这个生态恰恰为智能化提供了响应速度更快、控制精度更高、数据采集更全的运行载体。电动化与智能化的深度耦合,正推动人类社会从工业文明的“机械时代”迈向智能文明的“数字时
2025-11-04 15:56:13
900
原创 PX4传感器冗余与仲裁算法剖析:设计原理、源码实现与工程实践(下部)
PX4的传感器冗余与仲裁机制是“分布式架构+工程化算法+实用化工具”的有机结合,其核心技术路线可概括为“分层监测-动态仲裁-自适应融合”,通过驱动层硬件校验、中间层健康巡检、状态层创新检验的三重防护,实现了“故障可检测、切换可平滑、融合可信赖”的工业级可靠性目标。
2025-11-03 09:45:50
1114
车载系统高安全Linux应用软件实现方案评审:基于ISO 26262的功能安全与实时性合规设计检查
2025-11-04
航空航天领域IMA与AFDX在A-17‘Zephyr’飞机构建中的集成架构设计及其网络系统实现研究
2025-01-24
信息安全:不可饶恕的安全漏洞及其评估指标
2024-11-04
Think DSP_ Digital Signal Processing in Python
2017-01-08
pyspark如何实现树层次结构的深度遍历
2023-07-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅