NXP应用随记(三):S32K3xx RTD资源细节科普随记(RTD架构、RTD组成部分、RTD安装、RTD例程、新建RTD工程等)

2023-12-14 11:32:56

目录

1、S32K3软件实现概述

2、实时驱动(RTD)体系结构概述

3、S32DS和S32K3的RTD安装指南

4、实时驱动(RTD)的S32K3示例项目


1、S32K3软件实现概述

????????从上图可以看出,NXP的软件分为标准软件与附加软件,附加软件需要单独购买,标准软件可以下载类似于MCAL或者RTD这种,编译器可以使用免费的S32DS。

较为灵活的软硬件提供如下

????????特别关注Real-Time Software,针对Arm?Cortex?-M核心的mcu单个封装用于每个S32 MCU或处理器适用于AUTOSAR和非AUTOSAR系统。

? ? ? ? 增强点:

????????·所有软件层都符合ISO 26262标准
????????·AUTOSAR功能(如多核、用户模式)也扩展到非AUTOSAR环境(以前仅适用于AUTOSAR)
????????·AUTOSAR和AUTOSAR的完整IP和功能覆盖
????????·平台级中间件(用于EEP的FATFS)的可能集成;?从MCAL和堆栈(LIN, NFC, TCIP,…)派生的FLS的费用
????????·具有默认配置的驱动程序示例

下图有种一锅炖的感觉

2、实时驱动(RTD)体系结构概述

1、MCAL?

基于(和增强)前MCAL环境的高级接口

2、SDK

基于(和增强)旧SDK环境的低级接口(LLI)

1、汽车级和生产就绪:符合SPICE/CMMI Level 3标准,MISRA 2012测试。

2、完整的驱动程序提供:-所有MCU外设的低级驱动程序:柔性、可折叠、可折叠、可折叠等。
—可选中间件:LIN、TCP/IP、NFC-互补NXP ic的驱动程序:例如SBC

3、FreeRTOS操作系统?

4、集成NXP S32设计工作室(S32DS) IDE和第三方IDE: KEIL, GHS Multi, IAR

5、支持多种工具链:GCC, GHS, IAR

6、文档源代码,示例,食谱和演示快速启动应用程序,使用拖放功能

3、软件

其他特定的软件包和配置工具
可选择一种配置工具进行开发:EB tresos或S32配置工具(S32CT)
→旨在开发具有AUTOSAR功能的S32CT

两者都提供堆栈和库
AUTOSAR和非AUTOSAR上下文。
可插接:-高级接口(AUTOSAR兼容)-低级接口

演示应用程序代码可用于:
-提供库和堆栈-高级接口(AUTOSAR兼容)层-低级接口层

RTD的错误检测和报告机制是为目标应用程序类型量身定制的:

HL_API:

????????对于主要用于AUTOSAR应用的高级层,错误管理遵循DET和DEM的标准规范。RTD提供了这些AUTOSAR模块的“存根”实现,可由客户应用程序使用或覆盖。

????????组成AUTOSAR兼容的HL API的大多数API返回Std_ReturnType (E_OK/E_NOT_OK)。
然后可以通过调用DEM/DET中的专用api来检索特定的错误。

????????提示:总是使用DET报告开发错误;运行时可以使用DEM或DET报告,这取决于它们对应用程序完整性的影响。

IP API
IP层报告的错误仍然分为两类:

????????开发错误:通常是参数检查,但不仅如此,这些错误使用DevAssert函数检查;如果检测到错误,这将在默认实现中停止程序执行。DevAssert函数的默认行为也可以被应用程序覆盖。这种机制几乎与旧SDK中的DEV_ASSERT功能相同,唯一的改进是这些语句现在为每个驱动程序单独启用/禁用,而不是SDK方法,其中这是一个全局配置(检查下图)。

????????运行时错误:与SDK相反,在SDK中,驱动程序报告的所有运行时错误都分组在称为status_t的通用枚举中,RTD定义了每个驱动程序的一组运行时错误。这些错误的命名约定是<IP_Name>_Ip_StatusType,如下例所示:

????????每个驱动程序定义一组可以由受控IP报告的错误;这些错误既可以被在IP层之上实现的非autosar应用程序用于检索驱动程序的状态,也可以进一步馈送到上层的高级状态机。

????????配置数据文件现在按照更细粒度的方法进行拆分,以确保能够独立使用IP驱动程序。

????????从功能的角度来看,程序中需要的所有数据AUTOSAR应用程序将通过HLD文件导出,因此应用程序流中没有任何更改。

那么 RTD与MCAL各包含什么呢?如下图

IP也就是drivers 、? Real Time Driver包含了MCAL,不过下面时安装RTD的时候下面就会出现了。

????????RTD提供抽象/标准化接口和HW专用接口(由IPL接口导出)。这两种接口类型是互斥的,不能同时使用(简单的例子就是flash)。

根据上层想要使用的上下文,必须使用特定的接口:

3、S32DS和S32K3的RTD安装指南

--用你的电脑登录

--下载安装包

NXP软件下载链接icon-default.png?t=N7T8https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D

--下载S32DS与RTD的安装包

--S32DS以及支持包的安装

第一步:安装? “S32DS.3.4_b201217_win32.x86_64.exe”

第二步:License Keys => Activation Code.

第三步:在S32DS3.4中安装“S32 Design Studio 3.4离线使用开发包,支持S32K3系列”;
?安装完成后,打开S32DS3.4,进入“帮助=>安装新软件”

第四步:寻找可用的软件

下拉菜单

选择:S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_3.4

第五步:选择S32DS的S32K3xx开发包

选择 S32DS S32K3 development package 3.4.1 并点击下一步。

第六步:安装S32K3XX的开发包

选择Update my installation to be compatible with the items being installed并点击下一步。

现在您可以查看安装细节了。单击Next

接受许可并单击Finish

--安装RTD

????????点击“Archive”按钮,在文件中查找SW32K3_RTD_4.4_1.0.0_DS_updatesite_D2110文件。记得我们从恩智浦官网下载了S32K3 RTD 1.0包

选择一个名称来标识这个新包。例如“S32K3 RTD 1.0”

记住选择SW32K3_RTD_4.4_1.0.0_DS_updatesite_D2110文件并单击“添加”

选择S32 Design Studio S32K3 RTD包并单击Next

现在您可以查看安装细节了。单击Next

接受许可并单击Finish

安装完成后,S32K3的RTD文件可以在以下路径中找到:

C:\NXP\S32DS.3.4\S32DS\software\PlatformSDK_S32K3_2021_10

4、实时驱动(RTD)的S32K3示例项目

? File → Import → General → Existing Projects into Workspace → Next

示例项目路径:

C:\NXP\S32DS.3.4\S32DS\software\PlatformSDK_S32K3_2021_10\SW32K3_RTD_4_4_1_0_0_D2110\Can_TS_T40D34M10I0R0\examples\S32DS
“examples\EBT” is for EB tresos example project and “examples\S32DS” is for S32DS example
建议选择“Copy projects into workspace”保存原始示例项目以供参考

File → New → S32DS Project from Example
选择RTD版本和示例项目

双击“mex”文件,打开SDK配置工具。

编译、调试配置、下载如下过程

4、实时驱动(RTD)的S32K3创建新项目

--、选择MCU S32K344设置项目名称。

--为新项目选择所需的RTD版本(“RTD_Dxxxx_xxxx”)。

--双击"。. mex”文件打开SDK配置工具

单击右上方的按钮可以在不同的配置工具和源代码编辑器之间切换。

文章来源:https://blog.csdn.net/weixin_43580890/article/details/134986733
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。