作者:Stephen Du

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

欢迎添加微信交流学习。


文章目录

  • 前言
  • 1. 前期准备
    • 1.1 下载安装
    • 1.2 更新调试器(PEMicro)驱动
  • 2. 修改脚本
  • 3. 生成配置代码
  • 4. 编译
  • 5. 设置调试目标
  • 6. 新建工程

前言

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开始调试。

NXP S32K3 RTD-MCAL快速引导相关推荐

  1. 【S32K3】MCAL和SDK环境搭建、问题描述及解决

    [S32K3]MCAL和SDK环境搭建及问题记录 1.概述 本文用来简单记录安装流程.问题及解决方案,具体的流程在其他的博客上都很详细,不再赘述,以下是博客链接,可以参考S32K3 RTD MCAL ...

  2. fastboot 快速引导模式 介绍

    高通 fastboot 是一种快速引导模式,用于在高通芯片上进行系统刷机.它可以让开发者在没有安装操作系统的情况下,直接在芯片上运行代码,从而快速实现对芯片的调试和测试.Fastboot 可以将新的固 ...

  3. fastboot快速引导模式 介绍

    fastboot 快速引导模式 介绍 Fastboot 是一种在 Android 设备上启动引导程序的方式.通过 Fastboot,您可以在设备的引导分区中刷入镜像文件.格式化分区.解锁引导加载程序等 ...

  4. 快速引导滤波python-opencv

    # -*- coding: utf-8 -*- import cv2 import numpy as np import sysdef integral(image):rows,cols = imag ...

  5. NXP S32K3 用PIT的RTI定时器来唤醒MCU

    1.背景: 对于一些特殊场景,我们可能需要在休眠后一定时间内唤醒.比如在休眠的过程中收到一个事件,这个时候已经在跑休眠的流程了,无法停止,我们只能记录这个事件,待休眠结束后再唤醒MCU. 本文以S32 ...

  6. 快速引导滤波原理详解(fast guided filter)

    符号标记 q : 输出图像 p : 输入图像 I : 引导图 a k , b k : 线性变换模型 r : 滤波半径 s : 下采样因子 q: 输出图像 \\[2ex] p: 输入图像 \\[2ex] ...

  7. 小猫爪:S32K3学习笔记01-S32K3 RTD【MCALSDK】的使用和环境搭建

    S32K3学习笔记01-S32K3 RTD[MCAL&SDK]的使用和环境搭建 1 前言 2 准备工作 3 安装 3.1 安装EB Tresos 3.2 安装MCAL 3.2 安装S32DS ...

  8. S32K3 GPIO/DIO 中断 使用介绍 —— 基于MCAL

    文章目录 缩写说明: Mcal使用注意 DIO简介 基本特性 Channel group简介: Dio的EB tresos配置 port模块配置 Dio Module配置 General DioPor ...

  9. 如何让一个应届毕业生快速成长?

    每家大公司每年都会有校招计划,而这些毕业生从学生到职业人的转变,需要一些过程.从毕业生的角度,让他们能够更快地融入工作中,施展拳脚,这也是他们希望做的事:对企业而言,希望能够让一个技术能力和业务能力均 ...

  10. Spring MVC 4快速入门Maven原型得到了改进–更多Java 8功能

    对于所有有兴趣在没有Spring Boot的情况下快速引导Spring 4应用程序的开发人员,请检查刚刚更新的我的Spring MVC 4 Quickstart Maven原型. 原型已经将Java ...

最新文章

  1. flex 单独一行_Flex网页布局一CSS弹性伸缩盒子语法教程
  2. vue keep-alive解决关闭标签动态缓存问题
  3. 2013工资新规定,未来的八种人将会被淘汰!
  4. laravel修改storage目录和bootstrap目录
  5. 处理训练集和测试集分布同的方法(对抗训练)
  6. Gtk与Cuda混合编程
  7. object转成实体对象_面向对象的TypeScript-序列化与反序列化(1)
  8. 自考运筹学第三章课后题
  9. linux安全策略加固文档_系统加固之Linux安全加固
  10. 商鞅(约公元前395年-公元前338年)
  11. 关于华为P10(Android 8.0系统)出现的一个莫名奇妙的ANR
  12. 性能测试中常见的专业术语:QPS、TPS、并发数、响应时间(RT)、吞吐率和吞吐量【杭州多测师】【杭州多测师_王sir】...
  13. 原创:商务通弹窗最新破解方法
  14. ORACLE进阶(十)start with connect by 实现递归查询
  15. Unity 优化翻译官方文档(三) ------ Animation Clips
  16. 03-iptables-实验
  17. 超详细的水果FL Studio21最新版更新全功能详细介绍!80项更新与改进!
  18. 计算机硬件结构图用幻灯片做,巧用PPT制作树状结构图
  19. pyspider配置mysql,pyspider 数据存入Mysql--Python3
  20. 常用的html字符实体大全

热门文章

  1. ROS教程(一):ROS安装教程(详细图文)
  2. T60 Fan Error 解决办法.转自ZOL产品论坛-作者zxymb
  3. 奇迹1.03H服务端开服架设文件Data文件详解
  4. 抽象代数之欧拉定理的群论的简短证明
  5. 关于瑞萨RH850中断的异常处理函数地址Exception Handler Address的理解
  6. 另存为映射技术,异速联让导出导入更简单
  7. 编程获取中国股市行业分类并作图--使用python、tushare、pyecharts实现
  8. 进销存excel_用Excel制作简单的进销存系统
  9. 设置Windows系统双网卡同时上内外网
  10. android 音乐均衡器,App+1 | 不懂均衡器调校也能量身定制,无需折腾的 Android 音效提升工具...