- 博客(25)
- 收藏
- 关注
原创 人类从第1次到第20次工业革命猜想
• 17-20次工业革命:智慧体进入终极状态,决定最终命运。• 7-12次工业革命:人类进化为超智慧体,进入星际时代。• 13-16次工业革命:智慧体掌控现实,突破宇宙限制。• 1-6次工业革命:人类技术进步,推动社会发展。4. 创造新的宇宙,开启新的进化周期。那么第21次工业革命或许仍然会发生……超人类文明阶段(7-12次工业革命)星际文明阶段(13-16次工业革命)终极智慧阶段(17-20次工业革命)。1. 成为终极现实本身,超越一切。人类文明阶段(1-6次工业革命)。如果智慧体仍然存在,
2025-02-02 00:58:56
289
原创 【车载测试】WinAMS测试中C0,C1,MC,DC的区别
在 WinAMS 中,C0、C1、MC 和 DC 是代码覆盖率的不同标准,用于衡量测试用例对代码的执行覆盖程度。• 需要测试两种情况:a > 0 和 a 0 的情况,C0 覆盖是达标的,即代码每行都被执行了。• 要求:确保每个分支条件的 true 和 false 情况都至少被验证一次。• 定义:测试用例对代码中的每个分支(if、else 等)的覆盖程度。• C0:适合基础验证,确认代码路径是否被执行。
2024-12-19 23:13:37
2106
原创 【车载测试】在使用 WinAMS 进行单体测试时,如果头文件不在当前工作目录或默认的包含路径中,该如何解决?
如果包含路径不便修改,你可以将头文件复制到 WinAMS 项目的工作目录(或者其默认搜索路径)中。如果 WinAMS 支持编译前的预处理脚本,你可以写一个脚本将相关头文件自动链接或复制到工作目录下,减少手动操作。不同版本的 WinAMS 对配置和路径的处理可能有所不同,查阅官方文档或者联系技术支持可能会有更详细的解决方案。#include "C:/full/path/to/header.h" // 使用绝对路径。• 找到类似于“Include Path”或“头文件路径”的设置选项。
2024-12-19 23:04:59
405
原创 【车载测试】使用 WinAMS 或其他单元测试工具进行测试时,遇到测试函数依赖于不在测试对象文件夹里的代码或模块的情况的解决方法
当测试的函数依赖于外部模块时,推荐使用 Mock 或 Stub 技术来隔离依赖模块,从而专注于测试目标函数的逻辑。通过工具支持(如自动生成 Mock)或代码重构(如依赖注入),可以有效解决模块依赖问题,同时提升测试的可维护性。在某些情况下,可以通过动态加载库的方式,将依赖模块作为动态链接库(DLL 或共享库)进行加载,测试时加载替代实现。定义与依赖项相同名称的函数,并在测试文件中实现。对于不在当前测试范围内的依赖项,可以通过模拟(Mocking)来替代这些依赖,从而隔离测试目标函数。
2024-12-19 18:19:50
746
原创 【AUTOSAR】CAT0,CAT1,CAT2中断理解
但如果有核爆警报(CAT0)或更紧急事件,工作人员会暂停帮助,先处理更重要的任务。为了更直观地理解 AUTOSAR 中 CAT0、CAT1、CAT2 ISR 的区别,我们用机场安检与响应任务的场景来做一个生动的比喻。3. CAT2 中断:乘客要求帮助——机场工作人员响应,但如果更高优先级任务(如紧急救援)出现,可以暂停当前任务。1. CAT0 中断:核爆警报——最紧急的事件,全员必须立即响应,不能被其他任务打断。1. CAT0 ISR = “救命的核爆警报”:不能打断,最紧急,效率最高。
2024-12-17 08:13:25
744
原创 【AUTOSAR】Isr Special Function Name什么意思?
ISR Special Function Name 是中断服务函数的名称,用于在代码中实现具体的中断逻辑。• ISR Special Function Name 是 ISR 的实现函数名,通常在 AUTOSAR 配置工具(如 DaVinci Configurator 或 EB Tresos)中定义。配置工具在生成代码时,会创建一个函数,其函数名为 ISR Special Function Name,并实现具体的中断处理逻辑。工具会根据配置自动生成函数,你可以直接在生成的文件中实现逻辑。
2024-12-13 20:46:26
698
原创 【AUTOSAR】ISR 有没有被绑定,可以在arxml的哪个部分确认?
要确认某个 ISR 是否被绑定到任务、事件或其他操作系统资源,可以在 .arxml 文件 的以下部分进行检查。• 查看 ISR 的属性,特别是 Actions 或 Linked Resources 部分,工具会显示绑定的任务、事件或中断源。在 AUTOSAR 的 .arxml 文件中,ISR 的配置通常存储在与操作系统(OS)相关的配置部分。使用文本编辑器搜索 .arxml 文件中的 ISR 名称 或 任务名称,快速找到与 ISR 相关的配置部分。ISR 的中断源通常也在 .arxml 中定义。
2024-12-13 20:42:45
1024
原创 【AUTOSAR】调用了 OS 服务的 ISR 配置就变成只读了?
• AUTOSAR 项目通常由多个团队协作完成(如 OEM 和 Tier 1),配置工具会将某些参数(如调用 OS 服务的行为)视为固定配置,供其他团队使用或参考。• 例如,如果上游的 OEM 或 Tier 1 已指定某个 ISR 调用 OS 服务,并将其设置为 Category 2,配置工具会将该属性锁定,确保一致性。• 为了确保这些要求被正确遵守,配置工具会锁定某些关键属性(如 IsCategory),避免用户随意更改,导致配置与规范不符。
2024-12-13 20:39:26
727
原创 【AUTOSAR】怎样判断ISR(中断服务)是不是调用了OS服务
• 如果 ISR 是 Category 2,配置界面通常会显示与 OS 服务相关的依赖项(如关联的任务或事件)。否则是 Category 1。如果调用了上述 API,则该 ISR 必须属于 Category 2,因为这些服务需要操作系统的上下文切换支持。• 检查 ISR 的 Actions 或 Attributes,看是否有任务激活或事件触发的操作。• Category 2:调用 OS 服务,需要 OS 的支持。如果 ISR 会触发事件(如设置事件信号),也会调用 OS 服务。
2024-12-13 20:36:29
1591
原创 【AUTOSAR】DaVinci Configurator PB Classic中的Basic Editor→Os→OsIsrs→IsCategory为什么会变成灰色?
在 DaVinci Configurator 或 DaVinci Configurator Pro Basic (PB) Classic 的 Basic Editor 中,如果 Os > OsIsrs > IsCategory 显示为灰色,通常意味着该字段是 只读的(Read-Only) 或 值被固定了,不能直接修改。• 某些情况下,当前 ISR 的配置不涉及分类(例如没有实际使用的中断源),因此 IsCategory 显示灰色,表示该配置暂不可用或无意义。1. 查看源文件(.arxml)
2024-12-13 20:31:53
627
原创 【AUTOSAR】DaVinci Configurator PB Classic简介
DaVinci Configurator Pro Basic (PB) Classic 是 Vector 提供的一款专用工具,用于配置和生成 AUTOSAR Classic 平台中**基础软件(Basic Software) 模块的 ECU 配置文件。DaVinci Configurator PB Classic 是专为 AUTOSAR Classic 平台设计的基础软件配置工具,提供强大的功能以支持 ECU 的配置和代码生成。3. .c 和 .h:生成的 C 配置代码文件,用于编译到目标 ECU。
2024-12-13 20:23:35
821
原创 【AUTOSAR】Os_Interrupt 和 Os_Isr有什么区别?
Os_Isr 是 AUTOSAR OS 中用于描述 中断服务例程(ISR, Interrupt Service Routine) 的抽象,主要用于软件层面的处理。在 AUTOSAR OS(操作系统) 中,Os_Interrupt 和 Os_Isr 都是与中断处理相关的概念,但它们的使用场景和具体功能有所不同。每个 Os_Isr 都必须关联一个 Os_Interrupt,而一个 Os_Interrupt 可能映射到多个 Os_Isr(例如中断共享)。• ISR 的优先级(软件层面的中断处理顺序)。
2024-12-13 09:10:49
1038
原创 【AUTOSAR】ECU配置提取文件一般是谁提供的?
ECU配置提取文件(ECU Extract,简称 E/E 文件) 是 AUTOSAR 开发流程中的一个关键环节,它是从整车的系统描述文件(System Description,简称 SysDesc)中提取与特定 ECU 相关的信息生成的。• 有时由 Tier 1 制作或补充:在 OEM 提供的系统描述不详细或 Tier 1 主导开发的情况下,由 Tier 1 负责生成。• 优先由 OEM 制作:在标准的开发流程中,由 OEM 主导 ECU Extract 的生成,因为它们掌握系统的全局视图。
2024-12-12 22:54:32
899
原创 【AUTOSAR】ECUC文件是什么?
它是 AUTOSAR 架构开发中不可或缺的一部分,主要用于描述和配置与特定 ECU 相关的 基础软件模块(BSW) 和 MCAL 驱动 的信息。ECUC 文件是 AUTOSAR 架构中用于配置 ECU 的关键文件,负责描述基础软件(BSW)和硬件抽象层(MCAL)的配置,是实现 AUTOSAR 软件堆栈的核心。它通过工具生成,与其他配置文件一起完成 ECU 的系统集成与实现。在系统开发中,ECUC 文件会被集成到整车软件架构中,与应用软件(SWC)、通信配置、硬件驱动一起构建完整的 ECU 软件。
2024-12-12 22:50:16
808
原创 【AUTOSAR】Vector给Tier1提供的Microtosar模型是根据什么文件做的?
• 如果系统需要支持 ASIL(功能安全等级),MICROSAR 的 SafeTI 模块或其他安全相关功能会根据 OEM 或 Tier 1 提供的需求进行配置。• 包括处理器架构(如 ARM Cortex-M、RH850)、内存容量、外设(如 CAN 控制器、Flash 存储)等信息。• 包括 DTC(诊断故障代码)、通信错误处理等信息,这些会影响 DEM 和 DCM 模块的实现。• MICROSAR 的基础软件模块(如 OS、COM、DEM 等)会依据这些配置生成。
2024-12-12 22:37:48
892
原创 汽车行业的ISO 26262标准是什么?
• ISO 26262 适用于装有电气和/或电子 (E/E) 系统的道路车辆,特别是重量低于 3500 公斤的乘用车(如轿车、SUV)。ISO 26262 是现代汽车产业保障功能安全的基石,推动了电气化、智能化发展的同时,也提出了更高的开发要求。• 智能座舱系统:ISO 26262 指导显示屏、语音助手等对驾驶安全有影响的功能。ASIL 是功能安全的重要指标,用于量化系统的风险程度。功能安全指通过系统或设备的正确功能来确保避免因故障导致的不可接受风险。
2024-12-06 16:57:31
4076
原创 STM32开发与AUTOSAR开发区别
STM32 是一种常用的微控制器(MCU),开发通常围绕特定硬件功能展开,比如传感器控制、通信接口(SPI、UART、CAN)、信号处理等。STM32开发和AUTOSAR开发是两种不同的嵌入式开发方式,尽管两者常在汽车电子等领域相遇,但它们的目标、工具链和开发方法存在显著差异。软件被分成多个独立层和模块,如基础软件(BSW)、运行时环境(RTE)、应用层等,每一层都有明确的功能划分。• 物联网和工业领域: STM32 和类似的微控制器仍将是主流,因为它们的灵活性和高性价比。
2024-12-06 14:44:51
2431
原创 车载软件开发QM和ASIL啥意思
• ISO 26262 中定义了 4 个 ASIL 等级:A、B、C、D,从低到高分别代表风险的严重性和安全要求的严格程度。在车载软件开发中,明确每个功能是 QM 还是 ASIL,以及所需的 ASIL 等级,是确保功能安全性和质量的关键步骤。• ASIL:安全完整性等级,衡量功能的安全风险和对应的开发要求,等级从 A(低)到 D(高)。• 在风险评估中,风险被认为是可接受的,无需专门的功能安全设计或验证措施。• QM:质量管理级别,适用于风险较低的功能,无需专门的功能安全措施。
2024-12-06 13:43:58
3102
原创 【AUTOSAR】MICROSAR OS的所有中断可以在哪里找到?
• 在工具中,中断通常与特定硬件模块(如定时器、CAN、ADC等)相关联,并通过ISR(Interrupt Service Routine)映射。当完成OS和中断的配置后,MICROSAR会生成相应的代码文件。MICROSAR OS的中断配置需要与硬件手册中的向量号或触发条件对应,因此参考手册是不可或缺的资料。通常,开发人员通过配置工具和代码生成的方式直接管理和使用中断,而硬件手册是中断配置的基础参考资料。3. 查看配置中指定的中断信息,如中断优先级、中断源等。
2024-12-06 12:05:02
1372
原创 【AUTOSAR】ISR()函数作用
它的主要作用是处理来自硬件的中断信号,并完成相应的任务。AUTOSAR OS中的ISR主要用于响应硬件中断,完成时间敏感的操作,或通知任务进行进一步处理。不能调用操作系统服务(如ActivateTask、SetEvent),只能执行简单的中断处理,如清除中断标志或读写硬件寄存器。在这个例子中,ISR处理定时器事件,清除中断标志后激活一个任务TaskA,完成进一步的处理。ISR的执行时间直接影响系统的实时性,建议在ISR中只做必要的工作,复杂逻辑交给任务完成。例如,每1ms触发一次调度任务。
2024-12-06 12:01:47
662
原创 【AUTOSAR】 任务为什么要按时间周期划分?
在AUTOSAR(Automotive Open System Architecture)中,将任务分为1ms、2ms、5ms、10ms、20ms、100ms等不同的时间粒度(周期性任务)是基于实时系统的设计需求。AUTOSAR中的任务时间划分,是为了平衡实时性、资源效率、任务优先级和系统复杂性,从而满足汽车电子控制系统对实时响应和可靠性的高要求。• 将任务周期精确地分成1ms、2ms、5ms等整数倍,可以方便地用定时器驱动任务的执行。• 高优先级任务(短周期)频繁执行,保证关键功能的实时性。
2024-12-06 11:49:57
696
原创 【AUTOSAR】ISR()函数调用机制
当外设(如定时器、ADC、CAN、I/O 引脚等)发生中断时,硬件会生成一个中断信号,并根据中断向量号跳转到中断向量表中对应的入口地址。这里的 ISRVectorTable 是中断向量表,硬件根据中断号直接调用对应的函数,例如 TimerInterrupt。• 当中断发生时,硬件会自动跳转到中断向量表中对应的位置并调用相应的 ISR 函数。• 硬件触发: 中断信号触发,硬件根据中断向量表跳转到 ISR 函数。当中断发生时,硬件通过中断向量表找到相应的 ISR 函数入口,并调用该函数。
2024-12-06 11:39:25
621
原创 【AUTOSAR】Category 2 ISR标识符详解
在 AUTOSAR(包括 MICROSAR OS)中,Category 2 ISR 标识符 是分配给 Category 2 中断服务例程(ISR) 的名称,用于在操作系统配置和代码中定义和管理 Category 2 ISR 的行为。Category 2 ISR 标识符是分配给 Category 2 ISR 的符号名称(或标签),用于标识该 ISR 并将其与特定硬件中断源关联。这些标识符在操作系统的配置文件(例如 Os_Cfg.c 和 Os_Cfg.h)中定义,并与硬件中断向量关联。
2024-12-06 11:27:52
533
原创 【AUTOSAR】CAT0中断,CAT1中断,CAT2中断分别代表什么?
在 MICROSAR(基于 AUTOSAR 标准的嵌入式软件平台)中,CAT0、CAT1 和 CAT2 中断是根据 AUTOSAR OS(操作系统) 的规范对中断类型进行分类的,分别代表不同的优先级和处理机制。CAT1 中断(Category 1 Interrupt)是由硬件触发的中断,由 AUTOSAR OS 负责响应和管理,但不支持任务切换。• 有限的 OS 支持:OS 允许中断服务例程(ISR),但不能访问所有 OS 功能(如任务切换、资源同步等)。
2024-12-06 11:09:21
1091
原创 特斯拉的车载软件开发技术和Autosar,哪个才是未来?
传统车企可能借鉴特斯拉的集中式架构,同时基于 AUTOSAR 提供的标准进行模块化开发,既保持创新,又确保产业协作。• 如果你是传统车企或供应链巨头:AUTOSAR 提供了一个成熟、稳定且可扩展的基础,是当前的理想选择。AUTOSAR 是汽车行业的一个开放性标准,目标是为不同的汽车制造商和供应商提供一个可互操作的软件平台。特斯拉的软件架构是垂直整合的,从硬件到软件由特斯拉独立开发,拥有极高的硬件-软件协同优化能力。• 如果你是像特斯拉这样的技术先驱:走闭环、自主开发的道路可能是最优解。
2024-12-06 10:59:52
1253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅