S32K3学习笔记_01_MCAL的使用和环境搭建

本文介绍了NXP的S32K3芯片开发,包括使用S32DS进行SDK开发和EBtresos进行MCAL开发的流程。详细讲解了从下载安装包,配置开发环境,到使用EB配置MCAL并生成代码,以及编译调试的步骤。同时提到了RTD(Real-TimeDrivers)的作用,它是MCAL和SDK的集成,为开发者提供了统一的底层代码库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

S32K3学习笔记_01_MCAL的使用和环境搭建

1、S32K3的简介

最近PDU项目中用到了NXP的S32K312芯片,把学习笔记记录下来,欢迎纠错,主要参考小猫爪的博客、芯片手册S32K3xxDS.pdf、参考手册S32K3XXRM.pdf。

1.1、开发环境的介绍

S31K312可以使用S32DS进行SDK方式的开发,EB tresos进行MCAL开发

EB tresos可以为MCAL开发提供图形化配置界面,而S32DS则为SDK开发提供图形化配置界面。

1.2、开发流程

1.2.1、SDK开发流程

在S32DS配置外设
在S32DS编译
在S32DS中调试
使用其他调试工具

1.2.2、MCAL开发流程

在EB配置MCAL
使用编译器编译
在S32DS中调试
其他调试工具

2、下载安装包及软件包

2.1、登录注册

S32K312的开发工具及软件包都是从恩智浦(NXP)的官网下载,地址:https://www.nxp.com/

2.2、搜索安装包

需要下载三样东西:

RTD是什么,Real-time Driver,在S32K1时代,MCAL和SDK是两套不同的软件包,但是到了S32K3,就把两者集成了一下,MCAL和SDK共用一套代码,也就是RTD,意思其实就是这两个软件包里面的底层代码都是一样的。简单的来说,现在K3的MCAL就是在SDK的底层基础上封装了一层符合AUTOSAR标准的接口层。

2.2.1、搜索S32K3 Standard Software

注册登录后,需要搜索S32K3 Standard Software ,如图所示点击S32K3 Standard Software :
在这里插入图片描述

2.2.2、下载需要的软件

如下图,点击以下三个下载链接

在这里插入图片描述

2.3、S32 DS下载及安装

2.3.1、S32 DS的下载

下载X86 Win64的版本
在这里插入图片描述
在这里插入图片描述

当然也可以下载最新的安装包,本次只作演示。注意下载时需要记住对应版本的License Keys,安装时使用
在这里插入图片描述

2.3.2、S32 DS的安装

  • 安装S32DS就非常简单了,一直下一步即可,这里不做描述了。
  • 安装完成后还需要安装S32K3的补丁软件支持包,点击Help->Install New Software后将前面下载的K3支持补丁包Add后,选中所有后点击Next即可

2.4、EB Tresos的下载及安装

2.4.1、EB的下载

可以任意选择EB的版本,这里我选则的29.0.0版本
在这里插入图片描述

注意:下载时需要记住激活码,安装时使用,如下图所示
在这里插入图片描述

2.4.2、EB的安装

下载EB tresos的时候可能会出现浏览器把后缀uip改成了gz的情况,将其修改回uip即可。点击setup.exe,一直next即可。
在这里插入图片描述

注意:需要记住其安装路径,后续安装MCAL会用到会用到。

2.4.3、EB的激活

安装完成后,点击EB_Client_License_Administrator_1_4_1_Setup.exe安装激活工具。然后打开激活工具,将之前保存的激活码添加到激活工具中,这样EB tresos就可以正常使用了

(注:激活码为试用版,不能用于项目正式量产,请联系EB购买正式license)。

在这里插入图片描述

2.5、MCAL(sdk)的下载及安装

2.5.1、MCAL的下载

对于RTD就下载最新的就好了,这里我选择是3.0.0。

第一个是安装包,第二个SDK软件包,下载即可

在这里插入图片描述

2.5.2、MCAL的安装

点击SW32K3_RTD_4.4_R21-11_3.0.0_D2303.exe安装MCAL(SDK),一直Next,直到这一步,将上一步安装的EB tresos的安装路径填进去即可

在这里插入图片描述

3、SDK开发实例

3.1、SDK包安装

打开S32DS后,点击Help->Install New Software后将前面下载的SDK软件包Add后,选中后点击Next,如下图所示:

在这里插入图片描述

3.2、导入一个Demo

点击File->New->S32DS Project From Example, 选取一个Demo:

在这里插入图片描述

可以打开mex文件,打开S32DS的图形化可配置界面进行配置:

3.3、新建SDK工程

第二种方式直接新建一个工程,具体操作如下,点击File->New->S32DS Application Project,选择芯片型号:

在这里插入图片描述

然后点击next,选择对于的SDKs

在这里插入图片描述

选择正确的SDK后,点击Finish,就新建成功了,可以用来调试和编译了。

可以选择打开刚才新建的工程,进行相关的图像配置。
在这里插入图片描述

问题:如果下载的是最新版本的SDK软件包,出现编译会失败,大概率是安装的工具链与SDK软件包的版本不匹配导致的。

解决方法:点击help->check for update,更新S32DS的工具链就能解决了

4、MCAL开发实例

4.1、MCAL软件包组成

找到安装的MCAL(RTD)目录。打开eclipse\plugins文件夹,就会看到很多外设例子,打开一个例子:

在这里插入图片描述

各个文件夹内容描述如下:

名称描述
autosar epd文件
configEB配置模板文件
doc 当前外设MCAL的Integration Manual和User Manual
examples EB tresos工程Demo和S32DS工程Demo
generate_PB PostBuild版模板源文件和头文件
generate_PC PreCompile版模板源文件和头文件
generate_swcd不太了解
include当前外设MCAL驱动的头文件---需要移植
META-INF存放一些meta information相关的文件
src当前外设MCAL驱动的源文件---需要移植

​ 再点击打开examples/EBT,文件目录如下图:

在这里插入图片描述

各个文件夹内容描述如下:

名称描述
debug 调试脚本
generateEB tresos生成的代码,其中的src和include---需要移植
include MCAL配套Demo的头文件
out 编译生成的.o文件以及elf可执行文件
src MCAL配套Demo的源文件
TresosProject EB工程文件
MakefileMCAL配套Demo的Makefile
project_parameters.mkMakefile的包含文件,注意包含一些路径,配置信息

再打开其中的TresosProject文件夹:其中config文件夹里面就包含了当前EB工程的xdm配置文件。

所以当使用EB配置完所有的外设MCAL后,只需要把以下的文件中的源文件和头文件移植到自己的工程中就可以了,分别是:

  • 所有使用到外设MCAL的源文件和头文件,
  • EB生成源文件和头文件

在上面的表格中,作了标记需要移植字样。

4.2、通过EB配置MCAL并生成代码

在MCAL的实例代码文件夹eclipse\plugins\Pwm_TS_T40D34M30I0R0\examples中,包含为EBT 及S32DS。其中EBT即为MCAL的工程,其中不仅包含了EB tresos的工程,还包括了配套的demo,下面就以其中PWM的例子做示范。

在这里插入图片描述

打开EB,并点击File->Import,点击next
在这里插入图片描述

然后找到相应的MCAL工程路径,选取自己想要的demo后,点击Finish

在这里插入图片描述

之后就是对MCAL进行配置,点击生成代码按钮,就可以生成相应的MCAL代码了。
在这里插入图片描述

如果想修改代码的存储位置,如下图所示:

在这里插入图片描述

注意:需要使用RTD里面的makefile和配套的MCAL demo的话,修改路径会导致无法通过编译。

4.3、编译配套的MCAL Demo

首先编辑一下examples\EBT\S32K3XX\Pwm_example_S32K344路径下project_parameters.mk脚本文件,修改一下其中的相关路径信息

在这里插入图片描述

主要修改以下三个路径:

  • TRESOS_DIR:EB tresos的安装路径
  • GCC_DIR:编译器的路径
  • PLUGINS_DIR:MCAL的安装路径

接下来再把编译工具链路径添加到环境变量中,具体路径如下:

D:\soft\NXP\S32DS\S32DS\build_tools\msys32\usr\bin

在这里插入图片描述

接下来就可以进行编译调试了

参考链接

以上内容是学习或者转载摘录小猫爪博客,原文链接:

小猫爪:S32K3学习笔记01-S32K3 RTD【MCAL&SDK】的使用和环境搭建

对于S32K3系列的I2C配置,可以参考S32K3的官方示例使用文档。在S32K3系列中,I2C是一种常用的串行通信协议,常用于连接微控制器外部设备,如传感器存储器等。通过I2C总线,可以实现多个设备之间的通信。 你可以先了解S32K3系列的特点资源,然后深入学习各个外设模块的使用,包括I2C。可以查阅S32K3系列的官方文档示例,这些资料可以帮助你了解I2C在S32K3系列中的配置使用方法。可以参考S32 Design Studio开发环境使用文档,了解如何在该开发环境中进行I2C的配置编程。 此外,还可以参考S32K3系列的MCAL配置示例,特别是与I2C相关的示例,以便更好地理解I2C的配置使用。通过努力学习I2C的相关知识S32K3系列的MCAL配置示例,你可以掌握S32K3系列的I2C配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【S32K 学习笔记S32K3介绍](https://blog.csdn.net/weixin_44712171/article/details/124190407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [小猫爪:S32K3学习笔记02-S32K3之FlexCAN](https://blog.csdn.net/Oushuwen/article/details/120311785)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值