英飞凌学习笔记
文章平均质量分 79
开发使用TC3XX TC2XX系列芯片,其中对部分使用得功能进行笔记整理。
飞不高的小菜猪
这个作者很懒,什么都没留下…
展开
-
“AUTOSAR Nvm_WriteAll()掉电无法正常更新Nvm数据” 问题分析
1、问题现象再掉电时调用Nvm_WriteAll()函数后,再重新上电,发现下电前更新得NvmBlock数据未被正确更新到Nvm中。掉电时直接调用Nvm_WriteBlock()函数,可以正常更新指定得NvmBlock块。2、排查NvM_InterWriteAll()函数有被正常执行。NvM_InterWriteAll()函数中调用得NvM_UpdateValidandChangeStatus(STD_ON,STD_ON)函数被屏蔽了,无法正常执行。NvM_UpdateValidand原创 2024-06-18 16:54:09 · 429 阅读 · 0 评论 -
TC3XX 调用栈理论知识
一个任务是一个独立的控制线程。任务的状态由其上下调用关系定义的。当任务被中断时,处理器将使用该任务的上下调用关系来重新启用任务的继续执行。原创 2024-05-10 16:41:59 · 868 阅读 · 0 评论 -
TC377TX 超声波雷达数据更新缓慢问题排查
通过标定数据查看超声波雷达实时的距离大小,发现距离并没有实时更新,而是在实际值与默认值之间跳变,更新十分缓慢。泊车功能必须依赖超声波雷达测距来实现,当雷达数据更新缓慢时,会导致泊车失败。原创 2024-05-10 16:20:05 · 900 阅读 · 0 评论 -
SPI异步传输使用DMA 问题点
只配置SPI_RX SPI_PT SPI_ERR DMA_RX中断。当发送得数据长度=1时,数据能正常发送并出发PT中断。但是当发送得数据长度>1时,发送完第一个字节后数据不能正常发送,获取SPI状态,一直处于PENDING状态,PT中断不能正常触发,DMA_RX中断也不能正常触发。原创 2024-01-08 15:47:37 · 879 阅读 · 0 评论 -
TC397 之 TLF35584 应用部分代码实现章节
【代码】TC397 之 TLF35584 应用部分代码实现章节。原创 2023-12-10 14:49:01 · 776 阅读 · 1 评论 -
TC397 之 TLF35584 SPI配置 代码实现章节
QSPI允许基于标准化的spi总线信号与外部设备进行任何同步串行通信:时钟、数据输入、数据输出和从属选择。QSPI工作在全双工模式下,或作为主设备或从设备高达50 Mbit/s。DMA模块通道可以配置为将数据从QSPI FIFOs从内部内存传输,而不需要任何CPU干预。原创 2023-12-10 14:48:32 · 1516 阅读 · 0 评论 -
TC397 看门狗功能_代码实现部分
为CPU0配置看门狗并定时去喂狗,通过看门狗监测CPU0的运行状态。当CPU0程序卡死不能正常运行时,通过看门狗超时触发复位。原创 2023-12-05 18:03:59 · 647 阅读 · 0 评论 -
TC397 看门狗功能理论介绍
单独的CPU看门狗提供了监视单独的CPU执行线程的能力,而不需要软件来协调一个共同的监视器的共享使用。表263总结了对密码的要求。请注意,当WDT在超时模式下运行(例如,在访问受ENDINIT保护的寄存器之后)时,密码或检查访问仍然需要进行时间检查比较。Endinit是一种写入保护方案,它只允许在特定的时间内写入,并使受此特性保护的寄存器的意外修改几乎不可能。如果没有启用时间检查(WDTxSR.TCS=0),则在密码访问期间,必须使用现有的重载值简单地重写WDTxCON0寄存器的REL字段。原创 2023-12-05 16:14:56 · 1156 阅读 · 0 评论 -
功能安全介绍_3
功能安全是指“由于E/E系统的故障行为所造成的危害而没有不合理的风险”。危害:“潜在的危害来源”。伤害:“身体伤害或对人身健康的损害”。系统故障:“与某一原因以确定性方式相关的故障,只能通过设计或制造工艺、操作程序、文件或其他相关因素的改变来消除”。随机硬件故障:“在硬件元素的生命周期中可能不可预测地发生且遵循概率分布的故障”。原创 2023-12-01 11:50:28 · 968 阅读 · 1 评论 -
SafeTpack 理论介绍_1
A2G SafeTpack包含4个主要部分:1)测试库 / 测试处理程序。2)内部 / 外部安全看门狗接口和相关驱动程序。3)签名监视器 / 错误上报系统。4)安全管理单元(SMU)驱动(由IFX提供)。A2G SafeTpcak作为一个独立的复杂驱动程序包,与AUTOSAR不存在绑定关系,可以独立使用。原创 2023-11-30 16:36:30 · 1455 阅读 · 0 评论 -
TC377 - MTU MBIST之ME(Miscellaneous Error)报警触发方法
为了为测试目的触发ME报警,可以简单地禁用任何安全通知。这将触发ME警报。原创 2023-11-29 14:29:18 · 476 阅读 · 1 评论 -
TC377 - MTU MBIST之地址错误注入
(ALMSRCS.ADDRE = 1(地址错误检测使能)&& ECCS.SFLE=1 && 读SRAM,将会通知一个地址错误。注意:SRAM如果带Address-ECC(有关SRAM,请参阅附录章节),则该为将被忽视,同时将没有错误通知产生。SFLE=1:通过将地址的位[0]翻转到地址错误检测逻辑,而不是SRAM,强制地址错误注入。这将导致要生成的地址错误。原创 2023-11-29 14:15:31 · 437 阅读 · 1 评论 -
TC377 - MTU MBIST之单/双 bit数据错误注入
启用内存测试后,为了验证功能的有效性,需要用户手动去注入错误,进而验证内存测试功能是否有效。在没有错误发生的情况下,手动注入错误是很有必要的。对于无损测试而言,可以通过ECCMAP在NDT之前用错误的ECC编码某一个word,从而注入一个数据错误。对于有损测试而言,可以通过RANGE.INJERR位注入数据错误。注入错误后,可以测试所有正常的诊断和通知——也就是说,触发警报,在无损测试期间在ETRR/ERRINFO中跟踪错误。原创 2023-11-28 17:35:47 · 986 阅读 · 1 评论 -
TC377 - MTU MBIST之内存自动初始化+无创测试
1)存储器测试单(MTU)控制和监控AURIX™TC3xx系列微控制器中各种内部存储器的测试、初始化和数据完整性检查功能。2)无创测试(NDT)是由内存内置自测试(MBIST)执行的,以验证同一SRAM内存的内容。内存内置自测试(MBIST)是一个MTU特性,它能够验证内部sram的完整性。3)为了测试错误的场景,此实例提供了在内存中注入一个比特错误的可能性。原创 2023-11-28 14:01:46 · 1330 阅读 · 0 评论 -
HexView 处理hex文件
1)指令:/AR:’range’2)用法1:/AR:0x1000,0x200。3)用法2:/AR:0x7000-0x7FFF。4)实例:从TC377_Bbank_APP_SidRWD.hex 拷贝出 0xA05F0000-0xA05FEFFF的内容。原创 2023-11-23 11:52:14 · 597 阅读 · 0 评论 -
TC377 - Memory Test Unit (MTU)
SSH可以用一种已定义的模式快速的对部分内存或者整个内存进行填充。即使用 MCONTROL.DINIT位,每个周期有一次写访问,具有全内存数据宽度。因此,必须确保MCONTROL.SRAM_CLR=0。在设置MCONTROL.DINIT之前,软件首先需要用所需的位模式填充 RDBFL寄存器(具体参考 MCi_RDBFLy (i=0-95;y=0-66))。在此模式下,有效的ECC码并不是必须的。设置RANGE寄存器,设置为需要填充模式的内存范围。原创 2023-11-20 14:27:14 · 749 阅读 · 0 评论 -
AURIX™ MCU: TC3xx EVADC Converter Diagnostics
EVADC具有转换器诊断功能。具体实现:对转换器施加已知的内部电压(除了或者没有原始用户输入电压),然后检查转换结果是否与期望值匹配,匹配则表示EVADC转换器正常,否则该模块异常。为了避免内部电压与用户输入电压之间的潜在短路电流的影响,必须确保在使用软件进行转换器诊断的过程中断开用户输入电压。(注:具体详解请见芯片手册32.12.3 Converter Diagnostics)原创 2023-10-30 10:19:43 · 380 阅读 · 0 评论