NXP应用随记(三):S32K3xx RTD资源细节科普随记(RTD架构、RTD组成部分、RTD安装、RTD例程、新建RTD工程等)
目录
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软件下载链接https://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配置工具
单击右上方的按钮可以在不同的配置工具和源代码编辑器之间切换。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!