
NXP-S32K3使用记录
文章平均质量分 87
记录一下使用恩智浦 NXP S32K3芯片,S32DS编译器自带的RTD进行项目实施的过程,其中有坑点、使用技巧等,属于初学者,路漫漫一起前行!
剑从东方起
高级软件工程师,汽车电子行业深耕者。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NXP应用随记(九):M7内核的Hardfault相关认知
NXP MCU S32K312 的 HardFault是 ARM Cortex-M 内核在检测到不可恢复的错误时触发的异常,通常由软件或硬件配置问题引起。原创 2025-05-25 07:30:00 · 1148 阅读 · 0 评论 -
NXP实战笔记(十六):NXP 32K3xx系列单片机有关OTA升级的思考
NXP的S32K3系列单片机通过HSE(硬件安全引擎)的ABSWAP功能实现OTA(Over-The-Air)升级,是一种确保固件更新过程安全可靠的方法。HSE(硬件安全引擎):HSE是NXP S32K3系列单片机中的一个安全特性,它提供加密、安全启动和密钥存储等安全功能,符合ISO26262标准,达到ASIL D安全等级。HSE支持多种加密算法,包括AES、RSA和ECC,确保数据传输和存储的安全性。此外,HSE还支持无线固件更新(FOTA),允许MCU接收和安装新的固件,而不影响系统的正常运行。原创 2024-09-22 07:30:00 · 3691 阅读 · 5 评论 -
NXP实战笔记(十五):32K3xx基于RTD-SDK在S32DS上安装HSE之后,进行AB SWAP功能实现OTA升级。
1.HSE 切换服务相关的变量,要放在合理的内存空间,可以参照HSE 安装的潜在失败原因分析。例如,在切换过程中,存在下面的变量,如果不放在dtcm或者no-cable的话,可能会导致切换不成功(非常重要)。链接文件里面设置2.连续两次操作,间隔时间太短,一般认为小于1s.如果连续两次切换,会导致程序死掉。但是重新上电reset之后,程序仍然会执行切换后block的程序。解释如下图:3.切换时未获取SU权限。但在实际的项目工程中,经调试发现如果不获取SU权限,也可以实现。原创 2024-07-31 07:30:00 · 2119 阅读 · 0 评论 -
NXP实战笔记(十四):32K3xx基于RTD-SDK在S32DS实现HSE的安装。
第一种为通过调试器安装,通过调试器复位两次安装。第二种是脱机运行,也就是下载HEX到MCU里面实现断电上电两次安装。原创 2024-06-17 09:24:36 · 4088 阅读 · 7 评论 -
NXP实战笔记(十三):32K3xx基于RTD-SDK在S32DS上休眠唤醒wakeup低功耗功能。
S32K3xx仅有两种电源模式,RUN模式和STANDBY模式。S32K1xx之所以有Run、Sleep、Deep Sleep三种电源状态,是因为S32k1xx使用的ARM Cortex M4的内核,其内核就规定了这三种电源模式:Run:正常工作模式,允许PLL 倍频,内核、系统、总线频率运行在芯片的最高频率,功耗可达数十mA–上百mASleep:普通睡眠模式,大部分外设停止工作,内核、系统和总线部分关闭或降频工作,功耗可降至几个mA。原创 2024-06-14 07:30:00 · 1861 阅读 · 0 评论 -
NXP实战笔记(十二):32K3xx基于RTD-SDK在S32DS上配置LPSPI(同步、异步、DMA、主机、从机、中断、轮询)
S32K3_低功耗LPSPI轮询、中断、同步、异步、DMA等传输方式。所有的LPSPI支持最大15MHz数据波特率在增强型管脚上,最大7.5MHz在标准管脚上,高性能的SPI0在回环模式下支持20M速率,普通模式15M。K3系列MCU具有6个独立的SPI模块,序号为SPI0-5。所有SPI均支持DMA。一帧数据可以由一个字或多个字组成,一个字32bit,帧的最小传输长度为4bit,传输FIFO4个字,也就是128bit,发送也有128bit的FIFO。原创 2024-03-01 10:39:36 · 2874 阅读 · 0 评论 -
NXP实战笔记(十一):32K3xx基于RTD-SDK在S32DS上配置DFLASH、MemAcc、Fee
S32K3目前安装的RTD普遍使用的是R22-11版本的AUTOSAR规范,作为一直使用AUTOSAR4.2.2的程序员来讲,属实迭代快乐一些,其实也怪不得更新快,假设自己每年都会看变化,其实也是能跟上的,更多的是自己不思进取吧,加油,打工人,方法在,学起来也快,自信还是要有的!DFLASH文档里面有描述,MemACC\FEE在手册里面并没有介绍,其属于抽象层的组件。在RTD-SDK里面可以实现的,包含DF、MemAcc、Fee,结构如下:RM手册描述DF如下:这些能后分的块也是有限制的。原创 2024-02-27 13:21:07 · 2867 阅读 · 8 评论 -
NXP实战笔记(十):S32K3xx基于RTD-SDK在S32DS上配置CAN通信
S32K3xx的FlexCan与之前的S32K1xx很相似,Can的中断掩码寄存器(IMASK3)与中断标志位寄存器(IFLAG3)依赖于邮箱数。FlexCan配置实例如下FlexCan的整体图示如下-请求RAM访问以接收核发送消息帧-验证接收到的消息-检测CANFD的消息-管理接收和传输的消息缓冲区-负责CAN或CAN FD消息格式的仲裁与ID匹配算法-控制从内部总线访问接口-接口到内部时钟,地址和数据总线,中断,DMA请求。-消息缓冲区存储在专用的嵌入式RAM中。原创 2024-02-24 10:11:41 · 3329 阅读 · 0 评论 -
NXP实战笔记(九):S32K3xx基于RTD-SDK在S32DS上配置 CRCIRQPower
硬件CRC产生16或者32bit的,S32K3提供了可编程多项式与其他参数需求。CRC图示如下。原创 2024-02-23 09:36:39 · 1190 阅读 · 0 评论 -
NXP实战笔记(八):S32K3xx基于RTD-SDK在S32DS上配置LCU实现ABZ解码
碰到光电编码器、磁编码器等,有时候传出来的位置信息为ABZ的方式,在S32K3里面通过TRGMUX、LCU、Emios结合的方式可以实现ABZ解码。官方推荐方式为也有另外一种图示ABZ的是什么在前面的正交编码文章里面已经有了叙述,S32K芯片本身存在一定的缺陷,例如Z信号的接入,Z信号是每转动一个机械周期会发出一个脉冲,此时清除AB信号的脉冲计数值,防止累计误差,但是S32K3里面此功能并没有实现,需要通过外接emios触发边沿检测中断,在中断里面清除AB的计数器。ABZ并显示如下。原创 2024-02-23 09:36:15 · 1436 阅读 · 0 评论 -
NXP实战笔记(七):S32K3xx基于RTD-SDK在S32DS上配置ICU输入捕获
输入捕获,可以抓取高电平时间、低电平时间、占空比、周期、边沿检测与回调函数、边沿计数(ABZ解码)、时间戳、唤醒中断。记录一下根据Emios模块实现上述部分功能。适用于输入捕获功能的Emios有以下三种模式。SAIC:信号实时输入捕获从上图可以看出,SAIC仅仅关联了A寄存器,假设上升沿边沿检测,只能在上升沿时候抓取一个A的值,那么使用轮询的方式实现不了任何功能,在SDK包里面,通过中断或者DMA实现记录上次的值与本次的值,进行周期或者占空比的测量。只有在中断或者DMA的时候才会置位此标志位。原创 2024-02-22 11:31:55 · 2470 阅读 · 0 评论 -
NXP实战笔记(六):S32K3xx基于RTD-SDK在S32DS上配置PWM发波
针对S32K3xx芯片,产生PWM的硬件支持单元仅有两个,分别是eMiosx与Flexio.生成PWM的顺序,按照单片机所用资源进行初始化执行如下。原创 2024-02-22 11:31:27 · 2117 阅读 · 1 评论 -
NXP实战笔记(五):S32K3xx基于RTD-SDK在S32DS上配置ADC的硬件触发同步采样与软件采样过程
恩智浦 S32K3xx 系列汽车微控制器器件具有 15 位分辨率逐次逼近模数转换器(SAR ADC),可用于模拟输入信号的采集和数字化。-15 位的分辨率。转换数据总是15 位宽,与所选转换分辨率无关(每转换数据 14、12、10、8 个有效位,减少这个数字会加快数据转换,因为 SAR 算法的执行步骤会更少)。-每个输入通道捕获的转换数据放在单独寄存器中。-可使用“ 平均法” 提高精度,即通过计算最高 32 次转换数据的平均数来提供最终结果。-正常转换触发转换多个。原创 2024-02-21 09:10:40 · 2986 阅读 · 0 评论 -
NXP实战笔记(四):S32K3xx如何产生中心对称三相六路波形
电机控制中需要产生三相六路SVPWM进行占空比与周期调制,怎么通过RTD-SDK的方式实现三相六路发波呢?本文记录一下实现方式。原创 2024-02-21 09:07:19 · 1902 阅读 · 14 评论 -
NXP实战笔记(三):S32K3xx基于RTD-SDK在S32DS上配置WDT配置
SWT 编程模型只允许 32 位(字)访问。以下任何尝试访问都是无效的:•非32位访问•写入只读寄存器•启用SWT时,将不正确的值写入SR•访问保留地址•未经允许的主机访问可以通过CR[RIA]控制SWT如何响应无效访问。SWT的寄存器基地址如下S32K3xx最多有2个SWT实例,每个CM7内核一个。它是一个32位倒数计时器,使系统能够从以下情况中恢复:-软件陷入循环-总线事务停止功能点:-选择定期或窗口服务-在初始化时选择重置请求或中断-选择固定或密钥服务序列。原创 2023-12-28 23:45:00 · 1283 阅读 · 4 评论 -
NXP实战笔记(二):S32K3xx基于RTD-SDK在S32DS上配置PIT与STM中断并反转IO
介绍NXP S32K3XX基于RTD-SDK进行PIT与STM进行定时配置的文章原创 2023-12-28 23:30:00 · 3408 阅读 · 1 评论 -
NXP实战笔记(一):基于RTD-SDK新建一个S32DS工程
安装了S32DS之后,导入SDK插件,这个步骤不赘述,网上指导性的文章很多,那么就可以直接利用SDK新建工程,实现简单的S32K3代码运行了。原创 2023-12-28 10:28:08 · 2209 阅读 · 0 评论 -
NXP应用随记(八):S32K3XX的HSE学习记录(HSE\MU\UTEST\IVT\A,B SWAP)
HSE,即硬件安全引擎(Hardware Security Engine),是NXP S32K312微控制器(MCU)中的一个功能,它提供了一系列的安全特性,包括加密、安全启动和密钥存储等。这些功能旨在增强汽车电子系统的信息安全,符合ISO26262标准,达到ASIL D安全等级。具体来说,S32K312的HSE支持AES-128/192/256加密、RSA、ECC等加密算法,以及侧通道保护,确保了数据传输和存储的安全性。原创 2024-05-31 07:30:00 · 7117 阅读 · 0 评论 -
NXP应用随记(七):S32K3XX复位与启动阅读记录
sBAF,或称为安全引导辅助固件(Secure Boot Assist Firmware),是NXP S32K3微控制器系列中的一个功能。它是一种固件,用于在微控制器启动时提供安全功能,如验证应用程序的完整性和真实性。这是确保系统安全的重要步骤,特别是在需要符合功能安全标准的汽车应用中。在S32K3系列中,如果主晶体出现故障导致设备复位,设备将以默认配置启动,并且默认的时钟源是FIRC(快速内部参考时钟)。因此,晶体故障不会影响看门狗在复位后的功能,看门狗计数器会从SIRC(慢速内部参考时钟)运行。原创 2024-04-26 07:30:00 · 5682 阅读 · 2 评论 -
NXP应用随记(六):S32K3xx的时钟与PIN简介
S32K3有五个时钟源1、快速内部 RC 晶振 (FIRC) – Default. (S32K312 -- 48M)2、慢速内部 RC 晶振 (SIRC)(S32K312 -- 32M)3、快速外部晶体振荡器(FXOSC)(S32K312 -- 32M)4、慢速外部晶体振荡器(SXOSC)(S32K312 -- 32.768K)5、锁相环(S32K312 --120M)时钟监控单元1、频率检查(CMU_FC)。2、频率计算(CMU_FM)。各个时钟的用途、是否开启、低功耗模式时候开启如下。原创 2023-12-19 23:30:00 · 4689 阅读 · 0 评论 -
NXP应用随记(五):eMios功能点阅读随记
配置工具提供五个RTD的eMios实现驱动应用。eMios的为控制库,也就是MCALeMios的GPT模块eMios的输出比较单元eMios的PWMeMios的IC需要注意的:如果想使用其他四个派生程序,则必须在项目中添加Emios_Mcl_Ip。每个eMIOS RTD模块都有自己的Irq函数,您可以为应用程序设置一个回调函数。所有处理程序项都在Mcl Irq文件中分配。原创 2023-12-17 00:30:00 · 1030 阅读 · 4 评论 -
NXP应用随记(四):eMios阅读随记-整体功能概述
eMIOS模块的主要特性是:− 24个UCs(统一通道)分布在本地计数总线上。− 由UC23驱动的全局计数器总线A。− 由UC22驱动的全局计数总线F。− 通过计数器总线共享的同步时基。− 每个通道的专用时基,与计数器总线不同− 全局时钟预分频器(GCP)− 每通道一个CP− 为每个UC设置专用的控制和状态寄存器− 16位宽数据寄存器− 影子标志寄存器(GFLAG)通过一次读访问访问所有通道标志:备注不是特别清楚这个寄存器到底是干嘛的。− 为调试目的冻结UC状态的能力。原创 2023-12-15 17:31:38 · 1581 阅读 · 0 评论 -
NXP应用随记(三):S32K3xx RTD资源细节科普随记(RTD架构、RTD组成部分、RTD安装、RTD例程、新建RTD工程等)
S32K3xx的Real-Time-Drivers包含了什么,软件架构组成部分,如何安装RTD与S32DS,如何实现Demo的建立,如何新建工程等原创 2023-12-14 11:00:55 · 2744 阅读 · 1 评论 -
NXP应用随记(二):S32K3xx内存随记
CM=Tightly Coupled Memory,是一种高速缓存,据说是被直接集成在CPU芯片中。有两种TCM,分别是ITCM(Instruction TCM)和DTCM(Data TCM)。ITCM是cortex内核中指令传输总线,DTCM是cortex内核中数据传输总线。是cpu内核同flash及sram之间传输指令和数据的通道,指令的取指和执行及数据的读写在性能及管理上存在差异性,因而需要予以区分。由于是高速缓存,所以这两块内存区域被当做特殊的用途。原创 2023-12-13 13:55:41 · 2188 阅读 · 0 评论 -
NXP应用随记(一):S32K3xx手册阅读随记
核心和平台:跨S32K3系列的Arm®Cortex®-M7核心,用于软件重用安全性:HSE B横跨S32K3系列安全性:ISO 26262 ASIL D和ASIL B在S32K3系列中完全兼容内存:512kb - 8mb的S32K3,可扩展到128kb的S32K1封装:BGA / MaxQFP引脚兼容S32K3系列最高性能的Cortex-M处理器提供最佳的类整数,浮点和DSP性能。灵活的系统和内存接口,包括AXI, AHB,缓存和紧耦合存储器(TCM)。引入知识点:哈弗与冯诺依曼结构区别。原创 2023-12-11 18:32:46 · 5521 阅读 · 0 评论