- 博客(111)
- 资源 (13)
- 收藏
- 关注
原创 小猫爪:嵌入式小知识18-XCP SeedNKey.dll
上一节提到了XCP会将CMD按照功能分成了四类,并且可以分别给这个四类CMD加一把锁,Master要是想发送这四类CMD,那就需要分别需要对其进行解锁,这种机制就是XCP的Seed&Key机制。解锁的流程也很简单,Master首先需要使用GET_SEED命令获取对应CMD类的seed,然后根据seed计算出对应Key,再使用UNLOCK命令发送计算出的Key1,Slave接收到Key在和本地根据Seed计算的Key2做比较,如果两边的Key相等,那么解锁成功。
2023-08-30 13:38:07
1946
3
原创 小猫爪:嵌入式小知识17-XCP on CAN简介
前面已经对XCP协议做了非常细致的介绍,接下来就来看看XCP是怎样在CAN总线上进行工作的吧。参考资料:XCP协议规范2003。
2023-08-25 16:55:42
4118
15
原创 小猫爪:嵌入式小知识16-XCP协议简介
上一节介绍了一下XCP的相关基础,为我们后续学习打下了坚实的基础,接下来就开始进行枯燥乏味的协议介绍。参考资料:XCP协议规范2003。在XCP基础简介文章中,提到了XCP协议包分为CTO和DTO,然后又细分为CMD, RES, ERR, EV, SERV, DAQ, STIM,在上篇文章中已经对XCP协议包的格式进行了简单说明,XCP依靠PID来进行区分协议包类型,具体PID划分如下:接下来来看看每一种包的形式和作用。
2023-08-24 15:24:01
2108
4
原创 小猫爪:嵌入式小知识15-XCP基础简介
好久没有更新了,这一期来说说刚刚领悟的新技能,那就是XCP,嘿嘿嘿,我是新手,有错勿喷。参考资料:XCP协议规范2003。XCP的功能有:随机读取ECU中RAM和ROM数据;测量数据采样;标定数据采样和传输;同时处理多个ECU系统;Flash编程技术。其工作模式也是非常常见的主从通信模式,XCP协议中,主节点为XCP上位机,被测量点又称“XCP从节点;主结点发送命令连接并开始,从结点在接收到后,再向主结点发送应答,可以采用一主多从的通信形式。提到主从模式,那就来到了我们所熟知的,协议命令环节。
2023-08-23 16:56:50
3245
2
原创 小猫爪:这些年遇过的Bug4-在FreeRTOS下进行浮点运行结果出错问题
芯片型号:AWR2944-R5核操作系统:FreeRTOS应用类型:浮点运算错误现象:进行浮点运算时,会出现计算结果错误,都是浮点乘除法以及一些特殊数学库计算,如三角函数。在刚遇到这个问题时,就觉得特别离谱,这么多年就没遇到过这种类型的问题,就找啊找,找啊找,最后将注意到了FreeRTOS的一个配置参数configUSE_TASK_FPU_SUPPORT,最终经过测试果然就跟这个参数有关。因为我的MCU平台为R5核,所以我的代码截取均来Source\portable\GCC\ARM_CR5F分支。首
2023-07-10 18:34:01
2570
2
原创 【小猫爪】AUTOSAR学习笔记17-AUTOSAR OS
这一节来介绍一下OS的一些小点点,这一章都是文字,估计比较枯燥乏味。对OS基础不太了解的朋友,这里推荐两篇网上好文:《AUTOSAR基础篇之OS(上)》,《AUTOSAR基础篇之OS(下)AUTOSAR OS为了适应各种各种样的芯片,所以它需要良好的可扩展性来做支撑,说得简单点就是OS的功能可被灵活裁剪,AUTOSAR则根据功能扩展分成了四种扩展类型,分别是SC1 ~ SC4,其主要区别为:下面则根据这四种,挑重点的开始说。
2023-03-28 19:39:07
8255
7
原创 【小猫爪】AUTOSAR学习笔记16-Memory Stack之Nvm模块
这一节开始来介绍一下在AUTOSAR架构中一个非常重要的部分,那就是存储系统,即AUTOSAR的Memory Stack。
2023-03-21 13:46:25
3769
原创 【小猫爪】AUTOSAR学习笔记15-BswM模块
上一节介绍了一个非常夸张的EcuM模块,其中多次提到了BswM模块,这两个模块通常狼狈为奸,共同策划且并操作了整个ECU的状态切换。细细研究EcuM模块后就会发现它是比较别动的,都是当一些条件满足或者事件发生时,EcuM才会控制系统进行状态切换,它更像是一个大兵,只会吭哧吭哧干活,而这一节的BswM模块则是真正的指挥。BswM 模块位于 AUTOSAR 基础软件架构中的服务层,实现对 BSW层和 SW-C的模式管理。
2023-03-21 13:29:51
3197
1
原创 【小猫爪】AUTOSAR学习笔记14-EcuM模块
这一章就来说说在BSW层中一个非常重要的模块,那就是EcuM模块。EcuM(ECU State Manager)模块它所管理的ECU状态特指ECU的上下电状态,因为在汽车电子中对ECU的上下电时序要求非常严格,AUTOSAR则特地为此整了一个EcuM模块来系列化这个过程。EcuM 模块位于 AUTOSAR 的系统服务层,透过 RTE 与用户直接交互,在基础软件中与 BswM、ComM 及驱动模块等交互。EcuM 模块主要功能如下:1. ECU 状态处理2. 管理系统启动流程。
2023-03-21 11:21:51
5280
1
原创 【小猫爪】AUTOSAR学习笔记13-功能安全之WdogM模块
这一章就来说说在功能安全中一个至关重要不可或缺的一个模块,那就是看门狗。名称描述被WdgM 监测的逻辑单元,一般可以为一个TASK,也可以是多个TASK的结合WdgM 的监测点,一个SE里面肯定会有一个或很多个CP喂狗条件,该 value 为 WdgDriver 硬件喂狗的条件, WdgDriver 每次正常喂狗,该值将减 1,当其为 0 时, WdgDriver 将停止喂狗。正常情况下, WdgM 将实时刷新该值,保证其不会为 0。Flow/Graph。
2023-03-21 11:21:10
2960
2
原创 【小猫爪】AUTOSAR学习笔记12-功能安全之E2E模块
从这一节开始,正式步入功能安全专题。这一节先来看一个与Communication Stack强相关的且与功能安全有关的模块,它就是E2E模块。E2E在AUTOSAR架构中,它被定义成是一个函数库。E2E 可以保护安全相关的数据交换,避免数据交换过程中通信链路造成的错误。E2E通信保护库实现了这些保护机制算法。为将要发送的安全相关的数据提供保护;对接收到的安全相关的数据进行校验;对接收到的安全相关的数据错误做出指示。
2023-03-21 11:20:03
9180
1
原创 【小猫爪】AUTOSAR学习笔记11-Communication Stack之StbM模块
上一章介绍了一下基于CAN总线负责时间同步的CanTsyn模块模块,那么这一节来稍微介绍一下它的老板StbM模块。
2023-03-21 11:09:52
2063
原创 【小猫爪】AUTOSAR学习笔记10-Communication Stack之CanTsyn模块
这一节来稍微介绍一下基于CAN总线实现时间同步的CanTsyn模块。
2023-03-21 10:51:40
2223
2
原创 【小猫爪】AUTOSAR学习笔记09-Communication Stack之Dcm模块
前面对Communication Stack的通信管理理部分介绍清楚了,接下来就来看看Communication Stack中负责诊断通信的Dcm模块以及三大总线上对应的传输层,分别是CanTp模块,DoIP模块,FlexRayTP模块。
2023-03-20 11:26:11
1863
原创 【小猫爪】AUTOSAR学习笔记08-Communication Stack之Com模块
这一节来学习一下Communication Stack中一个关键模块,那就是Com模块。
2023-03-20 11:20:18
3942
原创 【小猫爪】AUTOSAR学习笔记07-Communication Stack之PduR,IpduM模块
前面对Communication Stack的通信管理理部分介绍清楚了,接下来就来看看Communication Stack中负责通信数据的部分了,第一就不得不说一个最核心的模块,那就是负责消息分发的PduR模块。
2023-03-20 11:16:44
3272
原创 【小猫爪】AUTOSAR学习笔记06-Communication Stack之ComM模块
前面分别介绍了ComNm和ComSM两兄弟,这一章则来看看两兄弟的老板,那就是Communication Stack中管理层中最核心的一个模块,那就是ComM模块。
2023-03-20 11:14:41
5652
1
原创 【小猫爪】AUTOSAR学习笔记05-Communication Stack之CanSM模块
这一章来看看Communication Stack的CanSM模块(CAN State Management)。SM模块跟NM模块类似,每一种总线都有自己的SM模块。这里还是以CAN总线为例。
2023-03-20 11:00:32
4745
原创 【小猫爪】AUTOSAR学习笔记04-Communication Stack之CanNm模块
这一章来看看位于Communication Stack的CanNm模块(CAN Network Management)。
2023-03-20 10:59:09
4470
2
原创 【小猫爪】AUTOSAR学习笔记02-Communication Stack简介
这一章开始,就开始来看看AUTOSAR架构中BSW层的一个最最最重要的部分,那就是Communication Stack部分。
2023-03-20 10:57:27
2827
原创 【小猫爪】AUTOSAR学习笔记01-AUTOSAR架构简介
这一章来看看AUTOSAR的简介,来大略了解一下AUTOSAR,它究竟是一个什么东西啊。
2023-03-20 10:56:34
6008
5
原创 【小猫爪】AUTOSAR学习笔记03-Communication Stack之CanIf模块
前一章简单的对Communication Stack作了一个介绍,了解到了在AUTOSAR中通信的层级架构。这一章来看看这通信架构中的属于ECU抽象层的interface,还是以CAN为例,那对应的就是CanIf(CAN Interface)。
2023-03-20 10:56:22
2797
原创 【小猫爪】AUTOSAR学习笔记00-目录
因为一个偶然的机会让我接触到了AUTOSAR,所以就花一点小小的时间来记录一下学习它的坎坷大道。这其中复制粘贴了很多,也包括了我的一些个人的小小见解和废话连篇,不爱看忽略即可,这其中如果有什么错误,欢迎大家来指正哦,嘿嘿。
2023-03-20 10:54:14
2551
3
原创 小猫爪:嵌入式小知识13- CANoe的Test Module使用简介
CANoe大家应该都知道和了解,CAN界的软件标杆,有个非常偶然的机会接触到了CANoe中的Test选项卡中的Test Module功能,这个小功能可以让我们定制化测试CAN的测试项目,并且它还可以自动生成测试报告,总之非常好用,都是科技与狠活。接下来就举个例子来介绍一下这个小功能的使用流程。
2022-10-09 17:58:09
5111
8
原创 小猫爪:AWR294x学习笔记04-AWR294x之ePWM
这一章来稍微介绍一一下AWR294x的ePWM(enhanced pulse width modulator )模块,说白就是用来生成PWM的模块,TI在它前面加一个enhanced 说明它很牛,下面一起来看看它有什么特别之处吧。下图显示了多个ePWM的结构图:可以看到不同的ePWM模块并不是相互独立的,它们之间还是有一定的联系的,至于它们之间有什么联系后面慢慢来介绍。下图显示了单独一个ePWM模块的结构和信号:名称描述EPWMxSYNCIEPWMxSYNCO。
2022-09-20 17:30:45
1339
4
原创 小猫爪:嵌入式小知识12 - ISO14229-1(UDS)简介
这一章来说说ISO14229-1(UDS服务),在上一章介绍了ISO15765,提到了ISO15765-3中规定的UDS服务其实就是照搬的ISO14229-1,所谓UDS服务理解也是非常简单,就是两个角色进行数据交互,这两个角色分别是客户端和服务端,客户端首先向服务端发送服务请求,然后服务端根据服务类型进行回应。这里的客户端一般为诊断仪,而服务端则是车中的ECU模块了。...
2022-08-31 18:39:32
5052
2
原创 小猫爪:嵌入式小知识14 - ISO15765(UDS on CAN)详解
ISO15765,相信很多人都听说过这个协议,它还有另外一个小名叫做CAN诊断协议规范,还有个ISO14229(UDS协议规范),这两者又是什么关系呢,其实可以简单粗暴的理解成ISO15765它规定了基于CAN的UDS协议,而ISO14229则规定了UDS协议应用层以及UDS协议在不同的车载总线(CAN, Ethernet, LIN等)上的应用和限制。《聊聊诊断协议——UDS》,《汉子之解读ISO 14229(UDS)协议》。接下来就来简单介绍一下ISO15765这个ISO协议里面主要规定了哪些东西。...
2022-08-31 18:38:17
16747
15
原创 小猫爪:AWR294x学习笔记02-AWR294x之DPM&IPC
这一章稍来微介绍一下AWR294x的核间通信,即DPM,IPC以及Mailbox。MailBox是AWR294x的一个硬件外设,它的原理也是非常的简单,其结构如下图:通信原理为:每两个核之间都有两块专属RAM,其实一块用来核A读,核B写,而另外一块则是核A写,核B读,因为AWR294x里面有三个独立运行的核,所以这样的RAM共有6块。如果一个核需要给另外一个核发送信息的时候,那么发送核只需要在两个核的专属RAM中事先准备好需要传输的数据,然后再主动发送一个可以触发接收核RECEIVER。.........
2022-08-03 14:32:24
1491
原创 小猫爪:嵌入式小知识11-MPU详解及其应用
小猫爪:嵌入式小知识11-MPU详解及其应用1 前言2 MPU简介3 MPU相关概念3.1 Memory Map3.2 MPU Region3.3 Region优先级3.4 Background Region3.5 Cache的读写策略3.5.1 Cache的读操作3.5.1 Cache的写操作4 MPU寄存器介绍4.1 MPU_TYPE4.2 MPU_CTRL4.3 MPU_RNR4.4 MPU_RBAR4.5 MPU_RASR4.5.1 XN4.5.2 AP4.5.3 TEX, C, B, S4.5
2022-05-11 21:00:23
8213
2
原创 小猫爪:S32K3学习笔记21-S32K3之SAF及其应用
小猫爪:S32K3学习笔记20-S32K3之SAF和SCST简介1 前言2 SCST3 SAFEND1 前言 前面提到NXP针对功能安全总共提出了SM1~SM4这4种安全机制,其中主要针对SM1和SM2这两种跟S32K3本身有关的安全机制开发了RTD, SPD, SAF, SCST,其中RTD和SPD主要实现了SM1, 而SAF和SCST主要实现了SM2,并且SAF还有一个完整的软件框架,其中涉及错误注入,错误检测,模式切换,错误恢复等等一条龙状态机切换流程。这一节就简单对这SAF和SCST进行一个简
2022-05-07 20:33:38
5164
6
原创 小猫爪:S32K3学习笔记20:S32K3之SCST及其应用
小猫爪:S32K3学习笔记20-S32K3之如何集成SCST进自己的工程1 前言2 SCST简介3 如何集成SCST3.1 移植3.2 应用3.2.1 启动测试3.2.2 使能FPU相关测试项1 前言 这篇文章来简单介绍一下NXP针对core test为S32K3设计的SCST软件,并且将描述如何将SCST集成在自己的工程中。2 SCST简介3 如何集成SCST3.1 移植先将SCST的所有文件移植到自己的工程里,如下:添加SCST的头文件,c部分如下:Assembly部分如下:
2022-04-12 17:22:27
2743
7
原创 小猫爪:S32K3学习笔记19-S32K3之如何集成SPD进自己的工程
小猫爪:S32K3学习笔记19-S32K3之如何集成SPD进自己的工程1 前言1 前言
2022-03-31 13:12:49
2734
原创 小猫爪:S32K3学习笔记18-S32K3之Safety外设总结
小猫爪:S32K3学习笔记18-S32K3之Safety外设总结总结END总结 在前面已经对S32K3对功能安全这一块相关的外设大致都介绍了一遍,这篇文章就来对S32K3与Safety有关的外设来个小的总结。首先把贴出前面的图,如下: 那么图中所有的安全机制都对应着K3的什么外设或者资源呢?Redundant Hardware S32K344有锁步核机制,另外还有RCCU冗余检查模块,检测到错误时,会报告错误给FCCU模块,对应FCCU的NCF[0]通道。Protection a
2022-03-30 23:44:31
3196
1
原创 小猫爪:S32K3学习笔记17-S32K3之数据完整性的保障和手段
小猫爪:S32K3学习笔记17-S32K3之PMC和MC_RGM1 前言1 前言
2022-03-30 23:44:11
4330
7
原创 小猫爪:S32K3学习笔记16-S32K3之PMC和MC_RGM
小猫爪:S32K3学习笔记16-S32K3之PMC和MC_RGM1 前言2 PMC的电压检测2.1 简介2.2 MCAL配置3 MC_RGM3.1 简介3.2 MCAL配置END1 前言 这一节来看看S32K3的PMC(Power Management Controller)和MC_RGM(Reset Generation Module)。其中PMC提供了电压检测机制,当电源输入电压高于或者低于正常工作电压,那么就会触发一个中断,如果电压再低,就触发复位。而MC_RGM是K3的复位管理器,控制着K3的
2022-03-30 23:43:42
5079
3
原创 小猫爪:S32K3学习笔记15-S32K3之SEMA42和INTM
小猫爪:S32K3学习笔记15-S32K3之SEMA42和INTM1 前言2 SEMA422.1 简介2.2 MCAL配置3 INTM1 前言 这一节来看看S32K3上面的两个小东西,有之锦上添花,那就是SEMA42(Semaphores2)和INTM(Interrupt Monitor)。这两者之间并没有什么关联,只是这两个小东西内容比较少,所以我给放到了一起。2 SEMA422.1 简介 SEMA42是建立在XRDC基础上的一个硬件信号量模块,如果要使用SEMA42,那么就一定需要使能XR
2022-03-24 13:43:39
3058
2
原创 小猫爪:S32K3学习笔记14-S32K3之REG_PORT,MPU和XRDC
小猫爪:S32K3学习笔记14-S32K3之REG_PORT,MPU和XRDC1 前言2 REG_PORT3 MPU4 XRDC1 前言 这一节就来看看S32K3的资源访问保护器,S32K3在这一方面主要有三个外设可以对其片上资源提供了强有力的保护,分别是REG_PORT(Register Protection),MPU(Memory Protection Unit)和XRDC(Extended Resource Domain Controller)。其中REG_PORT针对的是寄存器操作的保护;MP
2022-03-23 12:17:43
6519
3
原创 小猫爪:S32K3学习笔记13-S32K3之CMU
小猫爪:S32K3学习笔记13-S32K3之REG_PROT1 前言MCAL配置1 前言 MCAL配置CMU的MCAL配置被集成到了Mcu模块中,首先第一步使能CMU的时钟:接下来先完成CMU_FC的配置,先在McuClockSettingConfi->McuCLKMonitor中添加CMU_FC通道,之前说过,CMU最大支持4个FC通道,如下:随后对每个通道进行配置,我以一条为例,如下:‘随后还需要在Mcu->Generate中配置一些关于CMU的选项:这样关于CM
2022-03-18 19:47:03
3572
3
Arm Cortex-M7 Processor Technical Reference Manual
2024-01-17
Arm Cortex-M4 Processor Technical Reference Manual
2024-01-17
Arm Cortex-M0 Processor Technical Reference Manual
2024-01-17
S32K3_RTD1.0.0_MCAL4.4_FlexCAN_Example.7z
2021-12-02
RT1170_CAN_Demo.7z
2021-09-23
iled_MCUBootUtility.zip
2021-07-14
在MCU上运行的简单控制台shell
2021-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人