AutoG通用汽车平台(S32K NXP IDE 开发环境搭建之路)@Like
AutoG通用汽车平台(S32K NXP IDE 开发环境搭建之路)@Like
(NXP S32 Automotive Platform S32K General Purpose MCUs)
目录
- 1. S32K平台简介
- 1.1. 背景
- 1.2. NXP S32
- 1.3. NXP S32K
- 1.4. S32K3
- 1.4.1. 芯片概述
- 1.4.2. 产品特征
- 1.4.3. 产品应用
- 1.4.4. 硬件产品
- 1.4.5. 软件产品
- 2. S32K3 NXP S32DS IDE软件平台
- 3. 软件包下载
- S32 Design Studio for S32 Platform v.3.4 :
- Automotive SW - S32K3 Standard Software
- Model-Based Design Toolbox (MBDT)
- FreeMASTER Run-Time Debugging Tool
- 4. 软件安装
- 4.1. EB tresos Studio(经典AUTOSAR软件开发环境)
- 4.2. 安装 RTD/MCAL(for AUTOSAR)
- 4.3. 安装S32 DS IDE
- 4.4. 安装 RTD/LLD(S32K3 SDK)
- 4.5. 安装FreeMASTER
- 4.6. 安装Model-Based Design Toolbox
- 5. 开发示例
- 5.1. S32DS SDK工程示例
- 5.2. 新建S32DS SDK工程
- 5.3. 通过EB配置MCAL并生成代码
1.S32K平台简介
1.1. 背景
S32K是NXP推出的通用汽车MCU平台。汽车MCU市场高度集中,按金额计算,2021年前六大厂家市场占有率高达97.5%,前三大厂家市场占有率高达75.6%。瑞萨市场占有率28.8%位居第一,NXP市场占有率24.9%,英飞凌为21.9%,德州仪器为7.5%,Microchip为7.4%,意法半导体为7.0%。
汽车MCU是汽车E/E架构中的关键部件。汽车将向着智能化软件化的方向发展,汽车MCU也将随之发生相应的变化。传统汽车控制系统演进路线:
第一步ECU-DOMAIN
第二步Domain-Zonal
1.2. NXP S32
S32汽车电子平台
面向汽车和工业应用的S32微控制器和处理器提供可平衡高性能和高功效的架构。这些产品旨在应对当前和未来的连接、功能安全和信息安全挑战。S32 Design Studio是整个解决方案的一部分,免费提供,其中包含完整的汽车级SDK,具有底层驱动程序和生态合作体系支持。
S32平台产品
u S32G
可实现高性能、功能安全和信息安全处理,适用于面向服务型网关、域控制器、区域处理器、车载计算机和安全处理器。
u S32K
对于通用汽车和工业应用,需要ASIL B/D的高级功能安全和信息安全以及软件支持。
u S32R41
高性能,适用于高分辨率雷达的先进拐角和远程前端雷达应用。
u S32R45
为远程和成像雷达提供高性能、功能安全和信息安全处理。
u S32Z和S32E实时处理器
S32Z和S32E处理器是恩智浦S32平台的一部分,由全面的第三方生态系统支持。
1.3. NXP S32K
S32K汽车微控制器
基于Arm® Cortex®-M系列的可扩展、低功耗微控制器,获得了AEC-Q100认证,具有高级功能安全、信息安全和软件支持,适用于ASIL B/D车身、区域控制和电气化应用。S32K MCU由至少15年的产品长期供货计划以及全面的第三方软件和工具生态体系提供支持。
u S32K1微控制器Cortex-M0+/M4F内核
单核MCU,128 kB至2 MB,支持ASIL B和32-176引脚,符合AEC-Q100 2级标准。
u S32K3微控制器Cortex-M7内核
单核、双核和锁步内核MCU,512 KB至8 MB,支持ASIL B/D和48-289引脚。
S32K3 MCU:简化汽车和工业用软件的开发
S32K3有助于降低汽车软件成本和复杂性,打造更智能、功能安全性和信息安全性更高的车辆。S32K3 MCU作为S32K系列微控制器的一部分,不仅面向车身域控制器、车身控制模块、车身电子产品和更多汽车应用,同时也适用于工业设计。
1.4. S32K3
1.4.1. 芯片概述
S32K3系列包括基于Arm®Cortex®-M7的可扩展32位MCU,支持ASIL B/D安全应用的单核、双核和锁步内核配置。S32K3 MCU具有带恩智浦固件的硬件安全引擎(HSE),支持无线固件更新(FOTA),并为AUTOSAR®和非AUTOSAR应用免费提供符合ISO 26262的实时驱动(RTD)。S32K3 MCU采用恩智浦的新型MaxQFP封装,与标准QFP封装相比,可使封装尺寸减少55%。
S32K芯片系列规格
S32K3软件生态系统
1.4.2. 产品特征
可扩展的单一平台
l 单核、多核或Cortex-M7锁步内核, 120-240 MHz + FPU
l 512 KB-8 MB闪存,带ECC
l FOTA – 具有零停机时间和回滚支持的A/B固件交换。地址自动转换
l 12位1 Msps ADC,16位eMIOS定时器,带用于电机控制的逻辑控制单元
l 低功耗运行和待机模式、快速唤醒、时钟和电源门控
l MaxQFP和BGA封装
l 符合AEC-Q100 1级标准:-40至125 ° C
功能安全、信息安全和连接
l 符合ISO 26262,最高符合ASIL B/D标准
l 故障采集与控制单元
l 硬件和软件看门狗、时钟/电源/温度监测器
l 功能安全文件和SafeAsure网络社区支持
l HSE安全引擎 - AES-128/192/256、RSA、ECC、安全引导&密钥存储;侧通道保护;符合ISO 21434
l 以太网TSN/AVB (100 Mbps/1 Gbps)、I3C、CAN FD、FlexIO (SPI/IIC/IIS/SENT协议)、串行音频接口, QSPI
量产级软件
l S32 Design Studio IDE – Eclipse、GCC和调试器、第三方支持
l 实时驱动 – 免费(AUTOSAR和非AUTOSAR应用),符合ASIL-D
l 恩智浦提供的安全固件,可现场升级
l S32安全软件框架(SAF)和结构内核自测(SCST)库
l 安全外设驱动
l 基于模型的MATLAB设计工具箱®
l 平台间通信框架(IPCF)
1.4.3. 产品应用
汽车电子
l 娱乐中控IO控制器
l 汽车区域控制器
l 电子换挡器
l 电池管理系统(BMS)
l 电泵
l 皮带驱动起动发电机(BSG)
l 皮带驱动起动发电机(BSG)
l 车身控制
1.4.4. 硬件产品
u S32K344 BLDC/PMSM开发套件
MCSPTE1AK344是一款开发套件,专用于无刷直流(BLDC)电机控制(面向制热、通风和空调(HVAC)及电动泵)和三相永磁同步电动机(PMSM)控制(面向主动悬架或电动传动系统、eTurbo或皮带起动发电机)。
它基于32位Arm® Cortex®-M7 S32K3微控制器和GD3000预驱动器,可以快速原型设计和评估BLDC和PMSM电机控制应用,而无需等待最终的硬件设计。
MCSPTE1AK344应用软件能够充分利用汽车计算和电机控制库(AMMCLib)套件及实时驱动程序(RTD)软件包,提供3相BLDC和PMSM电机控制应用的完整参考实施。
RTD软件可为AUTOSAR和非AUTOSAR环境构建电机控制应用。
u S32K3x4-Q172通用开发板
S32K3X4EVB-Q172是通用工业和汽车应用的评估/开发板。
S32K3X4EVB-Q172基于采用172 MaxQFP封装的32位Arm® Cortex®-M7 S32K3 MCU,提供以锁步模式配置的双核、ASIL D安全硬件、HSE安全引擎、OTA支持、高级连接和低功耗模式。
S32K3X4EVB-Q172提供与Arduino® UNO引脚布局兼容的标准规格,为快速应用原型设计和演示提供了广泛的扩展板选项。
u S32K3x4-Q257功能齐全的通用开发板
S32K3X4EVB-Q257是面向通用工业和汽车应用的功能完备的评估和开发板。
全功能S32K3X4EVB-Q257基于采用257 MPABGA封装的32位Arm® Cortex®-M7 S32K3 MCU,提供以锁步模式配置的双核、ASIL D安全硬件、HSE安全引擎、OTA支持、高级连接和低功耗模式。
全功能S32K3X4EVB-Q257带来了与Arduino® UNO引脚布局兼容的标准规格,为快速应用原型设计和演示提供了广泛的扩展板选项。
提供两种配置的S32K3 EVB:
S32K3X4EVB-Q257:所有组件已填充
S32K3X4EVBQ257ND:Kinetis K26 MCU未填充,需要使用外部调试器,如IAR、Keil。
1.4.5. 软件产品
工具 |
参考软件 |
标准软件 |
高级软件 |
FreeRTOS™ LIN协议栈 TCP/IP协议栈 |
实时驱动(RTD) HSE标准固件 安全外设驱动 |
HSE高级固件 |
1.4.5.1. S32 Design Studio for S32 Platform
S32 Design Studio for S32 Platform是一套附送的集成开发环境(IDE),适用于汽车和基于Arm®的超可靠微控制器和处理器,为您的设计提供编辑、编译和调试功能。
S32DS for S32 Platform为设计人员提供了一个简单的开发工具,它基于包括Eclipse IDE、GNU编译器集合(GCC)和GNU调试器(GDB)在内的开源软件,没有代码大小的限制。
恩智浦软件与S32 Design Studio IDE一起提供全面的支持环境,可加快开发速度。
特征
- 带有GCC编译器的恩智浦GNU工具链(版本6.3.1 20170509),用于裸机Arm 32位和64位以及Linux®目标设备
- 带有GCC编译器的恩智浦GNU工具链(版本9.2.0 20190812),用于裸机Arm 32位和64位以及Linux®设备
- 包括NewLib、NewLib Nano、EWL和EWL Nano库
- 用于Arm 32和AArch64®裸机工具链的半主机
- 支持Python的GDB 7.12.1
- 内置GDB调试器接口在Eclipse中使用或从命令行来驱动,支持这些接口硬件:
- S32硬件调试器
- P&E Multilink/Cyclone/OpenSDA (带有P&E GDB服务器)
- 支持与S32 Debugger和S32 Trace一起提供的S32硬件调试器
- 支持Lauterbach和 P&E调试器
- S32闪存工具,用于将用户的图像编程到闪存
- S32配置工具框架,包括引脚、时钟、外设、DCD、IVT和DDR配置工具
- 新项目向导创建裸机或SDK项目
- 使用项目示例创建项目的向导
- 外设寄存器视图
- 支持来自Eclipse生态合作体系或合作伙伴的Eclipse插件
- 支持将AUTOSAR MCAL配置导入到自定义SDK
- 支持汇编语言、C和C++
- 支持主机操作系统(OS):
- Microsoft Windows® 7/8/10 (64位)
- Ubuntu 16.04 (64位)、18.04 (64位)
- Debian 8 (64位)
- CentOS 7 (64位)
- S32DS扩展和更新工具,用于自动查找和按需安装软件包,增加对设备和软件的支持
- 面向S32V234的视觉扩展包:
- 可视图形工具支持ISP和APEX加速器程序开发
- PAX/ISP汇编器
- Vision SDK – 包括ISP和APEX内核
- 面向A53内核开发的Linux板支持包
- 新项目向导可创建Vision专用的项目,包括ISP和APEX加速器编程
- 展示ISP和APEX功能的若干示例项目
1.4.5.2. FreeMASTER运行时调试工具
FreeMASTER是一种用户友好的实时调试监视器和数据可视化工具,可用于运行时配置和调试嵌入式软件应用。全球汽车OEM和电器制造商均广泛采用FreeMASTER,因为FreeMASTER适用于广泛的汽车和工业应用。
FreeMASTER支持对正在运行的系统上的变量进行非侵入式监视,并且可以在示波器式显示器上以标准小部件(仪表、滑块等)或文本形式的数据形式显示多个变量,从而提供易于使用的数据记录器。
FreeMASTER可以与自定义HTML,MATLAB®或Excel链接到其他可编写脚本的框架,以将MCU硬件添加到控制循环中。从运行FreeMASTER的主机到目标系统的连接可直接在广泛的通信外设或调试通道上进行。FreeMASTER直接在桌面应用中嵌入图形、表格网格和Web视图。FreeMASTER连接是通过使用JSON RPC调用的网络连接建立的,并且客户端实现可用于Python,C/C ++/C#和其他语言。
FreeMASTER提供了一个新组件:FreeMASTER Lite。它是一种轻量级服务,利用可以在Windows或Linux主机PC上运行的JSON RPC协议,并允许在Web浏览器应用(在本地或远程主机或移动设备上运行)上实现自定义UI应用。
FreeMASTER 3.1支持Node-RED框架来扩展FreeMASTER Lite。Node-RED支持对事件驱动的应用进行可视化编程。FreeMASTER 3.1带来了一个Node-RED“节点”选项板,它们充当JSON-RPC调用的可视包装器,充分利用FreeMASTER和Node-RED的全部潜力,以极少或根本不需要编码的方式设计视觉仪表板。
特征
实时数据监控
- 实时示波器/波形,同时具有上升/下降边缘触发器
- 多通道高速数据记录(板载存储器示波器)
- 用户自定义的仪表板,用于数据显示
- 表压、滑块和按钮小工具
- 文本(姓名、值、最小值、最大值和枚举标签等)
- 易于合并图形图像
控制面板
- 通过监视对话框直接设置变量值
- 变量值的时间表驱动
- 用户命令/消息控制
- JScript的HTML表单(带按钮、指示灯和滑块)或自定义HTML5小工具
- 由Excel、MATLAB或其他支持通过ActiveX嵌入或JSON-RPC协议编写脚本的外部应用程序控制
主机通信选项
- UART, USB/CDC串行通信外设
- CAN通信
- TCP和UDP网络通信
- SWD/JTAG调试连接
- Segger RTT高速JTAG通信
开发平台整合
- MCUXpresso SDK、MCUXpresso IDE和MCUXpresso配置工具
- 用于图形化编程的Node-RED框架
1.4.5.3. 基于恩智浦模型的设计工具箱(MBDT)
恩智浦MBDT包括一个集成的Simulink®嵌入式目标,支持恩智浦MCU进行直接快速原型设计,并内置支持软件和处理器在环(SIL和PIL)开发工作流程、系统和外设设备接口块和驱动程序、目标优化数学和电机控制库集(AMMCLib),用于在目标汽车MCU上高效执行,面向其他MCU的实时控制嵌入式软件电机控制和功率转换库(RTCESL),并在Simulink® 仿真环境中获取精确的仿真结果。
恩智浦MBDT有助于自动生成所有所需的代码(包括初始化例程和设备驱动程序),以启动MCU并运行复杂的应用程序,例如电机控制算法、基于传感器的通信协议,同时支持多个编译器的构建。恩智浦MBDT支持广泛的应用程序开发,使控制工程师和嵌入式开发人员能够帮助缩短项目生命周期。
特征
- 为嵌入式应用提供全面的免费构建工具链,针对恩智浦微控制器。
- 可为独立应用生成代码功能,可直接下载到支持的目标
- 各种MCU外设的开箱即用应用
- 功能和任务的目标分析
- 优化电机控制库模块包括Park/Clarke转换、数字滤波器和常规功能
- I/O块包括CAN、SPI、PIT定时器、正弦波生成、eTimer、PWM和A/D
- 与Embedded Coder®无缝集成,包括SIL和PIL测试
- RAppID引导加载实用程序内置支持,可直接将代码下载到目标MCU
- 恩智浦FreeMASTER内置支持,可以查看目标MCU的算法校准和调优,是先进控制系统和电机控制开发所需系统的理想选择,可实时监测嵌入式目标的信号、数据记录、信号捕获和参数调优。
- 在闪存中进行应用编程的引导加载实用程序
1.4.5.4. 实时驱动(RTD)-固件(包括EB tresos Studio)
实时驱动(RTD)是一套全新的创新型驱动程序集,可支持AUTOSAR和非AUTOSAR应用上的实时软件,主要用于Arm Cortex-M内核,使所有软件层均符合ISO 26262要求,这套驱动程序集提供完整的IP和功能:
- AUTOSAR应用可创建一个丰富的生态体系,其中考虑到复杂设备驱动程序(CDD)和各种标准驱动程序
- 非AUTOSAR应用适合代码高度优化的低级驱动程序
RTD可能会在平台级的中间件(EEP的FATFS、MCAL衍生的FLS的FEE)和堆栈(LIN、NFC、TCIP)上进行集成。AUTOSAR功能(多核、用户模式)也扩展到非AUTOSAR环境,以前仅适用于AUTOSAR环境。
特征
- 在一个软件产品中将SDK和MCAL环境相组合,添加新功能并更新现有功能
- 专注于实时软件
- 符合Automotive-SPICE、ISO 26262、ISO 9001和IATF 16949要求
- 购买S32产品时会附带RTD软件,不需要额外的许可费用
- 包括对EB tresos Studio (AUTOSAR)和S32CT(非AUTOSAR)配置器的支持
- 包括对裸机、Autosar OS和FreeRTOS应用的支持
- 支持GCC、DIAB和Greenhills GHS编译器
说明
RTD(Real Time Drivers)是NXP官方新出的一个软件平台,它结合了 AUTOSAR 和专有软件体系结构的低级驱动程序,也就是说将以前的 MCAL 和 SDK 合并到了一个软件平台,它带来的好处有:
- 适用于 AUTOSAR 的高级接口,适用于非 AUTOSAR 的低级接口
- 兼容 S32 处理器解决方案
- 符合 ISO26262 功能安全等级(最高可达到 ASIL D)
- 综合代码质量变高
- 免费:S32K3的MCAL免费,S32K1中 MCAL有费用,但是使用 RTD 配置 MCAL 是免费的
由于 RTD 保留了两套接口(MCAL 以及 SDK 风格的API),使用的配置工具也有两套(EB Tresos Studio 和 S32 Design Studio),为了区分两种接口,我们使用“RTD MCAL”和“RTD LLD(Low Level Driver)”来将两者区分开,“RTD MCAL”对应 MCAL,“RTD LLD”对应以前的 SDK。LLD 的配置界面已经更加偏向 MCAL 的配置风格了,但是 API 层面还是两套接口,可以让以前 SDK 用户最大程度保持之前的习惯。
需要强调的是,MCAL 和 LLD 软件平台是分开发布的,从软件列表可以看到,MCAL 是 exe 执行程序安装,而 LLD 则是 zip 格式作为 S32DS 的一个插件来安装,这是因为工具链不同。下表列出了两种开发包各自的特点。
2. S32K3 NXP S32DS IDE软件平台
NXP官方为S32K3提供了基于RTD(Real Time Drivers)的开发环境,实时驱动(RTD)是一套全新的创新型驱动程序集,可支持AUTOSAR和非AUTOSAR应用上的实时软件。
RTD结合了 AUTOSAR 和专有软件体系结构的低级驱动程序,也就是说将以前的 MCAL 和 SDK 合并到了一个软件平台,它带来的好处有:
- 适用于 AUTOSAR 的高级接口,适用于非 AUTOSAR 的低级接口
- 兼容 S32 处理器解决方案
- 符合 ISO26262 功能安全等级(最高可达到 ASIL D)
- 综合代码质量变高
- 免费:S32K3的MCAL免费,S32K1中MCAL有费用,但是使用RTD配置MCAL免费
由于 RTD 保留了两套接口(MCAL 以及 SDK 风格的API),使用的配置工具也有两套(EB Tresos Studio 和 S32 Design Studio),为了区分两种接口,我们使用“RTD MCAL”和“RTD LLD(Low Level Driver)”来将两者区分开,“RTD MCAL”对应 MCAL,“RTD LLD”对应以前的 SDK。LLD 的配置界面已经更加偏向 MCAL 的配置风格了,但是 API 层面还是两套接口,可以让以前 SDK 用户最大程度保持之前的习惯。
需要强调的是,MCAL 和 LLD 软件平台是分开发布的,从软件列表可以看到,MCAL 是 exe 执行程序安装,而 LLD 则是 zip 格式作为 S32DS 的一个插件来安装,这是因为工具链不同。下表列出了两种开发包各自的特点。
简单的来说就是:EB tresos可以为MCAL开发提供图形化配置界面,而S32DS则为SDK开发提供图形化配置界面。
MCAL和SDK共用一套代码,也就是RTD,意思其实就是这两个软件包里面的底层代码都是一样的。简单的来说,现在K3的MCAL就是在SDK的底层基础上封装了一层符合AUTOSAR标准的接口层,RTD的具体结构框架如下图:
3. 软件包下载
S32K3开发环境需要下载两类工具包和RTD驱动包,分别是S32 DS(S32 Design Studio for S32 Platform)IDE、 Elektrobit Tresos Studio/AUTOSAR tools、S32K3 Real Time Drivers。另外官方还提供了调试工具和仿真工具需要另下载FreeMASTER运行时调试工具、MBDT(Model-Based Design Toolbox)基于恩智浦模型的设计工具箱。注意下载版本相对应,否则可能会失败或报错。
NXP下载地址:
S32 Design Studio for S32 Platform v.3.4 :
https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=12367047
Automotive SW - S32K3 Standard Software
Model-Based Design Toolbox (MBDT)
https://www.nxp.com/design/automotive-software-and-tools/model-based-design-toolbox-mbdt:MBDT
FreeMASTER Run-Time Debugging Tool
当前最新版本列表如下(注意下载文件后缀,下载后如有不符按表中正确的修改回来):
RTD for S32DS IDE |
S32K3 Real Time Drivers Version 2.0.0 |
|
RTD for AUTOSAR |
||
S32DS IDE for Windows Installer |
S32 Design Studio for S32 Platform v.3.4 DS Activation Code : B3A5-0EA5-21D5-44A2 DS 3.4 9CE1-AF90-E9D0-BD2D |
|
S32 Design Studio 3.4 development packages for S32 |
||
S32 Design Studio v.3.4 and S32K3 development package. |
||
EB tresos Studio / AUTOSAR Configuration Tool
|
EB tresos Studio 28.2.0 activation code: 638C-602C-EDD8-F498(valid until 09/30/2022) |
Documentation_EBtresosStudio.uip EBtresosStudio_EBtresosStudio.uip EBtresosStudio_WibuKeyRuntime.uip |
FreeMASTER Driver 3.0 for S32K3 |
S32K3 FreeMASTER 3.0 version 1.1 RTM Activation Code : 05F8-E651-782C-770B |
|
FreeMASTER tool 3.1–Windows installer |
||
MDBT for S32K3
|
Model-Based Design Toolbox for S32K3xx 1.1.0 |
4. 软件安装
按如下顺序安装。
4.1. EB tresos Studio(经典AUTOSAR软件开发环境)
运行setup.exe,点Choose Folder选择路径D:\Program\IDE\NXP\EB\tresos,点击Install。
安装完成显示安装成功对话框,点“确定”,返回安装界面再点“Exit”。安装完成。
安装后运行:EB_Client_License_Administrator_1_4_3_Setup.exe,安装路径选择D:\Program\IDE\NXP\EB\EB_Client_License_Administrator,安装过程中选择:☑ Use License Activation Codes。点Install安装,完成后点Finish,安装完成。
安装完成后运行EB Client License Administrator 1.4.3程序,
使用之前下载软件时获取的激活码进行激活。在Activation Code输入框中输入激活码,然后点击右侧Activate按钮进行激活。激活过程中报错的话,可以尝试关闭防火墙、关闭 VPN、或者换个时间多尝试几次,可能和服务器或FQ工具有关。(注:EB License目前提供的为试用版,不能用于项目正式量产,请联系EB购买正式license)。
激活成功后如下图所示,点EXIT退出。安装完成。
4.2. 安装 RTD/MCAL(for AUTOSAR)
运行安装文件“SW32K3_RTD_4.4_2.0.0_D2203.exe”,根据提示默认安装直到选择你的EB安装目录,如果你安装了多个版本的EB,千万别选错了路径。
如果你安装了多个RTD版本/软件包(包括热修复(HF)程序/修补程序(Patch)),安装后需要删除“path/to/EB/links”文件夹中的链接文件,只保留要使用的软件包的链接文件,否则,它将识别错误的软件包。
安装过程见下图所示:依次
选择安装路径D:\Program\IDE\NXP\EB\SW32K3_RTD_4.4_2.0.0
选择EB tresos路径D:\Program\IDE\NXP\EB\tresos\
点Install
点Finish
安装完成。
4.3. 安装S32 DS IDE
运行“S32DS.3.4_b201217_win32.x86_64.exe”,安装界面如下图所示,一直点下一步,安装过程依次选择安装路径D:\Program\IDE\NXP\S32DS.3.4,点Install,安装PE选择中午路径D:\Program\IDE\NXP\PEMicro\PEDrivers,点Done,安装完成。激活码在你的NXP账号邮箱里。
4.4. 安装 RTD/LLD(S32K3 SDK)
运行“S32 Design Studio for S32 Platform 3.4”,选择工作路径:
D:\Program\IDE\NXP\workspaceS32DS.3.4,软件自动弹出升级安装工具包窗口。
选择升级安装(建议)或者手动安装,手动安装时,进入菜单栏“Help”->“Install New Software”,按下图步骤添加之前下载的离线安装包,安装完成后根据提示需要重启S32DS。注意必须按顺序安装,图例仅为第二个插件包的安装步骤。下面我们安装刚刚下载的 zip 包,这两个包的安装是有顺序要求的。
先安装:SW32K3_S32DS_3.4.3_D2205.zip(S32K3基础开发包)
再安装:SW32K3_RTD_4.4_2.0.0_DS_updatesite_D2204.zip(RTD V2.0.0 插件包)
选择升级安装时,选择Help > S32DS Extensions and Updates(帮助>S32DS扩展和更新),打开“S32DS扩展和更新”。
选择安装“S32K3xx development package”,提示缺少软件版本,点“back”返回会自动选择需要升级安装的其他5个软件,共安装6个软件,点“install”仍然提示GCC 1728安装失败。仅选择“S32 Design Studio Platform package”和“S32 Design Studio Platform Tools package”安装,等待安培完成后自动重新打开“S32 Design Studio for S32 Platform 3.4”自动弹出扩展升级窗口。再选择安装“S32K3xx development package”自动选择之前4个软件安装,点击安装升级,等待,还是安培失败。然后一个一个选择安装。选择安装“GNU ARM PEmicro”,自动重启选择安装“NXP GCC 1728”,自动重启选择安装“NXP GCC for ARM 1649”,自动重启选择安装“S32K3xx development package”,自动重启。
选择安装“S32K3 RTD AUTOSAR 4.4 version 2.0.0”,选择NXP证书,安装完成自动重启。
最后安装完成后自动重启弹出“S32DS扩展和更新”,Installed中有9项。至此安装完成。
过程截图见下。
4.5. 安装FreeMASTER
运行“FMASTERSW31.exe”,选择工作路径:D:\Program\IDE\NXP\FreeMASTER 3.1
输入激活码,安装时自动发送到你的NXP账号邮箱里。一直下一步,安装完成。
目标设备上需要运行FreeMASTER Communication Driver才能与FreeMASTER连接。
4.6. 安装Model-Based Design Toolbox
MBDT as a MATLAB MLTBX file
恩智浦MBDT包括一个集成的Simulink®嵌入式目标,需要的MathWorks产品
MATLAB®
Simulink®
MATLAB® Coder™
Simulink® Coder™
Embedded Coder™
5. 开发示例
在D:\Program\IDE\NXP\S32DS.3.4\S32DS\software\PlatformSDK_S32K3_2022_03\SW32K3_RTD_4_4_2_0_0_D2203
目录下有相关示例,每个示例中有EBT(RTD/MCAL)工程和S32DS(RTD/LLD)工程。
5.1. S32DS SDK工程示例
导入例程,点击File->New->S32DS Project From Example, 选取一个Demo:完成
双击打开Pwm_Example_DS.mex文件,打开S32DS的图形化可配置界面进行相关的配置,通过这个界面就可以对S32K3的IO、时钟、外设等进行配置,例程保持不变直接点击Update Code生成代码。配置完成后点Build Project,如果缺少文件,需要从源例程中手动拷贝所缺失的文件到这个新工程的对应目录中。编译完成:Build Finished. 0 errors, 0 warnings。
5.2. 新建S32DS SDK工程
点击File->New->S32DS Application Project, 选取一个芯片,输入项目名称,点下一步。
选择正确的SDK后,点击Finish,一个新的工程就创建成功,接下来就是编译和调试。
编译发现失败,一般是因为安装的工具链与SDK软件包的版本不匹配问题。比如目前最新版RTD1.0.0用的工具链是GCC10.2,但是你安装的工具链还是GCC9.2,就需要更新一下S32DS的工具链,点击help->check for update,然后更新正确的版本。
5.3. 通过EB配置MCAL并生成代码
打开EB,首先创建一个工作空间,点击File->Import,选择Existing Project into Workspace,
下一步,选择一个已经存在的例程目录,再选择相应的EBT工程,点Finished。