S32K144入门笔记(一):环境搭建与配置

目录

背景

1.1 开发板的选择

1.2 开发板资源简介

1.3 开发 IDE的选择

1.4 开发IDE的安装与配置


背景


        在汽车行业工作也有几年了,之前从事非汽车行业的时候就喜欢玩单片机,做电路。虽然现在的工作和电子开发关系不是很大,但是对于汽车电子也有所接触。一时兴起就想学习一款车规级芯片玩玩,这样以后开会的时候就可以借着这个基础去吐槽代码工程师去了,哈哈,同时记录一下学习经历也是个不错的选择。废话少说,进入正题。

        目前国内汽车电子使用的芯片大多数还是国外的芯片(听过国内也有几家在做车规级芯片,也有功能安全等级认证,但是只是听说,没有见过,希望国内芯片有一天能完全替代),比较主流的就是英飞凌、恩智浦和瑞萨。

        首先面临芯片的选择问题,实际上笔者平时的工作应该是属于应用层软件的开发,和底层接触不是太多,公司目前使用英飞凌的芯片(其实三家的芯片都有使用,只是英飞凌的占比较大),所以就研究了下英飞凌的芯片,英飞凌的芯片是很强大,但是对于个人学习来说有点不太友好,具体如下:

        (1)官方几乎没有中文资料,如果学习者英文不是特别好的话,在前期了解芯片阶段会占用大量时间;

        (2)国内论坛不够活跃,在优快云上也找不到多少实用的开发资料,虽然国内有电子比赛使用它的芯片,但是资料属实不够看;

        (3)开发工具都要付费(虽然有破解的tasking,但是除了PLS UDE之外其他工具几乎找不到可以使用的版本),虽然官方推出了基于Eclipse的ADS,但是该软件是被阉割过的,评估一下还可以用,如果想深度研究的话,并不合适。加之autosar的工具链只有TC2XX系列在某鱼上可以廉价获得,TC3XX如果想玩玩autosar就是各种凑资料,很浪费时间精力。

        所以对于英飞凌芯片的学习只能往后放放(后面单独出一个系列的英飞凌入坑的文章),对于瑞萨的就更不用说了,属于几乎没有资料,而且从来没用过日本人的芯片,所以就不尝试了。最终选择了NXP的S32K系列的芯片,ARM Cortex-M4内核,对于使用过ARM内核的人来说很友好,而且autosar的MCAL和配置工具也是免费的,这就为后面研究autosar提升了很大空间。

1.1 开发板的选择


        由于S32K144对于个人开发者的学习来说比较小众,不像ST的芯片资料一大堆。在某宝和某鱼上找了很长时间发现并没有令人满意的开发板,最小系统的核心板有没有足够的外围器件去练习,还要买一堆外设板配合或者自己做个板子,有点麻烦。一些培训机构的开发板不但价格较贵,而且颜值很低,在这种情况下选择官方的S32K144EVB-Q100开发板是个不错的选择,官网的例程都可以跑,在某鱼上200多块就搞定,板子如图所示。

1.2 开发板资源简介


        开发板支持USB与12V外部电源两种供电方式,可以通过板子上的跳线调整。具体设置如表所示。

丝印

配置

描述

J104

1-2

2-3 (默认设置)

复位信号到OpenSDA,进入调试器的boot模式。

复位信号直接复位主控芯片。

J107

1-2

2-3 (默认设置)

12V供电模式。

USB供电模式。

J109/J108

1-2 (默认设置)

移除CAN模块的终端电阻。

        开发板配置的外围实验器件比较丰富,包括LED、电位器、CAN通信、Lin通信等。与主控芯片的接口如表1-2所示。

板载芯片

PS32K144HFT0VLLT

集成调试器

OpenSDA

Green LED

PTD15 (FTM0 CH0)

Blue LED

PTD0(FTM0 CH2)

Green LED

PTD16(FTM0 CH1)

Potentiometer

PTC14 (ADC0_SE12)

SW2

PTC12

SW3

PTC13

OpenSDA UART TX

PTC7(LPUART1_TX)

OpenSDA UART RX

PTC6(LPUART1_RX)

CAN TX

PTE5(CAN0_TX)

CAN RX

PTE4 (CAN0_RX)

LIN TX

PTD7(LPUART2_TX)

LIN RX

PTD6 (LPUART2_RX)

SBC_SCK

PTB14 (LPSPI1_SCK)

SBC_MISO

PTB15(LPSPI1_SIN)

SBC_MOSI

PTB16(LPSPI1_SOUT)

SBC_CS

PTB17(LPSPI1_PCS3)

        开发板的I/O引出段子与主芯片的映射关系如图所示(它的端子布局支持arduino,但是还没有找到可以兼容arduino的开发工具,后面再单独研究了)。

1.3 开发 IDE的选择

        S32K144芯片是ARM Cortex-M4内核,所以一般ARM的编译器都可以使用。当然官方也提供了NXP的专用开发IDE,面对各种开发环境,使用哪个开发环境来进行开发就看各人需求,目前主流支持S32K144的编译器特点如下:

(1)KEIL MDK

        这个是个老牌的ARM编译器了,基本上玩ARM的人都从这个入门的,利用官方的SDK配合MDK开发是可以的,但是官方的配置工具是不支持MDK的,对于初学者来说配置工具很重要,所以果断放弃MDK。

(2)IAR

        这个编译器同样历史悠久,虽然大名鼎鼎,但是笔者平时开发很少用它,只是在多年前使用STM8的时候用了一下,体验还行。但是他同样不支持官方的配置工具,所以入门学习还是不能用,但是我们可以使用他的编译器,这个在后面安装插件的时候再说明。

(3)S32DS for arm

        这个是NXP官方早期推出的IDE,在官网上看了一下最后的更新是2023年,经过尝试发现,这个编译器中的Processor Expert比较有特点,相比ST的配置工具来说,它有一个把函数直接拖到文件里的功能挺有意思。但是即使更新到最新版本之后它也只能支持到3.03版本的SDK(目前官方最新的SDK版本为4.03),如果想使用最新版本的SDK的话,这个开发环境也不是一个好的选择。

(4)S32DS for S32 Platform

        这个IDE从命名上可以看出来,NXP的意图是做了一个专门为S32开发的IDE,目前的最新版本是3.6。经过笔者测试发现,这个最新版貌似不是专门为S32K1系列而升级的。剩下的就从3.4和3.5之间进行选择,记得之前从一个帖子上看到3.5并不支持最新的SDK(笔者并没有验证),就直接选择的3.4版本。

1.4 开发IDE的安装与配置

        有关于软件的安装并不想说太多,网上的安装教程已经足够多了,B站也有很多,这里附上下载链接,软件主题有两个:S32DS for S32 platform软件主体和支持包,如图所示。

        首先安装软件本体,之后通过安装软件插件的方式安装S32K1的支持包,如下图所示。

        到这里其实已经可以进行S32DS的开发了,但是当前的SDK版本的4.0.2的,并不是最新的4.0.3,在官网上找了很久也没有找到4.0.3的升级包,后来发现最新版本的支持包貌似并不支持离线安装,要通过在线扩展升级的方式进行安装,也就是第一次打开软件弹出的那个窗口来进行安装,如果找不到了就在帮助下拉菜单中调出,打开这个需要一点玄学,如果很慢就多等一会,如下图所示。

        弹出的界面会显示有哪些升级包可以安装,如图所示。

        勾选想要升级的支持包点击“Install/Update”进行升级,这里有一点要注意,有的人会出现如下错误(笔者这里随便安装一个SDK来演示)。

        如果出现以上的错误的话就需要更改一下配置,将获取升级包的URL地址修改一下,如下图。

        修改以上配置后就可以正常的升级了,如果你的网速快的话,下载速度还是可以的。

        接下来就是前文所说的,S32DS开发环境是支持IAR编译器的,具体的使用方法也是添加一个插件来解决。首先要安装一个能正常编译的IAR的IDE(各个版本基本有支持),之后下载一个插件就可以正常使用了,有一个参考的官方教程链接如下:如何在S32DS中使用IAR编译器https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/HOWTO-Install-IAR-Eclipse-plug-in-into-S32-Design-Studio-for-ARM/ta-p/1105459        安装好了之后在新建工程时就可以选择IAR编译器了,笔者安装的是9.6.3版本,如下图所示。

        有关于Debug的问题,笔者使用的官方的板子,板载OpenSDA,在工程创建时直接选择PEmirco就可以正常调试,如果使用的J-link,可能无法正常调试,在新建工程时要选择IAR的接口。如下图所示。

        这样基本就完成的IDE的配置。但是Eclipse这个IDE虽然大部分厂家都用它作为编辑器,笔者使用起来对比宇宙第一编辑器VSCODE来说差距还是很大的,其中一点体现在代码提示补全功能上,它不能像VSCODE自动的提示所有字符,这点比较难用,还好在网上找了个帖子,上面的方法能解决一部分代码提示和补全的问题。链接如下:

S32DS代码提示和配色方案https://blog.youkuaiyun.com/q553716434/article/details/129274552

 以上的步骤相对比较粗糙,后续考虑做个小视频来做一个完整的安装过程教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值