NXP S32K3 RTD-MCAL快速引导

14 篇文章 349 订阅
1 篇文章 5 订阅

作者:Stephen Du

免责声明: 本文为个人学习笔记及总结,仅代表个人观点,尽可能保证内容准确性。复制/转发请注明来源/作者。

欢迎添加微信交流学习。

在这里插入图片描述


前言

NXP官网最近发布了其最新一代GPIS芯片:S32K3系列。这是继S32K家族S32K1系列之后的升级系列,在各方面都有较大提升,见下描述(来源于官网):

S32K3系列包括基于Arm®Cortex®-M7的可扩展32位MCU,支持ASIL B/D安全应用的单核、双核和锁步内核配置。这些功能包括带有恩智浦固件的硬件安全引擎,对无线固件更新(FOTA)的支持并为AUTOSAR®和非AUTOSAR免费提供符合ISO 26262的实时软件驱动程序。S32K3 MCU采用恩智浦的新型MaxQFP封装,与标准QFP封装相比,可减少多达55%的封装占用。

详情请见该链接
根据其介绍得知,伴随其K3芯片一起发布的还有配套的驱动软件。驱动软件命名为RTD。该软件同时兼容AUTOSAR及以前的SDK风格代码。也就是现在只有一套代码啦。重点是免费,免费,免费。是AUTOSAR代码也免费啦。不光是工具链。
本文将带领大家快速搭建开发环境并运行官方提供的配套示例工程。

1. 前期准备

本文假设你使用S32DS自带的编译器来编译相关工程,调试器使用PE,调试环境使用S32DS。如果你使用其他第三方编译器,请根据本文思想自行解决或联系我。部分工程对应的makefile可能不支持其他编译器,可以查询其他模块,参照支持的模块进行修改适配。比如CAN模块的脚本里面支持GHS编译器,而ADC模块默认没配置GHS。

1.1 下载安装

由于该芯片刚推出,这些资源并非完全开放(可能只有一些大客户可获取),所以这里没有下载链接,请联系NXP相关人员(Sales)获取。我默认你已经拿到相关资源并且已安装好。本文默认你已经具备一些基础能力,比如验证环境安装没问题等(比如打开EB Tresos Studo并成功创建Workspace等)。因为安装过程和其他产品类似,并没有特殊要求,如果你的确不清楚,请参照我之前写的其他产品的安装手册,比如S32K1系列。

你需要安装的资源列表如下(如果你安装的时候已经有更新的安装包,请安装新的版本):

  • EB Tresos Studio 27.0.1
  • SW32K3_RTD_4.4_0.8.0
  • S32 Design Studio for S32 Platform 3.3

注意:EB Tresos Studio的版本需要和MCAL安装包的Release note文档里面提及的版本保持一致。

强烈建议你保持默认路径安装。

1.2 更新调试器(PEMicro)驱动

在这里插入图片描述

如上图所示,打开S32DS,找到Help菜单,点击下面的Install New Software...选项。

在这里插入图片描述

如上图所示,在弹出的窗口中,第一个输入框(Work with:)右侧下拉框找到

PEMicro - http://www.pemicro.com/eclipse/updates网站链接并选择。选择后需要将这个网址改一下,由原来的http改为https,否则会由于连接不上网站报错。修改后如下图所示。

在这里插入图片描述

修改好网址后点击回车按钮就可,如果有更新,稍等片刻便会出现更新列表,如下图所示。

在这里插入图片描述

根据上图所示选择我们需要更新的安装包,这里可以看到该更新包比较新(版本为2020年9月,本月刚发布)。推荐安装最新版本。点击Next按钮进行安装。接下来就和我们平时安装软件一样,如下系列图示。根据网络情况不同,安装过程可能会比较久。

在这里插入图片描述

在这里插入图片描述

2. 修改脚本

S32K3xx的RTD软件为每个软件模块都提供了示例工程,位于安装目录下每个模块文件夹下面的examples文件夹下面。如果你是默认安装,以ADC模块为例,则位于下面所示路径:C:\NXP\SW32K3_RTD_4.4_0.8.0_P01\eclipse\plugins\Adc_TS_T40D34M8I0R0\examples

该文件夹下面有两个文件夹,分别为EBTS32DS。EBT即为我们MCAL的工程。继续打开EBT文件夹,进入Adc_Example_001文件夹。这就是真正的项目根目录文件夹。如果后文提及项目根目录则指:

C:\NXP\SW32K3_RTD_4.4_0.8.0_P01\eclipse\plugins\Adc_TS_T40D34M8I0R0\examples\EBT\Adc_Example_001。其他模块类似,都在自己模块相应路径下。

部分模块可能文件夹层级不太一样,但我想你应该能区分到底是不是项目根目录。它里面的内容大概包括如下图所示内容:

在这里插入图片描述

项目根目录里面有一个readme.txt文件,建议你开始前阅读该文件,了解一些基础信息。该文件里也描述了修改脚本等相关内容,但部分地方有误,请以本文为准。out文件夹是编译的时候自动生成。

接下来进入正题,修改脚本。打开项目根目录下的project_parameters.mk文件。修改下面三个变量的值(假设你是默认安装):

GCC_DIR = C:/NXP/S32DS.3.3/S32DS/build_tools/gcc_v9.2/gcc-9.2-arm32-eabi
TRESOS_DIR = C:/EB/tresos_27.1.0
PLUGINS_DIR = C:/NXP/SW32K3_RTD_4.4_0.8.0_P01/eclipse/plugins

其中第三个PLUGINS_DIR的值部分模块的readme.txt文件描述有误,readme文件里面写的是EB安装路径下的plugins文件夹,但这里实际应该是我们RTD/MCAL安装包的plugins文件夹路径。如果保持默认安装应该为本文上面所示路径。

如果你调试器是使用劳德巴赫,则config.t32文件根据readme文件所述进行修改;如果使用PE,则可忽略。

3. 生成配置代码

脚本修改完后,首先我们需要生成配置代码,这里我们不用打开EB Tresos Studio软件。当然你通过打开EB Tresos工具并按照平时我们导入工程,然后生成代码这个步骤肯定是可以的。这里介绍的是更为简洁的流程,因为我们的示例工程已经给我们配置好了。

首先需要检查一下你是否安装了make工具链,方式为打开命令行窗口(cmd.exe),输入:

>make

如果提示不能识别该命令,则说明没有安装,你可以选择安装主流的make工具,比如cygwin或者mingw等。实际上我们S32DS工具链中也自带了make系列工具,我们只需要将对应的路径添加到环境变量里面即可。

拷贝该路径:C:\NXP\S32DS.3.3\S32DS\build_tools\msys32\usr\bin并添加到系统环境变量即可。如何添加系统环境变量请自行百度补习。如果你安装了其他make工具(如上所述),则将相关工具链对应的bin文件夹路径配置到环境变量里。

验证好make工具链没问题后,我们开始生成配置代码,在工程根目录下允许命令行窗口(cmd.exe),输入:

>make generate 

上面省略了前面的路径,如果默认安装路径,如下图所示:

在这里插入图片描述

生成完成后,会提示有没有错误,如下图所示:

在这里插入图片描述

4. 编译

和步骤3一样,在项目根目录下允许命令行窗口(cmd.exe),输入:

> make build

如下图所示:

在这里插入图片描述

同样,它会提示编译有没有错,如果没错,则会在项目根目录下的out文件夹里面生成对应的elf文件。

在这里插入图片描述

在out文件夹里面搜索main.elf,检查是否生成。

5. 设置调试目标

到现在为止,我们已经生成好elf文件了,接下来就是调试。我们使用S32DS。打开S32D,我们不用建立工程,只需要新建一个调试目标即可。根据下图打开调试配置窗口。(如需新建工程,请跳过本章

在这里插入图片描述

如果你已经在你的目标板上调试过其他工程,可以直接复制一个调试目标,然后进行修改。如下图:

在这里插入图片描述

选择Duplicte,然后重命名为test(上图中的test就是这样的来的),然后只需要将Main窗口里面的elf文件路径配置到我们工程的路径即可开始调试,如下图所示。

在这里插入图片描述

如果你没有,则在上图中选择New,新建一个调试目标,然后同样按照上图所示设置elf路径。还需要切换到Debugger标签页,设置Executable。其默认为空,拷贝下面命令到相应输入框:

${S32DS_K3_ARM32_TOOLCHAIN_DIR}/bin/${arm32_cross_prefix}gdb${arm32_cross_suffix}

如下图所示:

在这里插入图片描述

检查该页上面的调试器接口及芯片型号,如果不对,重新选择好即可,如下图:

在这里插入图片描述

然后你就可以开始下载调试了。

到此处已结束,下面章节可以不用看了。

6. 新建工程

如果你非要新建工程也可以,建一个空的工程即可,不用选择SDK,选择好芯片型号,然后设置好调试器即可。这样调试目标会自动帮我们建好。如下列图示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

工程创建好了,然后去设置调试目标,如下图:

在这里插入图片描述

然后在弹出的窗口中左侧展开GDB调试接口,会发现自动帮我们创建好了4个调试目标,选择其中一个(通常我们时Debug_FLASH),如下图所示:(这里就不说这4个的区别了,名称已经说明一切。)

在这里插入图片描述

然后在上图3处浏览你项目生成好的elf文件即可。然后点击Debug开始调试。

  • 10
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值