AUTOSAR图解==>AUTOSAR_TR_HWTestManagementIntegrationGuide
AUTOSAR硬件测试管理集成指南
目录
- 文档概述
1.1 文档范围
1.2 局限性 - 目标与动机
2.1 目标
2.2 动机
2.3 用例 - 约束与假设
- 缩略语与术语
- 相关文档
- HTMSS AUTOSAR集成方法
- HTMSS功能描述
- AUTOSAR架构解决方案
8.1 HTMSS系统架构
8.2 HTMSS启动流程
8.3 HTMSS关闭流程
8.4 HTMSS状态转换 - AUTOSAR软件架构集成需求
9.1 ECU状态管理器
9.2 BSW模式管理器
9.3 MCU驱动 - 性能和软件行为影响
1. 文档概述
本文档提供了在AUTOSAR环境中实现硬件测试管理启动和关闭(HTMSS)模块的简要说明。它旨在作为按照AUTOSAR方法和流程实现HTMSS模块的用户指南。
1.1 文档范围
本文档主要描述以下内容:
- 在基于AUTOSAR的ECU中集成硬件特定测试的主要特性描述
- AUTOSAR架构影响和解决方案
- 为了在标准AUTOSAR软件平台中集成HTMSS而需要考虑的受影响模块需求
- 以及相应的ECU软件行为
1.2 局限性
HTMSS模块本身的需求在HTMSS SRS和SWS文档中描述。
2. 目标与动机
2.1 目标
在AUTOSAR系统开发过程中,需要考虑半导体制造商特定测试在标准AUTOSAR环境中的集成技术方法。
目标是标准化与微控制器特定测试包(可能是非AUTOSAR软件模块)的可访问接口,并集成到配置测试、触发测试执行和收集测试结果的AUTOSAR系统中。因此,这个概念引入了一个称为HTMSS的BSW模块来实现其功能。
2.2 动机
HTMSS概念的动机是支持系统对特定功能的可信度感知。例如,资源是否可用、是否处于操作条件下以及是否检测到故障。即使检测到某些故障,系统仍可能能够执行某些活动并信任其结果。系统应如何对这些故障做出反应的确定性必须根据系统分析和建议来实施。HTMSS概念应提供支持以实现这种感知。
从多个测试中收集结果可以提供有关系统中资源条件和方面的事实。在安全关键系统中,潜在故障的诊断对于实现功能安全目标至关重要。它需要集成测试、执行测试并在预期功能之外传播结果。这意味着需要在系统服务层中引入新组件,一个称为硬件测试管理器(HTMSS)的基本软件模块。它实现测试和监控编排,并将结果传播给利益相关的软件组件。
2.3 用例
该概念应满足以下要求:
- 应能够在AUTOSAR之前运行测试
- 应能够在AUTOSAR启动和关闭时运行测试,并传播其结果
- 测试结果应传播以供后续分析
3. 约束与假设
硬件测试应与整体系统行为和谐执行。它们不应对预期功能产生负面影响。这就是为什么需要精确选择执行测试的点。通常,测试分为两个基本组:
- 非破坏性测试:执行此类测试后,可以将项目转回到测试执行前的状态,无需完全重新初始化项目或系统。
- 破坏性测试:执行此类测试后,项目无法返回到已知的操作状态,除非对项目或整个系统应用严格的初始化程序。
HTMSS的目标是为收集和报告特定硬件模块或外设操作状态提供必要的环境和基础设施。操作状态是对这些硬件模块和外设进行测试评估的结果。
该概念要求使用的微控制器能够在执行破坏性测试期间在专用内存地址/寄存器中维护测试结果完整性。测试结果可由HTMSS访问。如果检测到硬件模块的严重故障(核心或RAM/ROM故障),MSTP可能会决定不继续执行软件。在这种情况下,系统必须进入安全状态。连续复位被视为安全状态。MSTP负责维护安全状态。
MSTP的设计规范和实现由微控制器供应商提供。计划在AUTOSAR初始化中执行的测试可以由微控制器供应商提供(微控制器特定测试),也可以由系统集成商设计和实现(ECU功能特定测试)。它们由HTMSS本身编排和评估。
4. 缩略语与术语
缩略语/缩写 | 描述 |
---|---|
HTMSS | 硬件测试管理启动和关闭 |
MSTP | 微控制器特定测试包 |
DEM | 诊断事件管理器 |
ECU | 电子控制单元 |
BIST | 内置自测试 |
CDD | 复杂设备驱动 |
5. 相关文档
[1] ECU状态管理器规范 (AUTOSAR_SWS_ECUStateManager.pdf)
[2] MCU驱动规范 (AUTOSAR_SWS_MCUDriver.pdf)
[3] BSW模式管理器规范 (AUTOSAR_SWS_BSWModeManager.pdf)
[4] 硬件测试管理启动和关闭规范 (AUTOSAR_SWS_HTMSS.pdf)
在AUTOSAR软件平台中实现HTMSS和受影响模块的关联扩展需求时,应考虑其他AUTOSAR通用规范。
6. HTMSS AUTOSAR集成方法
硬件测试管理启动和关闭建议以下列方式将微控制器特定测试包(MSTP)集成到AUTOSAR软件环境中。标准AUTOSAR模块与MSTP之间的交互应通过在BSW服务层中引入一个称为HTMSS的新模块来管理。HTMSS的基本功能包括:
- HTMSS模块初始化(包括MSTP模块,如果需要)
- 基于HTMSS模块配置配置MSTP测试的接口
- 启动MSTP测试执行的接口
- 收集并向所需模块和应用SWC提供MSTP测试结果,以评估结果并做出相关决策
7. HTMSS功能描述
本节描述硬件测试管理启动和关闭在AUTOSAR中的主要功能和集成。
[FS_HTMSS_00001] AUTOSAR应提供一种标准化的安全机制,与微控制器特定测试包(以下称为MSTP)交互,收集MSTP测试结果并将结果提供给相关BSW模块和应用SWC。
描述: AUTOSAR应提供一种机制,用于收集在启动和关闭阶段执行的微控制器特定测试,评估测试状态并将其提供给利益相关的SW-C。
原理: 硬件测试中的故障可能导致安全状态。
用例: 例如,关键硬件资源测试决定MCU的健康状况。
类型: 草案
8. AUTOSAR架构解决方案
集成硬件测试管理启动和关闭需要扩展几个BSW模块的功能,以及在BSW层中引入一个新模块"HTMSS"。
HTMSS与MSTP之间的接口应是特定于供应商的,可以通过在AUTOSAR开发过程中实现的MSTP包装器处理。
8.1 HTMSS系统架构
图1:AUTOSAR HTMSS架构图
HTMSS架构图展示了硬件测试管理模块在AUTOSAR分层架构中的位置和与其他模块的关系。关键组件包括:
-
应用层
- 安全SWC:负责处理硬件测试结果并执行安全相关的动作
-
BSW服务层
- HTMSS(硬件测试管理启动和关闭):核心模块,负责与微控制器特定测试包交互
- EcuM(ECU状态管理器):管理ECU启动和关闭流程,调用HTMSS相关服务
- BswM(基础软件模式管理器):触发关机流程,管理BSW模式
- DEM(诊断事件管理器):接收并处理HTMSS上报的诊断事件
-
MCAL层
- MCU驱动:提供与微控制器核心功能交互的接口
- 复杂设备驱动(CDD):提供与特定设备的交互接口
-
硬件层
- 微控制器特定测试包(MSTP):非AUTOSAR模块,由微控制器供应商提供
- 微控制器硬件BIST:内置自测试功能
HTMSS模块与其他AUTOSAR组件之间的主要交互包括:
- EcuM调用HTMSS_Init()、HTMSS_StartTest()和HTMSS_GetTestStatus()等服务
- HTMSS通过供应商特定接口与MSTP交互
- 安全SWC访问HTMSS提供的测试结果
- HTMSS向DEM上报诊断事件
8.2 HTMSS启动流程
图2:AUTOSAR HTMSS启动阶段序列图
HTMSS启动序列图详细展示了系统启动阶段HTMSS的工作流程:
-
初始化阶段
- EcuM调用Mcu_GetResetReason()获取复位原因
- 根据复位原因(如MCU_POWER_ON_RESET、MCU_SW_RESET、MCU_HWTEST_RESET等)决定后续操作
- EcuM调用HTMSS_Init()初始化HTMSS模块
-
启动测试执行
- 如果需要执行启动测试,EcuM调用HTMSS_StartTest(HTMSS_STARTUP_TEST)
- HTMSS通过MSTP执行非破坏性启动测试
- 测试完成后,EcuM调用HTMSS_GetTestStatus()获取测试结果
-
测试结果处理
- 如果测试结果为HTMSS_STATUS_NOK(测试失败),则调用HTMSS_StartupTestErrorHook()
- HTMSS通知安全SWC测试失败情况,可能触发安全机制
-
继续正常启动
- 如果测试通过,系统继续AUTOSAR正常启动流程
8.3 HTMSS关闭流程
图3:AUTOSAR HTMSS关闭阶段序列图
HTMSS关闭序列图展示了系统关闭阶段HTMSS的工作流程:
-
关闭触发
- 应用层请求BswM关闭ECU
- BswM通知EcuM进入无通信模式(NO_COM)
- BswM通过EcuM_SelectShutdownTarget()选择关闭目标类型
-
关闭测试执行
- 如果关闭目标为ECUM_SHUTDOWN_HWTEST_RESET或ECUM_SHUTDOWN_HWTEST_OFF,EcuM调用HTMSS_StartTest(HTMSS_SHUTDOWN_TEST)
- HTMSS通过MSTP启动关闭阶段测试,这通常是破坏性测试
- MSTP执行测试并存储结果,可能触发硬件复位(MCU_HWTEST_RESET)
-
复位后启动检查
- 系统复位后,EcuM检测到MCU_HWTEST_RESET复位原因
- EcuM调用HTMSS_GetTestStatus()获取上一次关闭测试的结果
- 如果测试结果为HTMSS_STATUS_NOK(测试失败),则调用HTMSS_ShutdownTestErrorHook()
- 系统可能进入降级模式或其他安全状态
8.4 HTMSS状态转换
图4:AUTOSAR HTMSS状态转换图
HTMSS状态转换图描述了HTMSS模块在不同操作条件下的状态流转:
-
初始化流程
- 系统从MCU上电/复位状态开始
- 进入微控制器自检阶段
- 通过EcuM_Init()进入检查复位原因状态
- 通过HTMSS_Init()初始化MSTP模块
-
启动测试流程
- 如果需要执行启动测试,调用HTMSS_StartTest(STARTUP)进入非破坏性启动测试状态
- 收集测试结果后,系统可能进入两种状态:
- 如果检测到严重故障(HTMSS_STATUS_NOK),进入安全状态
- 如果测试通过(HTMSS_STATUS_OK),进入硬件资源监控的正常运行状态
-
关闭流程
- 系统请求关闭时,从正常运行状态进入准备关机状态
- 如果配置了关闭测试,调用HTMSS_StartTest(SHUTDOWN)进入破坏性关闭测试状态
- 测试结果保存后,系统可能触发MCU_HWTEST_RESET复位
-
安全状态处理
- 安全状态表示系统检测到严重故障,可能处于连续复位或受限功能模式
- 从安全状态可以直接进入系统关闭状态
-
测试复位处理
- 如果是测试复位导致的系统重启,将检查上次关闭测试的结果
- 根据测试结果决定系统的后续行为
9. AUTOSAR软件架构集成需求
本节描述需要在受影响的标准AUTOSAR模块中实现的基本需求,以便在AUTOSAR架构中集成HTMSS模块和相应的微控制器特定测试包。
以下AUTOSAR模块在此环境中受到影响:
- ECU状态管理器 – 扩展EcuM UP和DOWN阶段
- BSW模式管理器 – 扩展关闭目标
- MCU驱动 – 扩展复位原因
9.1 ECU状态管理器
EcuM模块需要扩展以在AUTOSAR软件环境中集成HTMSS。扩展需要满足以下功能集成方法:
- EcuM启动阶段需要准备HTMSS和MSTP模块并执行启动测试。
- EcuM关闭阶段需要在BswM触发的关闭目标序列流程中集成HTMSS关闭测试。
- EcuM_ShutdownTargetType需要扩展ECUM_SHUTDOWN_REST和ECUM_HWTEST_OFF以处理关闭测试执行导致的复位。
9.1.1 一般需求
[SWS_EcuM_04136_EXTENSION]
名称: EcuM_ShutdownTargetType
类型: uint8
范围:
- ECUM_SHUTDOWN_TARGET_SLEEP 0x0
- ECUM_SHUTDOWN_TARGET_RESET 0x1
- ECUM_SHUTDOWN_TARGET_OFF 0x2
- ECUM_SHUTDOWN_HWTEST_RESET 0x3
- ECUM_SHUTDOWN_HWTEST_OFF 0x4
9.1.2 EcuM启动阶段
[SWS_EcuM_HTMSS_00001] 在Init块1中,EcuM应调用HTMSS_Init()初始化HTMSS模块。
[SWS_EcuM_HTMSS_00002] ECU管理器模块应根据Mcu_GetResetReason API的返回值调用HTMSS_StartTest()触发MSTP启动测试执行。
[SWS_EcuM_HTMSS_00003] ECU管理器模块应根据Mcu_GetResetReason API的返回值调用HTMSS_GetTestStatus()收集MSTP启动测试结果或关闭测试结果。
[SWS_EcuM_HTMSS_00004] 如果函数HTMSS_GetTestStatus()返回HTMSS_STATUS_NOK,ECU管理器模块应调用HTMSS_StartupTestErrorHook()。
9.1.3 EcuM关闭阶段
[SWS_EcuM_HTMSS_00005] ECU管理器模块应根据EcuM_ShutdownTarget调用HTMSS_StartTest服务函数触发MSTP关闭测试执行。
[SWS_EcuM_HTMSS_00006] ECU管理器模块应根据Mcu_ResetType调用HTMSS_GetTestStatus()。
提示:通常关闭测试执行会导致硬件复位。复位后,在EcuM_Init中,EcuM将调用Mcu_GetReason()。如果复位原因是MCU_HWTEST_RESET,则EcuM应调用HTMS_GetTestStatus()收集关闭测试结果。
[SWS_EcuM_HTMSS_00007] 如果函数HTMSS_GetTestStatus()返回HTMSS_STATUS_NOK,ECU管理器模块应调用HTMSS_ShutdownTestErrorHook()。
9.2 BSW模式管理器
BswMEcuMSelectShutdownTarget应扩展HWTEST_OFF和HWTEST_RESET以处理关闭测试执行导致的复位。
ECUC_BswM_00993_EXTENSION:
名称 BswMEcuMShutdownTarget
类型 EcucEnumerationParamDef
多重性 1
描述 此参数包含BswM在EcuM选择的关闭目标。
范围
- OFF
- RESET:如果配置参数BswMEcuMShutdownTarget设置为RESET,则配置参数BswMEcuMResetModeRef应存在并包含对EcuM复位模式的有效引用。
- SLEEP:如果配置参数BswMEcuMShutdownTarget设置为SLEEP,则配置参数BswMEcuMSleepModeRef应存在并包含对EcuM睡眠模式的有效引用。
- HWTEST_OFF:如果配置参数BswMEcuMShutdownTarget设置为HWTEST_OFF,则配置参数BswMEcuMSleepModeRef应存在并包含对EcuM关闭硬件测试的有效引用。
- HWTEST_RESET:如果配置参数BswMEcuMShutdownTarget设置为HWTEST_RESET,则配置参数BswMEcuMSleepModeRef应存在并包含对EcuM关闭硬件测试的有效引用。
9.3 MCU驱动
Mcu_ResetType应扩展MCU_HWTEST_RESET以处理关闭测试导致的复位。
SWS_Mcu_00252_EXTENSION:
名称: Mcu_ResetType
类型: 枚举
范围:
- MCU_POWER_ON_RESET:上电复位(默认)
- MCU_SW_RESET:软件复位
- MCU_WATCHDOG_RESET:内部看门狗定时器复位
- MCU_HWTEST_RESET:由关闭测试导致的复位
- MCU_RESET_UNDEFINED:复位未定义
描述: 这是复位枚举器的类型,包含复位类型的子集。不要求硬件支持所有复位类型。
10. 性能和软件行为影响
HTMSS在AUTOSAR中的集成对ECUM启动和关闭行为有影响。这将导致:
- 在各自的EcuM阶段(例如更长的EcuM初始化阶段,更长的EcuM关闭阶段)完成HTMSS功能所需的额外时间
- 如果检测到关键故障(即当MSTP测试状态被判断为关键故障时),ECU启动序列可能被中止
因此,集成者可以自由决定AUTOSAR中的HTMSS集成需求,这被提议为符合AUTOSAR软件环境的可选功能。
相关文章:
AUTOSAR图解==>AUTOSAR_TR_HWTestManagementIntegrationGuide
AUTOSAR硬件测试管理集成指南 启动和关闭阶段硬件测试管理的规范与集成 目录 文档概述 1.1 文档范围 1.2 局限性目标与动机 2.1 目标 2.2 动机 2.3 用例约束与假设缩略语与术语相关文档HTMSS AUTOSAR集成方法HTMSS功能描述AUTOSAR架构解决方案 8.1 HTMSS系统架构 8.2 HTMSS启动…...
Day22 Kaggle泰坦尼克号训练实战
作业 自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码 kaggle泰坦里克号人员生还预测 一、流程 思路概述 数据加载 :读取泰坦尼克号的训练集和测试集。数据预处理 :处理缺失值、对分类变量进行编码、…...
基于大核感知与非膨胀卷积的SPPF改进—融合UniRepLK的YOLOv8目标检测创新架构
在当前目标检测领域中,YOLO系列模型因其优异的速度-精度平衡能力而被广泛部署于工业界与科研场景。YOLOv8作为该系列的最新版本,在主干网络与特征金字塔结构上进行了多项优化,进一步提升了其实时性与鲁棒性。然而,其核心组件—SPP…...
[Linux]从零开始的STM32MP157 Busybox根文件系统构建
一、前言 在上一篇教程中,已经教了大家如何使用Buildroot构建根文件系统,并且在最后我们已经完整的构建了一个可以运行的根文件系统。但是,Buildroot的集成度太高了,不利于小白理解根文件系统,所以本次教程,…...
C++ RAII机制
RAII(Resource Acquisition Is Initialization)是一种编程范式,核心思想是:资源的生命周期与对象绑定——对象创建时获取资源,对象销毁时自动释放资源。这种机制通过构造函数和析构函数的配对执行,确保资源…...
spring中的@Value注解详解
一、核心功能与作用 Value是Spring框架中用于动态注入属性值的注解,支持从配置文件、环境变量、SpEL表达式等来源注入数据,实现代码与配置的解耦。 注入类型覆盖广泛 基本类型:字符串、数值(int/double)、布尔值等。 …...
模型欠拟合是什么?
模型的欠拟合:全面解析 一、定义与核心概念 欠拟合(Underfitting)是指模型在训练数据、验证数据和测试数据上均表现不佳的现象。其本质是模型过于简单或学习能力不足,无法捕捉数据中的潜在规律和复杂关系,导致泛化能力差。例如,用线性模型拟合非线性数据时,模型无法描…...
IC ATE集成电路测试学习——电流测试的原理和方法
电流测试 我们可以通过电流来判断芯片的工作状态时,首先先了解下芯片的电流是如何产生的。 静态电流 理论上,CMOS结构的芯片静态时几乎不耗电 CMOS基本结构:Pmos Nmos 串联当逻辑电平稳定时: ➜ 要么Pmos导通,Nmo…...
Wordpress头像无法加载太慢问题解决方式
Wordpress头像无法加载太慢问题解决方式 1、找到我们当前使用的主题目录中找到functions.php文件在文件最后面添加以下代码 if ( ! function_exists( get_cravatar_url ) ) {/***替换Gravatar头像为Cravatar头像** param string $url** return string*/function get_cravatar…...
《大模型微调实战:Llama 3.0全参数优化指南》
全参数微调(Full Parameter Fine-Tuning)是推动大模型适应垂直领域任务的核心技术,尤其对于Llama 3.0这类千亿级参数模型而言,其性能优化与场景适配能力直接决定了实际应用价值。然而,全参数微调面临计算成本高、内存占…...
ActiveMQ 生产环境问题排查与调优指南(二)
五、调优策略与实践 5.1 JVM 调优 JVM 调优对于提升 ActiveMQ 性能至关重要,合理的 JVM 配置可以使 ActiveMQ 更高效地利用系统资源,减少性能瓶颈。 设置合理的堆内存大小是 JVM 调优的关键步骤。堆内存是 JVM 中用于存储对象实例的区域,其…...
AugmentCode 非常昂贵的新定价
AugmentCode 现在的价格比 Cursor 和 Windsurf 的总和还要贵。 AugmentCode 曾是我开发工作流程的常用工具。出乎意料的是,他们改变了定价结构,让开发者们震惊不已。 原来的30 美元月费已经增长为50 美元月费,这是一个67%的增长。 改变我看法的不仅仅是价格上涨,还有他…...
Unity 红点系统
首先明确一个,即红点系统的数据结构是一颗树,并且红点的数据结构的初始化需要放在游戏的初始化中,之后再是对应的红点UI侧的注册,对应的红点UI在销毁时需要注销对红点UI的显示回调注册,但是不销毁数据侧的红点注册 - …...
Python-UV多环境管理
Python-UV多环境管理 Python使用UV进行环境管理,系统了解UV的使用 文章目录 Python-UV多环境管理 [toc]1-学习要点2-核心知识点3-UV多环境管理4-venv和uv脚本对比1-venv环境管理2-uv环境管理3-venv对比uv 1-学习要点 1-熟悉【UV环境管理】2-熟悉【UV和Venv脚本区别…...
多空短线决策+飞云分仓操盘,两个副图指标组合操盘技术,短线更精准有效
如上图,两个副图指标,第一个【短线多空决策】,第二个副图指标【飞云分仓操盘】,指标组合使用,精准性和有效性更加有效。 如上图,两个指标组合使用,我们选择第二个副图指标出现红色和紫色区域的标…...
istio in action之应用弹性与容错机制
在分布式系统中,服务间的依赖关系就像一张错综复杂的网络,任何一个节点的抖动都可能引发连锁反应。这也是为什么我们需要强调弹性,因为在分布式系统中,服务之间通过网络进行通信,这本身就引入了无数个潜在的失败点。我…...
将PyQt5设计的程序打包成.exe文件
打包教程 因为打包的机制是会把当前的解释器的包也打包上,而我的环境经常会有一些较大的包,比如torch之类的。所以这里会创建一个单独的环境。 conda create -n image_process python3.8 激活环境 conda activate image_process 现在先安装我需要安装…...
Java原生结合MQTTX---完成心跳对话(附带源码)
简言:✨当Java遇上MQTT:打造会"隔空传话"的魔法程序✨ 导语:想不想让两个Java程序像哈利波特里的双面镜一样实时对话?今天我们将用MQTT协议EMQX,在Ubuntu上搭建一个魔法邮局,再亲手编写会传信的…...
redis数据结构-06(LRANGE、LINDEX、LSET、LREM)
列表操作:LRANGE、LINDEX、LSET、LREM Redis 列表不仅仅是简单的数组;它们是一种强大的数据结构,可以高效地操作有序数据。本课将深入探讨使用 Redis 列表的四个基本命令: LRANGE 、 LINDEX 、 LSET 和 LREM 。掌握这些命令将使您…...
4.4 os模块
os模块: chdir:修改工作路径 --- 文件所在位置的标识 getcwd():返回当前路径,如果修改了则显示修改后的路径 curdir:获取当前目录的表示形式 cpu_count():返回当前cpu的线程数 getppid(): 获取当前进程编号 getppid():获取当前进程的父进…...
在 Windows 系统上选择与部署 DICOM 医学影像开发工具与库
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…...
MYSQL数据库集群高可用和数据监控平台(详细版)
项目说明 概述 该项目共分为2个子项目,由MYSQL集群高可用和数据监控平台两部分组成 MYSQL集群高可用属于云原生高级课数据库运维部分的知识 数据监控平台属于云原生拔高项目,旨在让学生增加知识面,提高项目实习经历,充实简历 …...
学习通刷课稳定版(美化面板+完全免费)
学习通刷 (美化面板完全免费) 安装教程方法一源码文件 方法二 提示结尾 安装教程 方法一 我们首先在浏览器打开脚本猫网站并获取该插件(浏览器以Edge为例) 脚本猫首页:https://scriptcat.org/zh-CN/ 第一步ÿ…...
python 实现sha加密
在Python中,SHA(Secure Hash Algorithm)是一种加密哈希函数,通常用于生成数据的哈希值。SHA算法是单向的,这意味着它只能用于加密(生成哈希值),而不能用于解密。因此,SHA…...
Linux epoll 详解:概念、使用、数据结构、流程及应用
epoll是什么? epoll 是从 Linux 2.6 起,Linux内核提供的一种高性能I/O事件通知机制,用于解决传统 select 和 poll 在处理大量并发连接时遍历、最大数量限制、频繁拷贝数据等问题。epoll 可以用来监听多个文件描述符(socket、管道…...
Kubernetes排错(十一):lsof命令实战场景
在Kubernetes生产环境中,lsof作为Linux系统的"透视眼",是排查容器级疑难杂症的必备工具。本文将深入解析其在容器化场景下的高阶用法,助你快速定位隐藏问题。 一、基础环境准备 1. 容器内安装lsof # 临时进入容器安装࿰…...
Java基础语法之循环结构
循环结构 1.定义 控制一段代码重复执行多次 2.分类 2.1 for循环 2.1.1 定义 控制一段代码反复执行很多次。 2.1.2 for循环格式 for (初始化语句; 循环条件; 迭代语句) { 循环体语句(重复执行的代码); }示例 // 输出3次HelloWorld for (int i 0; i < 3; i) { System…...
冒泡排序的原理
冒泡排序是一种简单的排序算法,它通过重复地遍历待排序的列表,比较相邻的元素并交换它们的位置来实现排序。具体原理如下: 冒泡排序的基本思想 冒泡排序的核心思想是通过相邻元素的比较和交换,将较大的元素逐步“冒泡”到列表的…...
AUTOSAR图解==>AUTOSAR_TR_InteractionWithBehavioralModels
AUTOSAR与行为模型交互详解 深入解析AUTOSAR软件组件与行为模型的交互关系与转换机制 目录 引言 1.1 AUTOSAR编辑工具概述 1.2 源起与目标 1.3 术语定义需求追溯AUTOSAR中行为建模的用例 3.1 软件组件的行为建模 3.2 软件组件描述到行为模型 3.3 行为模型到软件组件描述 3.4 组…...
GO语言内存管理结构
文章目录 1、内存分区1.1、栈(Stack)1.2、堆(Heap) 2、堆内存管理结构2.1、内存分配器(MCache → MArena → MSpan → MHeap)2.2、大小分类(Size Class)2.3、分配流程 3、垃圾回收&a…...
分享一些资料供大家学习
群里收集来的,自己感觉还是比较经典的,希望大家喜欢!!! 20250428 夸克网盘分享一大波经典IT架构好货20250429夸克网盘分享精品文档-管理咨询师必备的思维模型20250430夸克网盘分享清华大学DeepSeek教程又来了《文科生A…...
RAGMCP基本原理说明和相关问题解惑
一、RAG架构原理和局限性 1.1 概念解释 RAG(Retrieval-Augmented Generation):检索增强生成,让大模型接受外部输入后,总结输出 向量数据库:向量数据通常是高维空间中的点,代表复杂的数据结构…...
PyGame游戏开发(含源码+演示视频+开结题报告+设计文档)
前言: 大二小学期python课上基于pygame做的一个游戏小demo,当时老师花了一天讲解了下python基础语法后(也是整个大学四年唯一学习python的时间),便让我们自学网课一周然后交项目,所以做的非常仓促ÿ…...
Git标签
Git标签 1. 添加标签 使用 tag 命令可以给某次 commit 提交的版本打上标签,相当于这个 commit id 的别名,在实践中,会使用 v1.0 之类的标签提示这是正式版的第一个版本。 git tag v1.0 [commit id]缺省输入 commit id会给最新的一次提交打…...
USB学习【6】USB传输错误的处理
1.前言 我们从物理层到信号层,到协议层,他们分别在不同的层面完成不同的功能。 总结一下: 物理层实现了高低电平的检测。 信号层更进一步,通过一些方法,实现了二进制的传输。 协议层,因为可以二进制传输了…...
深入解析 Vision Transformer (ViT) 与其在计算机视觉中的应用
在近年来,深度学习尤其在计算机视觉领域取得了巨大的进展,而 Vision Transformer(ViT)作为一种新的视觉模型,它的表现甚至在许多任务中超过了传统的卷积神经网络(CNN),如 ResNet。在…...
《Go小技巧易错点100例》第三十一篇
本期分享: 1.Go struct内存对齐 2.使用空结构体(struct{})节省内存 Go struct内存对齐 在计算机系统中,CPU 访问内存时并不是逐字节读取的,而是以特定大小的块(通常为 4/8 字节)为单位进行读取。当数据的内存地址正…...
全栈项目实战:Vue3+Node.js开发博客系统
全栈项目实战:Vue3Node.js开发博客系统 一、项目架构设计 1. 技术栈选型 前端技术栈: Vue 3 Composition APITypeScriptPinia状态管理Vue Router 4Element Plus UI组件库Vite构建工具 后端技术栈: Node.js (Express/Koa)MongoDB (Mong…...
查看YOLO版本的三种方法
查看YOLO版本的三种方法: 一、通过命令行直接查询 使用Python交互式查询: from ultralytics import __version__ print(__version__) # 示例输出: 11.0.5二、检查PyTorch环境兼容性 import torch, ultralytics print(f"PyTorch: {torch.__versi…...
基于Docker的Bitwarden的私有本地部署
基于Docker的Bitwarden的私有本地部署 文章目录 基于Docker的Bitwarden的私有本地部署 本文首发地址 https://h89.cn/archives/355.html bitwarden 默认连接的是国外服务器 https://bitwarden.com/ ,连接不是很稳定,也没有安全感,所以我选择了…...
点和体素哪个好
3D 深度学习中基于体素和基于点云的方法哪种更优?-腾讯云开发者社区-腾讯云 https://zhuanlan.zhihu.com/p/372497398 GitHub - open-mmlab/OpenPCDet: OpenPCDet Toolbox for LiDAR-based 3D Object Detection....
C++ STL编程 vector空间预留、vector高效删除、vector数据排序、vector代码练习
vector空间预留,作用是避免申请每次申请内存,提高运行效率。 对应的接口是 vector.reverse() vector的高效删除,对应的代码见下,一个时间复杂度是n,一个时间复杂度是1 #include<iostream> #include<vector…...
Android架构模式推荐及分析和MVC架构模式制作一个简单的底部tab切换
目录 主流架构模式对比 适用场景 MVP:团队协作开发,需要高可测试性的项目 MVC架构模式制作一个简单的底部tab切换 (Model-View-Controller)结构 代码 效果 主流架构模式对比 对比维度MVC MVP MVVM MVI 学习…...
【PVE】ProxmoxVE8虚拟机,存储管理(host磁盘扩容,qcow2/vmdk导入vm,vm磁盘导出与迁移等)
【PVE】ProxmoxVE8虚拟机,存储管理(host磁盘扩容,qcow2/vmdk导入vm,vm磁盘导出与迁移等) 文章目录 1、host 磁盘扩容2、qcow2/vmdk导入vm3、vm 磁盘导出与迁移 1、host 磁盘扩容 如何给host扩容磁盘,如增加…...
【JEECG 组件扩展】JSwitch开关组件扩展单个多选框样式
功能说明: 基于JeecgBoot开源框架,JSwitch开关组件扩展,支持单个多选样式。 效果展示: 使用示例: {field: JSwitch,component: JSwitch,label: JSwitch,},{field: JSwitchCheckBox,component: JSwitch,label: JSwitch…...
卷积神经网络-从零开始构建一个卷积神经网络
目录 一、什么是卷积神经网络CNN 1.1、核心概念 1.2、卷积层 二、什么是卷积计算 2.1、卷积计算的例子: 2.2、点积 2.3、卷积与点积的关系 2.4、Padding(填充) 2.4.1、Padding的主要作用 1、控制输出特征图尺寸 2、保留边缘信息 3. 支持深层网络训练 2.4.2、Str…...
Linux 常用命令集合
以下是一份 Linux 常用命令集合,涵盖文件操作、系统管理、网络管理、权限管理、进程管理等常见任务,并附上代码示例: 1. 文件与目录操作 命令作用示例ls列出目录内容ls -l(详细列表) ls -a(显示隐藏文件&a…...
STM32f103 标准库 零基础学习之按键点灯(不涉及中断)
注意,此次代码不涉及中断,不涉及中断,不涉及中断 目录 1.初始化LED 2.初始化按键 3.粗略的延时函数 4.判断引脚电平 5.通过异或反转电平 开始 │ ├── 初始化LED(GPIOA Pin1 推挽输出) ├── 初始化按键&…...
【c++】【数据结构】二叉搜索树详解
目录 二叉搜索树的定义二叉搜索树的模拟实现查找函数循环版递归版 插入函数循环版递归版 删除函数循环版递归版 二叉搜索树的定义 二叉搜索树是一种特别的二叉树,是二叉树的搜索特化版。学过排序的都知道,在数组有序的情况下二分查找可以以极高的频率找…...
高精地图数据错误的侵权责任认定与应对之道
首席数据官高鹏律师团队 在自动驾驶与智慧交通快速发展的今天,高精地图作为核心基础设施,其数据准确性直接关系到公共安全。然而,技术并非完美,一旦因地图数据错误导致事故或损失,比如当自动驾驶汽车因高精地图数据错…...