- 博客(131)
- 资源 (3)
- 收藏
- 关注
原创 MPU-09 寄存器附录
TC3xx 寄存器按访问条件限制写入,例如:仅在 Supervisor 模式、仅在 ENDINIT 或 Safety ENDINIT 为 0 时、仅特定总线主设备。具体寄存器的访问条件见 TC38x 用户手册的寄存器描述。对本核 PSPR、DSPR、DLMU 以及 LMU 的写访问,可按总线主设备 ID 与地址做监控。核内私有视图:通过 0xC0000000 访问本核的 PSPR,通过 0xD0000000 访问本核的 DSPR。以上为 TC38x 的器件地址,其他型号的容量与地址不同。
2026-11-03 14:58:00
12
原创 MPU-08 故障处理与问题排查
调试器可以查看当时的 MPU 相关寄存器与 Trap 状态寄存器(如 DSTR),具体见 MPU-09。运行在 OS 层级,不会被 Task 或 Category 2 ISR 抢占。获取该核最近一次未处理 Trap 的类、TIN 与返回地址。如果被终止的是 Category 2 ISR,OS 会调用。→ 记录故障信息 → 进入安全状态 → 复位或降级。代码 1-1 ProtectionHook 示例。时才应调用,且只能获得该核最近一次的信息。检测 → Trap →。
2026-11-03 14:56:35
9
原创 MPU-07 测试与验证
测试库在各分区的 Task、ISR 中调用,让指定的分区去写指定的区域,并记录该写访问被放行还是触发了 Trap,从而检验权限矩阵(见 MPU-02 第 5 章)。用例需要覆盖 Core0 与 Core1 的每个 ASIL 分区(A ~ D),以及 CoreX 的 QM 分区。任何分区都不使用 Set0。Set0 只在 Trap、中断入口与 OS 中使用,不作为被测对象的执行环境。需求见 MPU-02 第 2 章。
2026-11-03 14:54:49
9
原创 MPU-06 MPU 驱动详细设计
单个核 MPU 的初始化、使能与配置校验分区权限的切换:动态 Set 与静态 Set 两种方式,由同一个接口完成栈保护 Range 的设置违规信息的获取功能测试库(仅测试阶段使用)
2026-11-03 14:53:15
9
原创 MPU-05 应用集成指南
进入中断或 Trap 时,硬件自动把 PSW.PRS 切到 0,ISR 一开始按 Set0 的权限运行。一个 OsApp 需要调用另一个 OsApp 的函数时,使用 CallTrustedFunction。RTA-OS 为每个函数生成一条记录,把函数名对应到所属的 OsApp。把 SW-C 中的 Runnable,映射到所属分区的 OsApp 中、对应周期的 Task。把 SW-C 使用的全局变量,映射到该分区可写的 RAM 区域。完成第 1、2 步,就实现了对应 SW-C 的内存保护功能。
2026-11-03 14:49:39
7
原创 MPU-04 RTA-OS 配置指南
Counter 与调度表属于不同的 OsApp 时,RTA-OS 要求被驱动的对象(调度表)把 Counter 所属的 OsApp 设为 Accessing Application,否则配置检查会报错。Trusted with Protection 只有一个 PRS 可配,所以同一个核上的多个 Trusted with Protection 的 OsApp 共用这个 PRS,切换 OsApp 时需要在。,每个 Task 的 Owning Application 为对应分区的 OsApp。
2026-11-03 14:47:23
8
原创 MPU-03 内存分配与 MemMap
MemMap 是 AUTOSAR 标准的内存映射机制,用来把代码、变量放进指定的链接段,再由链接脚本把这些段放到指定的内存区域。内存保护使用的也是这个机制:MPU 保护的每个区域,对应链接脚本里的一个或几个段。每个核的数据 RAM,按区域连续放置,每个区域的起止地址满足 Range 的对齐要求。Flash 区域一般划分为:向量表区、代码区、常量区、校验与标定区。按 MPU-02 的权限模型,内存分为下表的区域。的映射必须与默认段的处理保持一致,否则 ASIL 变量可能落在 QM 区。为 OS 区的大小。
2026-11-03 14:03:42
10
原创 MPU-02 MPU 方案设计
RTA-OS 在 TriCore 上,Trusted 代码使用 PRS0,Untrusted 使用 PRS1,Trusted with Protection 默认使用 PRS2,并且 Trusted with Protection 只有一个 PRS 可配。OS、Trap 与中断入口、Category 1 ISR 以及作为 Trusted 运行的 BSW,不属于任何分区,使用 Set0。"当前任务的栈"只有一组边界,QM 与 ASIL 分区共用:每次切换到受限代码时,由回调按即将运行的任务重新设置。
2026-11-03 13:59:16
16
原创 MPU-01 MPU 基础与原理
它允许把系统划分为多个 OsApplication,每个 OsApplication 可配置为 Trusted(运行在特权模式)或 Untrusted(运行在用户模式),并由 OS 在运行时管理 MCU 的内存保护硬件。MPU(Memory Protection Unit,内存保护单元)负责第二个维度:限制某个软件组件能访问哪些内存,使其无法读写、执行未授权的区域,例如其他组件的全局变量。注意:外设的"读"也有副作用,本项目目前读权限对全部地址开放,是否需要排除外设区域,见 MPU-02 的待确认问题。
2026-11-03 12:51:52
143
原创 MPU-00 内存保护系列
系列简介本系列文档介绍基于 Infineon AURIX TC3xx 的 Core MPU 内存保护方案,覆盖从原理、方案设计、RTA-OS 配置、应用集成,到驱动详细设计和测试验证的完整过程,用于满足功能安全中不同 ASIL 等级软件之间的 FFI(Free From Interference)要求。
2026-11-03 11:40:29
16
原创 HSM-18 密码算法与算子参考
哈希把任意长度的数据变成固定长度的摘要,同样的输入一定得到同样的摘要,反向很难还原。算法摘要长度说明SHA-120 字节已不安全,只用于兼容旧协议(例如 TLS 旧版本)SHA-25632 字节最常用,安全启动、固件更新、证书都用它SHA-38448 字节配合 P-384 使用SHA-51264 字节Ed25519 内部也用它SHA3-25632 字节新一代哈希,少数场合使用16、20 字节仅为兼容,不建议新设计使用。
2026-11-02 22:53:29
456
原创 HSM-17 量产化检查单
本篇把前面各篇中标注“量产注意”的内容,加上 Infineon 的调试保护资料,整理成一份检查单:量产前要替换什么、收紧什么、确认什么。的:确认 UCB、设置 OTP 保护。所以量产配置要分阶段:先把所有可逆的保护全部设好并完整测试,最后才做不可逆的确认。开发阶段的原则是“尽量可恢复”:UCB 保持可改,调试接口敞开,安全功能可以关。检查单分五组:芯片保护(UCB)、密钥与证书、固件配置、Host 集成、验证与流程。前置阅读:HSM-01、HSM-09、HSM-12、HSM-13、HSM-15。
2026-11-02 22:51:34
7
原创 HSM-16 测试与上板验收
Host 侧的用例(TC-17 到 TC-19、TC-20 中 Host 的部分)使用 Host 侧的示例演示 Demo 完成,不需要完整的 Host 工程。演示命令在后台任务里运行,Host 的作业在更高优先级的任务里,所以会抢占演示,演示的结果不受 Host 作业影响。本篇把前面各篇的功能整理成一套可执行的测试用例和验收清单:用什么办法触发、看什么结果、什么算通过,以及怎么记录。操作不当容易锁死芯片,请勿随意尝试。验收通过的标准:必做的用例全部通过,没有未解释的异常现象,记录完整并经过评审。
2026-11-02 22:49:38
13
原创 HSM-15 调试与故障排查项
HSM 的 Cortex-M3 带 MPU,可以限制只允许从指定的 PFlash 区域(以及需要时的 RAM)执行代码。注意:用这种方式启动后,软件下载时 HSM 仍在运行,调试器复位后也不会再停住 HSM,下载 Flash 时可能出问题。本篇给出调试 HSM 的方法和一套逐级排查的流程,并汇总典型故障的现象、原因和处理,以及几类会让芯片无法恢复的操作。先说最重要的:有几类操作做错之后,芯片不会启动或无法再连接调试器,软件上没有办法恢复。前置阅读:HSM-01、HSM-06、HSM-14。
2026-11-02 22:47:49
10
原创 HSM-14 日志与诊断
HSM 是一个封闭的子系统:Host 看不到它的内部,调试器在量产时又会被锁定(HSM-17)。本篇说明 HSM 里错误和事件的去向:vHsm 的事件日志、开发错误(Det)和诊断事件(Dem)的处理方式、致命错误怎么停机,以及开发调试时可以直接看的变量。演示命令在 HSM 内部直接读取日志密钥(密钥号 30002)和安全启动组信息密钥(密钥号 30001),这两把是。固件就绪前(初始化早期)的错误只记录变量,不写事件日志,因为日志此时还不可用;日志还可以扩展,记录项目自己的事件。
2026-11-02 22:45:41
11
原创 HSM-13 固件更新与更新器
更新器提供“用户比较”选项:打开后要提供一个回调,由项目决定一个更新是否可以安装。本篇说明怎么更新 HSM 里的 vHsm 固件:参与的各方、更新包的流向、签名和 MAC 的分工、更新器的配置,以及恢复模式。更新包有自己的加密和签名,所以 Host 上的引导程序只处理加密且已签名的数据,恶意软件无法在不被发现的情况下改它。,是 HSM 上电后第一个运行的实体,只有它能写 HSM 的代码 Flash。这里只讲固件代码的更新,不包含 Host 软件和安全启动标签的更新。删除 vHsm 里的固件更新容器即可。
2026-11-02 22:43:30
10
原创 HSM-12 安全启动
外部段列表方法可以额外保存段列表的哈希,用它代替每次启动时的签名验证,加快启动。固件收到“启动更新器”请求并准备跳转时,要先清掉循环校验标志,因为 vHsm 只在没有安全启动段正在处理时才跳转。被配置为“安全启动保护”的密钥在安全启动期间被锁定,成功结束后才可用(HSM-09)。要重新学习标签,需要执行 Vector 手册里的安全启动更新流程,或使用带恢复的验证方法。本篇说明 vHsm 的安全启动功能:它要解决的问题、验证方式、组和段的模型、惩罚措施,以及本工程的配置和怎么改成真实项目的配置。
2026-11-02 22:39:59
17
原创 HSM-11 vHsm_Custom 扩展
自定义代码是 HSM 的信任边界上最容易出安全问题的地方。检查驱动对象 ID 是否是自己支持的检查作业类型(哈希、MAC、加密等)和操作模式是否是自己支持的检查输入长度不超过自己能处理的上限检查输出缓冲区足够容纳结果检查所有指针不为空失败时不泄露内部状态,返回统一的错误项值驱动,1 个驱动对象CryIf 通道,属于高优先级调度实体(HSM-07)Csm 队列Csm 作业(ID 14)Csm 原语标准 SHA-256 哈希原语。
2026-11-02 22:36:00
6
原创 HSM-10 证书管理(KeyM)
证书链的校验是自下而上的:校验 ECU 证书要先确认 Intermediate 证书有效,而 Intermediate 证书要先确认 Root 证书有效。本篇说明 HSM 怎么保存和校验 X.509 证书:KeyM 的结构、证书链的配置、时间源、Host 怎么使用,以及本工程里三级证书链和演示的做法。证书的存储位置有两种常见选择:存在 Csm 的密钥里,或者存在 KeyM 自己管理的存储里。校验的最终依赖是根证书:所有证书的有效性都建立在“根证书可信”上。证书的有效期校验需要可信的当前时间。
2026-11-02 22:33:14
13
原创 HSM-08 密码服务开发
HSM 的 AES、CMAC、GCM 硬件有若干组上下文,使多个驱动对象可以在“开始、更新、结束”的各步之间交替处理。CryIf 密钥比 Csm 密钥多 4 把:这些是不经过 Csm 作业、直接暴露给 Host 的密钥,例如 HSM 的信息密钥和日志密钥。本篇说明怎么在 HSM 里提供一项新的密码服务:选哪个驱动实现,作业、原语、密钥、队列、通道各是什么关系,以及怎么一步步新增一个作业。密钥的持久化见 HSM-09,证书见 HSM-10,自定义驱动见 HSM-11。不同队列的作业可以在各自任务里并行。
2026-11-02 22:28:31
9
原创 HSM-07 IPC 与 Host 集成
Host 侧的功能验证使用 Host 侧的示例演示 Demo 完成,不要求本工程提供完整的 Host 工程。本篇说明 Host 和 HSM 之间的软件通信接口:IPC 的结构、中断通知、内存区域白名单、HSM 内部的作业调度,以及 Host 一侧的。HSM 读 Host 内存走 Cache 更快,写 Host 内存走窗口更快且不用清 Cache,所以读和写分在两个区域,见 HSM-01。两个方向的标志位地址和掩码在 HSM 配置的“发布信息”里,随预配置文件导出给 Host,不需要在 Host 里手工填。
2026-11-02 22:25:52
7
原创 HSM-06 启动流程与内存布局
镜像之间跳转时,目标镜像的向量表第 0 项是初始栈指针(必须在 HSM RAM 内),第 1 项是复位向量(最低位必须是 1,表示 Thumb 指令集)。本篇说明两个 HSM 镜像(更新器和 vHsm 固件)在 Flash 中怎么摆放,HSM 复位后控制权怎么在它们之间移动,以及固件区头、向量表对齐、RAM 初始化这些容易出问题的细节。实际发布时版本号随固件版本递增,并与更新包头的版本号一致。调用者的栈和中断状态全部丢弃,所以目标镜像必须自己初始化一切,不能依赖对方留下的 RAM 内容。
2026-11-02 22:22:02
6
原创 HSM-05 配置工作流
本篇说明修改 HSM 配置的标准流程:怎么改、改完怎么求解和校验、遇到校验错误怎么办,以及哪些警告是可以接受的。NvM 块增减之后,必须重新运行 tresos 的生成(它会先同步),否则编译会被拒绝(见 HSM-04)。:本文档内容大部分自动生成,请根据实际情况验证。操作不当容易锁死芯片,请勿随意尝试。警告数明显多于这个基线时,说明新引入了问题,要逐条看。详细见 HSM-08 和 HSM-09。前置阅读:HSM-02、HSM-04。
2026-11-02 22:18:41
6
原创 HSM-04 工程结构与构建链
HSM 侧有两个独立镜像(见 HSM-02),各有各的 DaVinci 工程和链接脚本。vHsm 固件的 Fee、Fls 又不由 DaVinci 生成,而是由 EB tresos 生成。只改了集成代码(没有改配置)时,只需要重新编译,不需要重新生成。改了配置,必须从生成开始。的目录结构、从配置到烧写镜像的完整构建链、每一步的产物,以及构建系统做了哪些防呆检查。一键构建带一个跳过生成的开关,用于只改了集成代码的情况。时,更新器会判定固件无效,见 HSM-06。前置阅读:HSM-00、HSM-03。
2026-11-02 19:04:11
3
原创 HSM-03 开发环境搭建
Infineon 的 HSM 示例使用 TASKING 的 ARM 编译器 6.3r1 或更新版本;使用不同版本的编译器可能需要修改部分代码。本篇说明在 Windows 上开发 HSM 固件需要哪些工具、各自的版本和许可、怎么安装,以及怎么确认环境可用。:本文档内容大部分自动生成,请根据实际情况验证。操作不当容易锁死芯片,请勿随意尝试。不覆盖 Host 侧(TriCore)的编译环境,以及 Host 应用的调试细节。前置阅读:HSM-00、HSM-02。
2026-11-02 17:36:40
13
原创 HSM-02 MICROSAR HSM 软件栈
Vector 随 SIP 提供一套 HSM 示例配置,只有 HSM 工程,没有 Host 工程,也没有通过质量认证,不能用于量产。本工程在此基础上做了精简和补充:去掉了与具体客户相关的密钥和证书,补上了安全启动、固件更新和事件日志的配置,更新器也改为可以链接成完整镜像。作为连接 HSM 的接口,Vector 建议同时使用 Vector 的 Csm 和 CryIf,以减少集成工作。的作业只用于固件内部功能:安全启动的两个哈希作业、固件更新的验签和 MAC 作业、证书验签作业,以及演示命令使用的作业。
2026-11-02 17:16:00
117
原创 HSM-01 TC3xx HSM 硬件概览
HSM 是 TC3xx 里的一个独立子系统,有自己的 ARM Cortex-M3 内核,通过 HSM Bridge 接入芯片的系统总线。上电或复位后,HSM 的启动由 Host 侧的 SSW 和 HSM 内部的 BOS 共同完成。关键点:HSM 能读写 Host 的全部地址空间,Host 却看不到 HSM 的私有资源。HSM 时钟由 Host 侧的时钟配置决定,不在本工程内。中配置为 HSM 专用,使 Host 和关闭了 HSM 调试的调试器无法读取 HSM 代码。AP32349 建议开发阶段。
2026-11-02 17:06:16
12
原创 HSM-00 内核开发介绍
本系列面向在 TC3xx 上开发 HSM 固件的工程师,以hsm_demo工程为贯穿全系列的例子,覆盖从环境搭建、配置、功能开发到上板调试和量产准备的全过程。配置在哪里:ECUC 中的容器路径,例如怎么验证:演示命令、调试器变量或构建检查。
2026-11-02 16:17:51
241
原创 claude-code注册流程 无需身份认证
如果确定被封了,找到 Apple Store 订阅,然后 Report a Problem,申请退款就行了,理由就是账号封禁,无法提供服务,一般 48h 之内就能退款。如果还想用的话,就重复再注册一个账号,Apple ID 也可以取消关联,重新付款,但是也有的不能再付款了,可以尝试下,实在付款不了了,就拿退款订阅 Codex 去吧。这个时候基本上就可以使用,建议直接用你订阅的那台电脑上的 Claude Code,不要再去登录其他的了,被封的时候会立刻自动退出账户。可以先使用几天 Free 账号,再订阅。
2026-10-30 14:54:24
335
原创 英飞凌 TC3xx功能安全开发-MONBIST
MONBIST测试主要是对二级电压监控进行潜在失效的检测。当发现二级电压监控的失效时,可以通过alarm和error pin报告给Standby SMU。二级电压监控则会对更多的电源进行过压和欠压的Spike监控,并将故障信息报告给SMU。
2025-03-31 20:35:48
437
原创 英飞凌 TC3xx功能安全开发-LBIST
在LBIST执行时,首先PRPG(Pseudo-Random Pattern Generator)使用LFSR(Linear Feedback Shift Register)生成伪随机测试向量,送入扫描链进行测试,然后Compactor将得到的结果通过异或门进行压缩,产生最终MISR签名。这允许在LBIST执行期间,根据特定产品的要求,确定扫描移位的频率。如果LBIST测试失败,通常至少执行2次进行再次测试,英飞凌官方推荐可以先配置执行SSW测试,如果失败的话,再次进行软件触发执行。
2025-03-31 13:40:07
1154
2
原创 英飞凌 TC3xx功能安全开发-PBIST
因此,与供电电压相关的故障被视为单点故障,PMS 中的多个安全机制专门用于在运行时监控电压水平,并且在电压过低或过高时生成 SMU 报警。根据 ISO 26262-5,这些电压监控器中的一个故障被视为潜在故障,因为与电源故障结合会导致 MCU 中的未检测到的故障。它会在PORST引脚释放之前,对TC3xx重要电源的电压和功能进行检测,如果发现任何异常,则不会释放PORST引脚。它是在MCU冷启动复位的时候自动执行的一套硬件机制,不需要任何软件的参与。
2025-03-31 10:54:30
366
原创 英飞凌 TC3xx功能安全开发-SafeTpack OverView
看门狗驱动主要包括内部看门狗,外部看门狗,看门狗接口,这三个驱动模块,内部看门狗是指Tricore的内部看门狗,包含内核的内部狗和Cpu0的SafetyWdg,外部看门狗支持HtxTLF35584,、HtxTLF35585、HtxFS65FS45,WdgIf模块收集其他看门狗驱动模块的接口,为上层应用提供接口,比如WdgM模块等。内部安全看门狗: WDTS 与外部时间窗口看门狗相结合:逻辑监督由内部安全看门狗 WDTS 执行,时间监控由外部时间窗口看门狗执行。调用 SafeTpack 的驱动,执行测试;
2025-03-31 10:28:48
1292
原创 英飞凌HSM内核开发-CRPTO_30_HWA模块配置
CryptoGeneralCryptoKeyDeriveCryptoDriverObjectCryptoPrimitivesCryptoKeyCryptoKeyTypeCryptoKeyElementCryptoPeripherals
2024-09-04 10:53:10
496
原创 英飞凌HSM内核开发-CRPTO_30_HWA模块
如果使用ROM-Key,则必须将另一个带有密钥元素CRYPTO_KE_KEYDERIVATION_LABEL、CRYPTO_KE_KEYDERIVATION_CONTEXT和CRYPTO_30_VHSM_ALGO_KDF_NIST_800_108_CMAC的密钥聚合到ROM-Key。可以通过开启 CRYPTO_30_HWA_TRNG_PREFETCHING2 来激活预取。除了上述密钥元素外,源密钥中还必须存在密钥元素CRYPTO_30_VHSM_ALGO_KDF_NIST_800_108_CMAC。
2024-09-04 10:45:42
1323
原创 英飞凌HSM内核开发-CryIf模块
默认情况下,如果启用了开发错误报告(即预编译参数CRYIF_DEV_ERROR_REPORT==STD_ON),则使用服务Det_ReportError()向DET报告开发错误。如果使用另一个模块进行开发错误报告,则集成商可以配置报告错误的函数原型,但它必须具有与服务Det_ReportError()相同的声明。对于RAM变量的手动空初始化,CRYIF提供了函数CryIf_InitMemory(),该函数可以在CryIf_Init()之前调用。如果目标偏移量大于目标密钥元素的长度,则在中间应用零填充。
2024-09-03 09:42:07
1193
How to configure DCM UDS with the DEXT Editor.pdf
2024-07-30
An Introduction to the AUTOSAR Memory Stack.pdf
2024-07-26
Configuring CanTp using ConfGen RTA-CARv12.0.1.pdf
2024-07-26
AUTOSAR TechnicalReference-CanTrcv-30-Tja1043
2024-07-09
03 - ECU Configuration - RTA-CAR 12.1.0
2024-09-03
02 - System Configuration - RTA-CAR 12.1.0
2024-09-03
01 - Application Software Configuration - RTA-CAR 12.1.0
2024-09-03
Infineon FEE integration into RTA-CAR project-RTA Knowledge Base
2024-09-03
完整的BswM模式配置文档 Mode Management configuration.pdf
2024-08-23
完整的RTA-AN-BSW-BswM-PduGroupHandling配置文档
2024-08-23
AUTOSAR 配置BSW与MCAL的接口模块的文档
2024-08-21
AUTOSAR 完整配置IoHwAb组件的教程文档
2024-08-21
AUTOSAR NvM 完整的Fls模拟Fee解析文档
2024-08-21
EcuM启动时序配置以及集成代码分析 EcuM Startup Sequence
2024-08-19
AUTOSAR XCP详细配置流程 How to configure XCP
2024-08-15
如何通过XCP对SWC变量进行标定,配置示例说明
2024-08-15
通过XCP标定Dem模块的内容配置以及说明和示例参考
2024-08-15
非常完整的DEM配置流程 DEM Configuration - RTA-CAR v12.0.1.pdf
2024-08-09
How to Configure the Watchdog BSW Stack's Supervision.pdf
2024-08-07
E2E Protection Transformer Chain- rba-ComXfAdp + ComXf + E2EXf
2024-08-07
How to Create a Cdd SWC to access MCAL Module
2024-08-05
Communication Control (0x28) - RTA-CAR Project.pdf
2024-08-01
xlCANdemo.7z
2024-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅