S32K1XX系列单片机 ——(1)开发环境搭建

8 篇文章 87 订阅

本文介绍一下NXP S32系列单片机开发环境的搭建方法,分两种:S32DS和Keil。

1. S32DS

S32DS是NXP开发的一款IDE,编译器是GCC,支持Lauterbach、P&E和Jlink等调试器,集成了NXP芯片底层和一些中间层的SDK,还有AUTOSAR的MCAL可以免费试用。

(1)安装

软件下载链接如下:
https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=12367047

需要注册账号,注册完进入下载页面后有以下选项,蓝色框中就是Windows环境下的安装包,可以同时下载红框中的安装指导,按照安装指导中的步骤一步步安装即可。注意本页面先不要关闭,在上面License Keys选项卡下有一个Activation Code,安装过程中要用。
在这里插入图片描述
安装这里不过多介绍了,网上也有更详细的教程。

软件安装好之后的界面如下图所示:
在这里插入图片描述
打开时会弹出组件安装界面:
在这里插入图片描述
这里有很多组件,点击左侧的组件,在右侧有组件详细的介绍,选择要用的组件进行安装,我这次用的是S32K144,常用的组件有以下几个:
在这里插入图片描述
下面这个RTD就包含了芯片的MCAL,符合AUTOSAR标准:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)创建工程

安装完以上几个组件之后,我们就可以创建新工程了,点击File-New-S32DS Application Progect,可以从基于SDK创建一个工程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击上图红框位置选择SDK,可以看到我们之前安装的SDK:
在这里插入图片描述
选择一个SDK后,点击Finish,一个新的工程就创建好了,如下图所示,点击编译可以直接编译通过:
在这里插入图片描述

(3)配置外设

选中工程,点击红框中的按钮,可以配置单片机外设:
在这里插入图片描述

① 引脚配置

默认进入的是引脚配置,如下图所示,在引脚配置选项卡中,点击一个引脚,会让你选择引脚功能,以及输入输出方向等,即可完成对PORT的配置:
在这里插入图片描述
也可以在下图中的外设信号选项卡配置外设引脚,如点击CAN0的RX引脚,会提示你有哪几个引脚可供选择,选择其中的一个即完成了对该外设引脚的配置。
在这里插入图片描述

② 时钟配置

点击红框中的位置能打开时钟配置界面:
在这里插入图片描述
左侧是时钟树,右侧有寄存器等选项卡,根据需要进行配置:
在这里插入图片描述

③ 外设配置

在概述选项卡下可以切换回引脚配置,或进入外设配置:
在这里插入图片描述
下图为CAN的配置,可以配置外设属性,如CAN的波特率、采样点、是否支持CAN FD等,其它模块也类似。
在这里插入图片描述

(4)更新外设配置代码

当引脚、时钟、外设都配置好后,需要更新工程源代码,如下图所示:
在这里插入图片描述
点击后会提示有哪些文件会被更新:
在这里插入图片描述
点击OK后,稍等一会,可以在右下角看“Update Code”的进度,完成后我们点击下图中的红框即可切换回工程代码界面,可以看到board文件夹下增加了相应的配置文件,SDK->Driver文件夹下增加了所配置的外设,我们就可以在应用层代码中直接调用Driver文件夹下的接口函数了。

在这里插入图片描述

(5)创建包含MCAL的例程

上文演示了如何从SDK创建新工程,但SDK中的驱动不是MCAL,不符合AUTOSAR架构,我们来看下如何创建一个包含MCAL的工程。

首先从例程新建工程:
在这里插入图片描述
我们可以看到,在安装了上文所述的组件之后,这里能看到很多Examples,其中的一些就是带有MCAL的,如CAN、PORT、DIO、FEE等,我们以CAN的为例,选中后点击Finish:
在这里插入图片描述
创建好的工程如下图所示,此时编译是不能通过的,缺少底层驱动文件,
在这里插入图片描述
像上文配置外设的方法一样,配置好CAN模块,点击更新源代码后,会看到工程中多了RTD驱动包和一些自动生成的配置文件,这时再点击编译就可以编译通过了:
在这里插入图片描述
其中RTD中就是MCAL的源码,generate这一系列文件夹就是自动生成的MCAL配置文件。

2. Keil

Keil现在已经支持S32系列了,keil的MDK编译器编译ARM芯片的程序效率比价高,而且keil支持的调试器更全,基本上常用的调试器都支持。下面就来介绍一下如何使用keil开发S32系列单片机。

(1)安装keil芯片包

可以直接在Keil的芯片库中安装:
在这里插入图片描述
直接下载速度太慢了,有需要的可以从下面链接下载,然后安装:

链接:https://pan.baidu.com/s/1bQqh8hOPCnh-7VSO_kVTOg
提取码:oplk

芯片包安装后,可以在以下路径找到:
在这里插入图片描述
这个Keil官方的DFP中有一些文件需要替换,从下面的连接下载压缩包:
链接:https://pan.baidu.com/s/1NLg-HodeL3dYrJtqa1h-uA
提取码:ufy0
解压后可以看到以下两个文件夹,把它们复制到上面的路径下,重复文件直接覆盖,完成后即可。
在这里插入图片描述

(2)新建工程

在这里插入图片描述
点击OK后悔弹出以下弹窗,勾选红框中的选项:
在这里插入图片描述

(3)添加汇编启动代码

启动代码不会被自动添加进工程中,此时编译会出错,需手动添加以下路径的.S文件进工程:
在这里插入图片描述
添加完成后如下图所示:
在这里插入图片描述

(4)添加main文件

新建一个main.c文件,添加进工程:
在这里插入图片描述

(5)添加编译选项

在工程配置中的以下两个位置分别添加:__ ARMCC_VERSION、-U__GNUC__【注意ARMCC前有个空格,需删掉,是为了避免CSDN的显示错误而临时添加的】
在这里插入图片描述

(6)选择链接脚本

在工程配置以下位置处选择下面路径下的链接脚本:
C:\Users\Thinkpad_Local\AppData\Local\Arm\Packs\Keil\S32_SDK_DFP\1.5.0\platform\devices\S32K144\linker\arm\S32K144_64_flash.sct
在这里插入图片描述

以上就完成了一个新工程的搭建,现在再编译就可以编译通过了,并且可以跳转至main函数运行。

最后推荐一个公众号“汽车电子expert成长之路”,本文中Keil开发环境的搭建参考了公众号上面的文章。

后面我会介绍一下如果用EB配置MCAL,并集成到Keil进行开发调试。

  • 13
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
S32K1xx系列MCU是一款针对汽车电子应用设计的微控制器单元。它们具有高度可靠性、低功耗、高精度和强大的计算能力,适用于汽车中的多种应用场景。 首先,S32K1xx系列MCU采用ARM Cortex-M内核架构,提供了高性能的处理能力和低功耗的设计。它们具有丰富的外设功能,包括通用输入/输出引脚(GPIO)、模拟输入/输出(ADC/DAC)、定时器/计数器、串行通信接口(UART/SPI/I2C)、CAN总线接口等。这些外设能够满足汽车电子系统对于数据采集、信号处理、通信和控制的需求。 其次,S32K1xx系列MCU在汽车电子应用方面具有广泛的应用能力。它们支持多种传感器接口,包括温度传感器、压力传感器、加速度传感器等,可以用于汽车的温度监测、压力检测、车身稳定控制等功能。此外,S32K1xx还支持CAN总线通信,能够实现车辆网络与外部设备的数据交互,用于车辆诊断、通信控制等方面。 再者,S32K1xx系列MCU具有严格的功能安全和可靠性要求。它们采用了多种安全机制,如双核运行模式、错误检测与纠正码、时钟监视等,来提高系统的稳定性和可靠性。这使得S32K1xx系列MCU在汽车的关键应用领域,如刹车系统、驱动系统等,能够提供高度可靠的控制和保护功能。 总的来说,S32K1xx系列MCU应用广泛,可用于汽车电子系统中的多个方面,包括传感器接口、通信控制、数据采集与处理等。它们具有高性能、低功耗、安全可靠的特点,能够满足汽车电子系统对于性能和功能的要求。因此,S32K1xx系列MCU成为了汽车电子领域中的重要选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孟的孟不是很老的孟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值