- 博客(225)
- 收藏
- 关注
原创 【Memory协议栈】NvM / Fee 数据块长度变更与 CRC 机制
本文围绕“已装车软件只改动 NvM 块长度、升级时不擦除 DFlash 是否会出问题”这一实际场景展开分析。
2026-10-31 21:18:42
145
原创 【RH850U2A芯片】故障控制模块ECM详解
本文围绕 RH850/U2A 芯片的 ECM(错误控制模块)展开,先介绍 ECM 的功能概述,包括错误收集、错误状态记录、中断与复位反应、错误脚输出、端口安全状态、超时功能和寄存器保护;随后结合硬件手册与安全应用笔记,逐一分析中断与异常 Action、Error Notification 触发方式、内部输出信号、non-dynamic 与 dynamic 两种错误输出模式、Timeout Function 等细节问题。
2026-10-31 10:17:23
105
原创 【OS】基于TC3xx芯片实现符合RTA-OS规范的硬件Conter计数器驱动
本文围绕 RTA-OS 在 Infineon 硬件 Counter 驱动实现展开,先梳理用户需要提供的四个 Counter Cbk(Now、Set、Cancel、State)与 ISR 必须调用的 Os_AdvanceCounter API 之间的挂接关系,再对比 Simple、Re-triggering、Looping 三种硬件驱动模型的差异与选型依据,随后从中断次数、分辨率、抖动、丢拍、移植成本等维度分析软硬件 Counter 的适用场景,最后给出可量产使用的 OsHwCounter实现。
2026-10-24 12:36:36
130
原创 【MCAL实战】GPT模块原理与配置实战
本文深入解析AUTOSAR架构下GPT软件模块的原理,并详细阐述GPT软件模块与TC3xx芯片GPT12硬件模块之间的对应关系。文章首先补充GPT12硬件知识,包括fGPT与fSPB的关系以及GPT12可产生的中断事件;随后详解GPT软件模块的Channel模式与状态、预定义GPT Timers以及唤醒和driver模式等概念;最后通过MCAL配置、生成代码解析、测试代码和上板实测,完整演示了GPT软件模块在TC387平台上的实践流程。
2026-10-24 07:58:48
37
原创 【RH850U2A芯片】异常分析和定位
本文围绕 RH850 芯片上 Trap/Exception 的定位与理解展开,系统梳理了软件工程与芯片手册中的 Trap 分类、异常原因码与定位套路,并与 TC3xx 寄存器做了对照。文章重点解释了 FE 与 EI 两套异常通道的区别、CPU 计算 handler 地址的两种取址方式,以及工程中如何判定取址方式;最后通过四个典型问题,深入辨析了普通中断、TRAP/SYSCALL、EIINT 与 Exception 的关系,以及 feret/eiret 退场指令在软件执行上的真实含义。
2026-10-17 10:49:16
199
原创 【RH850U2A芯片】多核芯片的软硬件配合启动
本文介绍RH850U2A多核芯片的硬件与软件启动原理。上电后仅CPU0(PE0)默认启动,其余核需由CPU0通过操作BOOTCTRL寄存器唤醒。ResetVector地址由OPT_RBASEx配置字决定,该值在烧录时写入Flash,上电后自动加载至RBASE寄存器。启动代码由链接器按链接脚本生成并烧录至指定地址,通常为jrReset_Handler指令。后续各核依次通过硬件自动加载其RBASE值至PC,从Reset_Handler开始执行。整体流程体现硬件自动性与软件配置的协同作用。
2026-10-11 10:58:01
200
原创 【基础工程搭建】AUTOSAR架构下芯片和OS多核启动BringUp
本文基于 TC3xx 多核芯片与 Vector Davinci AUTOSAR 平台,系统讲解从单核系统到多核系统的 BringUp 实战过程。文章先介绍多核启动的背景知识,再依次说明 Davinci 工程中的 OS、EcuC、EcuM 多核配置,链接文件与启动代码的多核适配,以及 EcuM 启动多核与各核 InitTask 中的多核同步实现。
2026-09-14 22:08:26
93
原创 【车载以太网】AUTOSAR架构下Eth Stack-TCP报文收发详解
文章主要介绍AUTOSAR架构下EthStack-TCP报文的收发,对比传统TCP,涉及配置、PC端应用、抓包解析等。摘要需要精炼概括主要内容。</think>摘要:本文介绍AUTOSAR架构下EthStack-TCP报文收发机制,对比传统TCP与AUTOSAR SoAd模块的差异,阐述相关配置及PC端调试程序,并通过抓包解析三次握手过程,为汽车ECU的TCP通信开发提供参考。
2026-09-06 13:20:40
84
原创 【经验总结】AUTOSAR架构下CAN报文不能收且不能发问题分析
本文分析了AUTOSAR架构下TC3xx MCAN因BusOff恢复异常导致CAN报文无法收发的问题。关键在于驱动中断处理逻辑中IR.BO清除与PSR.BO判断顺序不当,使硬件BusOff状态丢失上报。通过修改Vector驱动逻辑,先清IR.BO再判断PSR.BO,解决问题。总结强调深入理解硬件与驱动机制及完整Log的重要性。
2026-09-06 09:06:53
169
原创 【经验总结】AUTOSAR架构下CAN网络唤醒延迟问题分析
摘要:本文针对TJA1044收发器在网络休眠后偶发唤醒延迟问题(正常200ms唤醒,偶发1-2s),分析其根本原因为CanTrcv软件轮询检测机制缺陷导致唤醒事件识别滞后。文章通过对比TJA1043/TJA1145收发器的硬件唤醒机制(ERR_N引脚/CW寄存器)与TJA1044的RXD引脚特性差异,指出后者因依赖周期轮询检测存在固有延迟风险,并提出改用ICU中断精准检测的解决方案。最后强调芯片选型时需考虑唤醒机制差异,避免潜在问题。
2026-08-15 12:10:45
90
原创 【车载以太网】AUTOSAR架构下TcpIp模块ICMP协议收发报文解析
本文介绍了ICMP协议及其在AUTOSAR架构下的实现。ICMP是TCP/IP网络层协议,主要用于传递控制消息和错误报告,支持网络诊断(如ping、tracert)和错误反馈(如目标不可达)。文章详细解析了ICMP报文格式、类型代码及安全风险(如DDoS攻击),并提出了防护建议。在AUTOSAR架构中,TcpIp模块负责ICMP报文处理,通过配置TTL和缓冲区大小实现功能。最后以ping示例展示了ICMP请求/响应报文的交互流程,帮助理解协议的实际应用。
2026-08-09 16:24:28
108
原创 【车载以太网】AUTOSAR架构下TcpIp模块ARP协议收发报文解析
本文详细分析了AUTOSAR架构下ARP协议的交互过程。在TCP/IP模块中实现的ARP协议负责处理ECU的ARP报文收发,关键配置包括MAC地址、IP地址和静态ARP表。通过PC端发送ARP请求报文(广播)和ECU响应报文(单播)的详细解析,展示了完整的ARP对话过程:PC通过广播请求获取ECU的MAC地址,ECU收到后单播回复其MAC地址。文中特别指出实际传输中以太网帧会被补齐到60字节,并提供了请求/响应报文的字段对比和通俗解释,帮助理解ARP协议在AUTOSAR架构下的实现机制。
2026-08-09 12:21:54
197
原创 【经验总结】AUTOSAR架构下Can报文能收不能发问题分析--附调试代码
本文分析了两个典型的CAN报文能收不能发问题案例。问题1是由于TJA1013收发器的STB_N引脚被异常拉高、EN引脚被异常拉低,导致收发器进入LISTEN-ONLY模式;问题2则是由于CanIf模块的PduMode被异常设置为CANIF_SET_RX_ONLINE。作者通过添加ComStack的log信息捕获关键状态变量,结合收发器工作原理和AUTOSAR规范,深入分析了问题根源。文章总结了三个具有普遍参考价值的结论:1)ComStack打印逻辑的通用性;2)TJA1043收发器在特定引脚状态下的工作模式
2026-08-08 13:10:05
191
原创 【经验总结】CanTp连续帧报文异常丢失问题分析
本文分析了AUTOSAR架构下CanTp模块在发送连续帧时偶发中断的问题。通过CanTrace日志和代码分析,发现问题根源在于SWC实现的Cdd_SWC_CopyTxData函数在某些场景下持续返回BUSY状态,导致N_Cs超时触发发送失败。验证阶段通过调整N_Cs参数至200ms后问题不再复现。文章总结了CanTp发送失败的常见原因对照表(包括流控帧超时、缓冲区无效等),指出该问题排查思路具有普适性,建议开发者在类似场景下优先检查SWC回调函数的返回值逻辑。
2026-07-19 20:54:26
211
原创 【车载以太网】AUTOSAR架构下EthIf模块配置调试实践
本文介绍了AUTOSAR架构下EthIf模块的配置与调试实践。首先概述了学习AUTOSAR模块的通用步骤:硬件原理学习→抽象概念理解→上板测试→异常处理经验积累。重点讲解了EthIf模块的关键配置项,包括EthIfController绑定、VLAN设置、MTU配置等核心参数。详细分析了模块的状态变量如LinkState、Controller模式等调试要点,并梳理了报文收发流程中的关键函数调用关系。通过ARP和ICMP报文处理案例,展示了实际调试过程中如何验证配置参数、状态切换和函数调用。文章旨在提供EthI
2026-07-19 13:36:03
88
原创 【车载以太网】AUTOSAR架构下TC3xx芯片是如何通过MDIO协议控制PHY芯片的
本文详细分析了AUTOSAR架构下TC3xx芯片通过MDIO协议读写PHY寄存器的实现原理。首先介绍了硬件连接方式(RGMII接口和MDIO控制)及MDIO协议格式(包括前导码、起始位、操作码等关键字段)。然后重点解析了TC3xx芯片MAC模块的读写操作流程,包括寄存器配置细节。在软件实现方面,深入阐述了ETHDriver底层函数调用栈,具体分析了读/写PHY芯片寄存器的实现机制,包括寄存器配置、命令触发和结果获取等关键步骤。最后总结指出MDIO协议由硬件实现,ETHDriver只需控制MAC_MDIO相关
2026-07-12 14:25:26
75
原创 【车载以太网】AUTOSAR架构下TC3xx芯片是如何将一帧ETH报文接收上来的
摘要: 本文深入分析了AUTOSAR架构下TC3xx芯片的ETH报文接收机制。从硬件原理入手,详细介绍了GETH接收中断信号的触发条件、关键寄存器(如DMA状态/使能寄存器、接收描述符寄存器)的功能,以及DMA通过RxDescriptor接收报文的流程(描述符配置、数据搬运、状态回写等)。软件层面,重点解析了EthDriver的中断处理流程(Eth_30_Tc3xx_IrqHdlrRx)、数据接收(Eth_30_Tc3xx_Internal_Receive)及帧处理(Eth_30_Tc3xx_Receive
2026-07-12 08:40:22
205
原创 【车载以太网】AUTOSAR架构下TC3xx芯片是如何将一帧ETH报文发送出去的
本文深入分析了AUTOSAR架构下TC3xx芯片的以太网报文发送机制。通过GETH模块的Descriptor+DMA硬件原理,详细阐述了软硬件协同工作流程:1) 软件填充描述符信息并启动DMA;2) DMA读取描述符完成数据传输;3) 轮询或中断方式确认发送完成。文章解答了三个核心问题:报文发送的软硬件协作机制、Polling模式的状态查询方式以及中断触发条件,为TC3xx以太网功能开发提供了关键技术参考。
2026-07-05 18:20:16
125
原创 【车载以太网】AUTOSAR架构下EthTrcv实战详解
本文以RTL8211F为例详细解析了AUTOSAR架构中EthTrcv模块的软硬件原理与实践。硬件部分重点阐述了RTL8211F收发器通过RGMII接口与MCU通信、MDIO/MDC寄存器控制机制及关键功能寄存器配置;软件部分深入分析了EthTrcv模块的状态机设计(包括TrcvLinkState、TrcvMode等关键状态)和核心接口函数。文章采用问题导向方式,结合数据手册和实战经验,提炼出硬件通信协议解析、寄存器操作流程、软件状态转换逻辑等核心知识点,为以太网收发器模块的调试与故障排查提供了系统性的方法
2026-06-28 17:19:34
120
原创 【车载以太网】Eth Stack Bringup
摘要:本文基于AUTOSAR架构,详细介绍了在TC3xx硬件平台上实现EthStack Bringup的全过程。作者通过配置MCAL和Davinci工具,完成了EthTrcv、Eth、EthIf、EthSM和TcpIp等模块的集成,并解决了16字节内存对齐和以太网速率不匹配等问题。最终实现了PC端与开发板的Ping通,并通过WireShark验证了数据包收发。文章总结了调试中的关键问题与解决方案,强调了实践的重要性,为后续EthStack的深入分析奠定了基础。
2026-06-07 16:52:48
178
原创 【功能安全】英飞凌TC3xx芯片LBIST实现原理
本文基于英飞凌TC3xx芯片,详细介绍了逻辑内置自测试(LBIST)的实现细节。首先阐述了功能安全手册对LBIST的需求,包括配置寄存器、执行流程和结果验证要求。然后具体说明了软件实现流程,包括判断SSW是否执行LBIST、识别冷启动复位、验证LBIST结果等关键步骤。特别指出在极端条件下可能需要重复测试,连续三次失败应判定芯片故障。最后提到一个硬件设计注意事项:TESTMODE引脚需上拉才能正确保存MISR签名值。这些安全机制虽然不易察觉,但对产品可靠性至关重要。
2026-05-17 11:34:15
169
原创 【功能安全】ESM[SW]:SYS:MCU_FW_CHECK原理及注意实现
摘要:本文介绍了英飞凌TC3xx芯片固件检查(FWCheck)的功能安全需求及实现要点。芯片启动后需检查SMU、SCU、MTU模块的特定寄存器值是否符合预期,以判断芯片状态。文章梳理了不同复位类型下的寄存器预期值,并指出软件实现时需注意误判情况(如Debug模式或LBIST导致的寄存器值变化),建议根据实际情况绕过某些位域的检查。虽然这些安全相关工作容易被忽视,但却是衡量产品质量的关键差异点。
2026-05-10 15:17:46
183
原创 【功能安全】SMU FSP自检原理和实现
本文介绍了基于英飞凌TC3xx芯片的SMU FSP(故障信号协议)功能在ECU上电时的自检实现方法。主要内容包括:1)功能安全需求分析,强调FSP错误引脚对微控制器故障检测的重要性;2)具体实现步骤,涉及SMU接管ErrPin、读取FSP错误引脚状态以及发送SMU启动命令等关键操作;3)总结指出FSP自检虽为隐性安全措施,但对产品质量至关重要。通过规范的测试流程,确保ECU每次上电时FSP功能正常工作,满足功能安全要求。
2026-04-26 17:02:36
131
原创 【经验总结】LIN收发器TJA1021功耗过高问题分析
摘要:本文分析了某ECU休眠状态下功耗超标的问题。硬件排查发现LIN收发器(TJA1021)未进入低功耗模式。经查,TJA1021上电默认处于Power-on状态(SLP_N低电平,INH高电平),需SLP_N先拉高再拉低才能进入Sleep模式。而软件误认为默认即为Sleep模式,导致配置错误。解决方案是配置LIN收发器为Normal状态,并在ECU休眠时正确控制SLP_N引脚。问题根源在于未仔细阅读芯片手册,误判了收发器的默认状态。
2026-04-19 17:04:47
148
原创 【经验总结】NvM实车问题分析-看基础扎实老司机如何快速定位问题
摘要:本文总结了三个与NvM存储相关的实车问题及其解决方案。问题1因FeeBlock写入次数限制导致写失败,解决方案是重新评估配置写入次数;问题2在热启动时读取NvMBlock失败,原因是CRC校验机制导致,解决方案是取消CalculateRamBlockCrc配置;问题3因NvM_WriteAll卡死导致看门狗复位,需调整写入策略。文章详细分析了每个问题的定位思路和验证过程,强调基础知识积累和日志设计的重要性,以减少现场调试的被动性。
2026-04-12 18:05:46
308
原创 【MCAL实战】Can Driver模块配置使用实践
本文介绍了AUTOSAR架构下CanDriver模块的配置与实践,主要内容包括: 硬件分析:详细讲解了TC387开发板的CAN硬件连接与引脚配置。 CanDriver模块配置: CanController配置:包括波特率、采样点等关键参数设置 CanHardwareObject配置:介绍FullCAN和BasicCAN两种模式 中断配置:说明中断源计算方法和配置步骤 模块使用: 关键API功能和使用场景 状态变量的观测方法 MessageRAM的配置经验 测试验证: 报文收发功能测试 软件状态观测 API使
2026-04-12 10:18:21
284
原创 【功能安全】ESM[SW]:SMU:ALIVE_ALARM_TEST原理及具体实现
本文介绍了Infineon TC3xx芯片中SMU模块的ALIVE_ALARM_TEST功能实现。SMU_core的存活状态由SMU_stdby监控,功能安全手册要求每个驾驶周期执行SMU_AliveTest命令测试。文章详细说明了测试流程,包括如何判断SMU_core状态、发送测试命令、验证测试成功、检测ALM21[16]报警及清除报警的具体寄存器操作方法。通过SMUDBG、SMUCMD、SMUSTS等寄存器实现完整测试流程,确保SMU模块可靠性。该测试是功能安全启动的重要环节。
2026-04-11 13:47:29
172
原创 【OS】AUTOSAR架构下如何测量Task的周期和运行时间
本文介绍了在汽车电子ECU开发中监控Task周期和运行时间的重要性,提出了一种基于Vector协议栈的测量方案。通过OS_VTH_SCHEDULE宏函数获取上下文切换时的绝对时间戳,可计算Task周期(两次进入时间差)和运行时间(所有执行时间段总和)。该方案仅适用于Vector协议栈,其他AUTOSAR OS需另寻方法。这种监控对确保ECU系统调度稳定性和负载优化具有重要意义。
2026-03-21 12:16:05
242
原创 【Memory协议栈】AUTOSAR架构下如何测试NvM的使用率
本文介绍了在TC387芯片上精确计算NvM存储使用率的方法。针对512K Dflash0采用双256K分区设计的情况,指出简单累加100个已知大小Block的方法不够准确,因为Fee模块会写入额外协议数据。文章提出具体测试步骤:1)阻止正常NvM写入;2)擦除DFlash确保初始状态;3)通过测试代码写入所有Block并记录FeeNextFreePageAddr地址。最终通过计算已用空间(0xB50字节)与总空间(256K)的比值,得出实际使用率为1.1%。该方法可避免因使用率过高导致的切页频繁和写入丢失问
2026-03-15 19:27:10
325
原创 【功能安全】TC3xx芯片EVADC功能安全需求及一些软硬件设计注意事项
本文介绍了TC3xx芯片EVADC模块的功能安全监控需求及软硬件设计要点。在功能安全方面,需要实现配置寄存器校验、冗余备份监控(通过双通道采集同一信号)、参考电压监控等机制。硬件设计上,功能安全信号需使用支持冗余采集的引脚,VAREF和CH0供电引脚要接到ADC采集通道。软件设计需区分VAREF和CH0供电通道,并考虑不同参考电压的计算方式。这些设计注意事项对确保功能安全和避免硬件返工至关重要。
2026-03-15 13:42:43
162
原创 【Mode Management】CanSM何时设置BusOffDTC及常见BusOff内部原因总结
CanSM何时设置BusOffDTC及常见BusOff内部原因总结
2026-03-07 20:59:37
188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
4