S32K3 工具篇3:如何安装EB Tresos RTD4_0_0 MCAL

S32K3 工具篇3:如何安装EB Tresos RTD4_0_0 MCAL
大家好,我是火山,一个从事嵌入式行业多年的菜鸟工程师,在此分享自己的S32K3学习历程!
前面学习了如何使用S32DS结合S32K3 RTD LLD,并且也通过不同的仿真器去调试了S32K344的板子。但是,对于S32DS和普通的MCU的区别很大一部分是它的MCAL EB Tresos的光环,久仰大名,但是没有试过,实在眼馋手痒,所以本人决定构建这个EB Tresos+RTD MCAL的平台,让我的MCAL也同步启动起来。
在这里插入图片描述

图 1

一, 相关软件下载

对于RTD MCAL+EB tresos需要下载的软件主要有:
RTD: SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311.exe
EB Tresos:EB tresos Studio 29.0.0 和它的附属文件
这里需要注意的是,建议先下载RTD,因为RTD的release note里面会规定它需要的EB Tresos的版本是多少。

1.1 RTD MCAL下载

这部分在之前的文章S32K3 工具篇1:新手如何安装S32DS RTD4_0_0,也粗略提到过。这里还是给出详细的下载步骤:
打开www.nxp.com->登录账户->找到右上角My account->software licensing and support->software account->看下面的图:
在这里插入图片描述

图 2

选择S32K3 Standard Software
在这里插入图片描述

图 3

在这里插入图片描述

图 4

在这里插入图片描述

图 5

下载图中的两个文件:

SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311.exe
SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311_ReleaseNotes.pdf

下载SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311_ReleaseNotes.pdf的目的是为了知道RTD MCAL SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311.exe配套的是什么版本的EB Tresos,打开release note查看:
在这里插入图片描述

图 6

可以知道,SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311.exe配套的是EB Tresos Studio 29.0.0.

1.2 EB Tresos Studio 29.0.0下载

回到图2的界面:
在这里插入图片描述

图 7

点击AUTOSAR MCAL/QM,进去:
在这里插入图片描述

图 8

在这里插入图片描述

在这里插入图片描述

图 9

点击 EB Tresos Studio 29.0.0,

在这里插入图片描述

图 10

下载上图中所有黄色的软件,还要记录下激活码。这里需要注意的是,如果你的浏览器下载图中的.uip变成了.gz,.zip,下载完成后,不要犹豫,直接把后缀改回.uip,最终效果要是这样的:

在这里插入图片描述

图 11

好了,到目前为止,所有的文件已经都下载好了,下面就开始安装了。
安装过程呢,需要先安装EB Tresos,然后再安装RTD MCAL,一定要注意顺序。

二, EB Tresos安装

右击,管理员模式安装图11中的setup.exe:
在这里插入图片描述

图 12

安装的时候,注意下路径,因为你可能因为不同的RTD版本去安装不同的EBT 工具,所以你的EBT安装路径标注下版本号:
在这里插入图片描述

图 13

然后下一步,直到安装完成。
安装完成之后,还需要注意要激活这个软件,所以还需要安装图11中的EB_Client_License_Administrator_1_5_1_Setup.exe
在这里插入图片描述

图 14

路径无所谓,默认就行了:
在这里插入图片描述

图 15

然后下面这个地方要注意下,选择为use license activation codes:
在这里插入图片描述

图 16

然后添加激活码,并且点击active:
在这里插入图片描述

图 17

添加完成后,可以发现是这样的:
在这里插入图片描述

图 18

到目前为止,这个EB Tresos就安装好了。!

三, RTD MCAL安装

找到之前下载的SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311.exe,右击使用管理员模式安装:
在这里插入图片描述

图 19

安装路径就默认就可以:
在这里插入图片描述

图 20

在这里插入图片描述

图 21

然后在出现的EB Tresos路径这个地方,选择之前安装好的EB Tresos路径,这个很重要。
然后安装,直到安装完成。

四, MCAL例程情况查看

RTD MCAL和EBT工具已经都装好了,然后就可以查看RTD MCAL的例程并且体验一下了。
在RTD MCAL安装路径:

C:\nxp\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins

可以看到很多的例程,随便打开一个,可以发现里面的example带有EB和S32DS两种:

在这里插入图片描述

图 22

EBT就是基于EB Tresos的工程,然后S32DS文件夹打开可以看到,就和之前S32DS导入RTD 例程一样,有两种,一种的带lp的lld代码,一种不带的ld的mcal代码。当然,如果用MCAL,建议还是用EBT的更加符合autosar标准。
下面以port例程为例:

C:\nxp\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Port_TS_T40D34M40I0R0\examples\EBT\S32K3XX\Port_Example_S32K344

首先需要配置下编译环境,你需要确认你的电脑是带有make工具的,如果没有,可以使用S32DS中自带的,但是需要给电脑的环境变量添加一下路径:

C:\nxp\S32DS.3.5_RTD400\S32DS\build_tools\msys32\usr\bin

在这里插入图片描述

图 23

然后在电脑环境变量里面添加,我的电脑->属性:
在这里插入图片描述

图 24

添加好环境变量之后。
需要回到RTD MCAL例程路径下面:

C:\nxp\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Port_TS_T40D34M40I0R0\examples\EBT\S32K3XX\Port_Example_S32K344

有两个文件要改:
check_build_params.mk
project_parameters.mk
对于project_parameters.mk,打开,然后修改三个变量的值:
在这里插入图片描述

图 25

也就是把GCC路径使用S32DS下面的工具,TRESOS路径使用新安装的EBT路径,PLUGIN要使用RTD MCAL的路径。
具体可以查看例程里面的readme.txt,说的很清楚。
对于check_build_params.mk,如果你不用劳德巴赫,建议把如下代码给删了:

ifeq ("$(wildcard $(T32_DIR)/bin/windows/t32marm.exe)","")
    $(error Invalid path set to Trace32. \
    The provided path: from project_parameters.mk T32_DIR=$(T32_DIR) is invalid!)
Endif

否则在project_parameters.mk里面配不配劳德巴赫的路径都报错,所以,索性先删了,后续使用劳德巴赫工具调试RTD MCAL的时候再说。

下面开始使用两种方式查看我们现有的RTD MCAL例程情况。

4.1命令行模式

方法很简单,因为我们上面已经配置过make的环境了。
所以只需要两个命令完成检查和编译:

make generate
make build

输入命令的方式,先在windows启动项里面打开cmd命令行,然后切换路径到目标例程路径下,比如:

C:\nxp\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Port_TS_T40D34M40I0R0\examples\EBT\S32K3XX\Port_Example_S32K344

在这里插入图片描述

图 26

检查完成之后的结果:
在这里插入图片描述

图 27

可以看到,没问题!
下面就开始编译吧,输入命令:make build
结果如下:
在这里插入图片描述

图 28

可以看到,已经能够成功的生成elf了,后续可以结合板子去调试这个工程可执行文件了。

4.2 体验EB Tresos打开RTD MCAL例程

启动项打开刚刚安装的EB Tresos Studio软件,准备导入一个RTD MCAL例程:
File->import
在这里插入图片描述

图 29

在下图中填入例程路径:

C:\nxp\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Adc_TS_T40D34M40I0R0\examples\EBT\S32K3XX\Adc_example_S32K344

在这里插入图片描述

图 30

勾选 copy projects into workspace, 然后Finish.
这么做的目的是为了拷贝一个新的工程,备份一下。
工程导入之后,双击 someId,然后就可以打开具体的外设块进行代码配置了:
在这里插入图片描述

图 31

到目前为止,可以看到EB Tresos也能做工程配置,并且导入RTD MCAL,说明RTD MCAL以及EB Tresos都安装正常了。后续会进一步加板子调试,并且做MCAL配置学习。

<think>好的,我现在需要帮助用户了解S32K3 EB的PWM功能。首先,我得确认用户提到的“S32K3 EB”具体指的是什么。S32K3是恩智浦(NXP)的汽车级微控制器系列,而“EB”可能代表评估板(Evaluation Board)。所以用户应该是在询问S32K3评估板上的PWM(脉宽调制)功能或配置方法。 接下来,我需要回忆一下S32K3系列MCU的PWM模块相关信息。S32K3通常使用eMIOS(增强型模块化输入输出系统)来处理PWM生成。eMIOS模块支持多种模式,包括PWM生成、输入捕获、输出比较等。对于PWM,用户可能需要配置通道的工作模式、周期、占空比等参数。 用户可能想知道如何在评估板上配置PWM,比如使用哪些引脚,如何初始化eMIOS模块,以及如何通过SDK或代码示例实现。此外,可能涉及到时钟配置,分频系数,占空比计算等问题。 需要确保回答结构清晰,分步骤说明。首先介绍S32K3的PWM模块,然后讲解硬件连接(评估板上的相关引脚),接着是软件配置步骤,比如使用MCAL配置工具或直接寄存器操作,最后可能给出代码示例或参考文档。 同时,需要注意用户可能对PWM的基础概念不太清楚,可能需要简要解释PWM是什么,以及它在汽车电子中的应用,比如电机控制、LED调光等。 另外,用户可能在使用过程中遇到问题,比如PWM信号不稳定,占空比不正确,或者频率不匹配。这时候需要提醒常见问题排查步骤,比如检查时钟源、分频设置、占空比寄存器值是否正确,或者是否存在引脚复用冲突。 还要考虑用户使用的开发环境,比如S32 Design Studio,以及是否使用NXP提供的SDK或MCAL库。这些工具会影响配置的具体步骤,可能需要指导用户如何利用配置工具生成初始化代码。 最后,确保回答符合之前的系统级指令,数学公式用$...$,独立公式用$$...$$,并且用中文,结构清晰。可能需要涉及一些公式,比如PWM频率的计算公式:$$f_{PWM} = \frac{f_{clock}}{(Prescaler + 1) \times (Period + 1)}$$,其中$f_{clock}$是模块时钟频率,Prescaler是分频系数,Period是周期值。 总结回答的结构应该是: 1. S32K3的PWM模块简介(eMIOS) 2. 硬件连接(评估板上的PWM引脚) 3. 软件配置步骤(时钟、eMIOS通道模式、周期和占空比设置) 4. 示例代码或配置工具使用 5. 常见问题及解决方法 6. 应用场景 需要验证这些信息是否准确,比如eMIOS在S32K3中的具体模块名称,评估板的默认PWM引脚,SDK版本是否支持相关功能等。如果有不确定的地方,可能需要查阅NXP的官方文档或用户手册,确保回答正确可靠。</think>以下是关于S32K3评估板(EB)PWM功能的逐步说明: --- ### 1. **S32K3的PWM模块简介** S32K3系列MCU通过**eMIOS(增强型模块化输入输出系统)**生成PWM信号。eMIOS支持多种模式,包括: - **PWM输出**(模式OPWMB或OPWMC) - **周期和占空比独立可调** - **中央对齐/边沿对齐**模式 - **硬件触发同步**功能 关键参数公式: $$f_{PWM} = \frac{f_{clock}}{(Prescaler + 1) \times (Period + 1)}$$ 其中: - $f_{clock}$:eMIOS模块时钟频率(如160 MHz) - $Prescaler$:分频系数(0~255) - $Period$:周期寄存器值 --- ### 2. **硬件连接** 在S32K3评估板上: - **默认PWM引脚**:查看原理图中标记为`eMIOS_CHx`的引脚(例如`PTD14`对应eMIOS通道0)。 - **示波器测量**:需连接示波器探头至目标引脚与GND。 --- ### 3. **软件配置步骤(以NXP MCAL为例)** #### 步骤1:配置时钟 - 使用**Clock Manager**设置eMIOS时钟源(如系统时钟分频后为160 MHz)。 #### 步骤2:初始化eMIOS通道 - 选择通道工作模式为**OPWMB**(边沿对齐)或**OPWMC**(中央对齐)。 - 配置参数: ```c Emios_Pwm_Ip_ConfigType pwmConfig = { .prescaler = 0, // 分频系数 .period = 999, // 周期值(对应100 kHz,若时钟160 MHz) .dutyCycle = 500, // 占空比50%(500/1000) .polarity = EMIOS_PWM_IP_ACTIVE_HIGH // 极性 }; ``` #### 步骤3:启动PWM ```c Emios_Pwm_Ip_InitChannel(EMIOS_GROUP0, EMIOS_CHANNEL_0, &pwmConfig); Emios_Pwm_Ip_SetDutyCycle(EMIOS_GROUP0, EMIOS_CHANNEL_0, 750); // 动态调整占空比为75% ``` --- ### 4. **示例代码片段** ```c #include "Emios_Pwm_Ip.h" void PWM_Init(void) { Emios_Pwm_Ip_ConfigType pwmConfig; pwmConfig.prescaler = 0; pwmConfig.period = 999; // 周期 = (999 + 1) = 1000 ticks pwmConfig.dutyCycle = 500; // 占空比50% pwmConfig.polarity = EMIOS_PWM_IP_ACTIVE_HIGH; // 初始化eMIOS通道0 Emios_Pwm_Ip_InitChannel(EMIOS_GROUP0, EMIOS_CHANNEL_0, &pwmConfig); } ``` --- ### 5. **常见问题排查** - **无信号输出**: - 检查引脚复用配置(是否使能eMIOS功能)。 - 确认时钟源是否启用。 - **频率偏差**: - 重新计算分频系数与周期值。 - 检查时钟树配置(PLL分频是否正确)。 - **占空比异常**: - 确保占空比值 ≤ 周期值。 - 检查极性设置(高电平/低电平有效)。 --- ### 6. **典型应用场景** - **电机控制**:调节直流电机转速。 - **LED调光**:控制亮度通过PWM占空比。 - **电源管理**:开关电源的稳压控制。 --- 如需进一步调试,可参考: - **NXP官方文档**:[S32K3参考手册](https://www.nxp.com/docs/en/reference-manual/S32K-RM.pdf) - **S32 Design Studio**:使用GUI工具快速生成配置代码。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值