在MDK-Keil中开发S32K144

对于NXP的S32K1xx系列MCU,前面已经介绍过,官方有专门支持该系列MCU开发的IDE工具——S32DS,这个工具还有对应的代码生成配置工具,而且也是官方推荐使用的工具。

S32DS开发环境是基于Eclipse改写的,熟悉Eclipse的话可以很快上手。但是很多人使用MDK-Keil软件更多,所以介绍下怎么使用MDK-Keil环境来开发S32K144.

1. 安装S32K144 Pack包

我们首先要安装S32K1xx的Pack包。Pack包可以到Keil的官网进行下载,也可以通过菜单栏Pack Installer 界面进行下载。

S32K1xx的pack包最新版本是1.5.0,下载官网:

https://www.keil.arm.com/packs/s32_sdk_dfp-keil/boards/

然后点击下载即可。

在这里插入图片描述

下载完成之后,双击pack包进行安装:

在这里插入图片描述

安装路径默认即可。因为我已经安装过了,所以提示是否替换。

2. 文件准备

在新建S32K144的Keil工程之前,我们需要先把所必需的文件准备好。这些文件无非就是S32K1xx系列MCU的SDK库文件,所以我们首先要去官网下载了S32K1xx的SDK。

可以通过下面的官网链接下载,目前最新的版本是 4.0.3 .

https://www.nxp.com.cn/design/software/development-software/s32-sdk/s32-software-development-kit-for-s32k1:S32SDK-ARMK1

得到SDK之后,我们把所需的文件复制到我们新建工程的目录下面,准备后续使用。

在这里插入图片描述

在前面一篇文章中,已经详细介绍了S32K1xx的SDK框架和各个文件夹的作用了。这里不多介绍。

我们把 platform / rtos 这两个文件夹复制到我们要新建Keil工程的目录下,platform 的内容其实就是NXP提供的 S32K1xx 开发的外设驱动库函数,还要启动文件,链接文件等等。rtos目录则是关于通信的外设驱动会使用到信号量、互斥量等内容,然后这个文件有裸机实现的接口,也有基于FreeRTOS进行二次封装实现的。

复制那两个文件夹过来之后,如下:

在这里插入图片描述

3. 创建S32K144的Keil应用工程

1)新建工程

1、选择菜单 Project->New Uvision Project… 新建工程

在这里插入图片描述

2、选择新建工程的保存路径

在这里插入图片描述

3、选择S32K型号,我使用的开发板是NXP的S32K144-EVB开发板,对应的芯片型号就是 S32K144UAxxxLLx ,根据自己手上的硬件选择对应的型号就行。

在这里插入图片描述

最后点击OK即可完成新建一个工程了。

2)新建工程目录结构

工程的目录结构因人而异,按照自己的习惯来就好。我自己新建的工程目录结构如下:

在这里插入图片描述

目前这些目录还没有加入SDK外设驱动相关的文件。

3)添加文件

给前面新建的工程目录结构,添加相关的文件。

在这里插入图片描述

新建一个基本的工程,所需要添加的SDK库文件有:

  • 启动代码:包括 startup.c 和 startup_S32K144.S 的汇编文件。
  • S32K1xx Peripheral Driver,就是外设驱动代码。基本的工程需要包括以下模块的文件。
    • clock:系统时钟初始化配置相关代码
    • edma:这个是dma外设,其他模块需要用到dma的接口函数
    • interrupt:中断相关API接口函数
    • lpuart:这个是串口外设驱动,我们打印调试需要用到
    • pins:GPIO外设驱动
  • system_S32K144.c 文件
  • OSIF接口文件,这个文件是一些通信外设驱动文件需要引导的操作系统接口API,如信号量,互斥量等。
  • main.c :用户主函数

我们把上面所需的这些文件,添加到对应的每个工程的目录文件夹中。

4)工程配置

我们点击魔术棒的按钮,然后对工程进行基本的配置。主要就是配置下头文件的路径,还要一些常用的设置就行了。注意的是,我们需要选择AC6版本的编译器,因为NXP最新的SDK选择只支持AC6版本的编译器了。

1、勾选使用 Use MicroLIB ,这样我们可以使用printf函数进行打印调试。

在这里插入图片描述

2、配置头文件路径

在这里插入图片描述

3、汇编编译器选项添加 START_FROM_FLASH 这个宏定义。

在这里插入图片描述

4、选择 .sct 散列文件。

NXP的SDK,里面的代码用到了大量的自定义的外部符号了,而这些符号都是在散列文件中定义的,所以我们需要使用NXP自己写的散列文件。而不能使用MDK-Keil自动生成的散列文件。

在这里插入图片描述

5、调试选项的配置

调试器选择自己对应的调试器即可,我使用的是J-Link调试器。

在这里插入图片描述

最终,使用MDK-Keil开发S32K144的模板工程就新建好了。

然后我们编译这个工程的结果如下:

在这里插入图片描述

提示说有2个警告,都是说这个版本不支持 xxx 什么的符号,我目前还不了解怎么去除这2个警告,先不管他,后面有机会再了解。

后续我就根据这个模板工程,进行S32K144的开发学习了。

### 回答1: Keil平台是一款集成开发环境,非常适用于嵌入式系统领域的开发S32K144是一款低功耗,高可靠性的汽车MCU,其具有强大的性能和安全性能,能够满足汽车电子领域的应用需求。 在使用Keil平台来开发S32K144时,需要先进行环境搭建。首先需要下载安装Keil MDK软件,然后安装S32 Design Studio,并将S32K144芯片的芯片支持包(包括头文件和库文件等)添加到对应的文件夹。 完成环境搭建后,可以进行代码编写。Keil平台提供了完备的代码编辑器和调试器,可以进行代码的编写、调试和优化。在编写代码时需要注意S32K144的特性,例如低功耗、安全性能等特点,还要考虑到汽车电子领域的应用需求。 在代码编写完成后,需要对代码进行编译、链接、下载和调试等操作。Keil平台提供了方便的工具和界面,简化了这些操作的流程。根据S32K144的特性和应用需求,需要进行调试和优化,保证代码的稳定性、可靠性和高效性。 综上所述,Keil平台是一款非常适合开发S32K144的集成开发环境,可以简化开发流程,提高开发效率,更好地满足汽车电子领域的应用需求。 ### 回答2: Keil是一款嵌入式软件开发工具,在Keil平台上可以基于ARM Cortex-M系列MCU进行软件开发S32K144是一种由NXP公司推出的汽车级MCU,并且支持Cortex-M4内核,因此我们可以使用Keil平台进行S32K144的软件开发。 首先,需要下载Keil MDK汇编软件,并通过官网获取S32K144的芯片支持包。安装完成后,我们需要进行项目配置,包括每个工程的名称、输出目录和各种编译选项。然后,我们需要添加相应的.c程序和.h头文件到工程,并编译和构建程序。 在Keil平台上,我们可以采用调试器和仿真器来进行程序调试。通过仿真器,我们可以在裸机环境下调试应用程序,并使用调试器来观察程序断、变量、寄存器等的值。此外,在Keil平台上,还可以使用SDK(软件开发工具包)进行MCU资源的管理,包括时钟管理、GPIO技术和串口通信等。 另外,Keil还支持Cortex-M3和Cortex-M0内核的MCU。因此,我们可以轻松地切换到不同的MCU平台,并在Keil平台上进行软件开发Keil还提供了丰富的用户手册和参考文档,可以帮助开发者更方便快捷地使用Keil平台开发嵌入式应用程序。 总之,Keil平台是一款高效、简单易用的嵌入式软件开发工具,可以为开发者提供全面的软件开发解决方案。它可以帮助用户开发高质量的应用程序,缩短开发周期,提高产品的稳定性和可靠性。 ### 回答3: Keil平台是一种熟悉的嵌入式软件开发工具,它具有丰富的特性,可以轻松地开发嵌入式软件和系统。对于S32K144Keil平台提供了很多便利的开发工具和支持。 S32K144是一款高性能的汽车微控制器,它具有强大的处理能力和丰富的外设。Keil平台可以帮助开发人员快速开发S32K144的嵌入式软件。Keil集成的示例程序可以让开发人员了解每个外设的基础功能。此外,Keil平台支持多种编程语言,如汇编、C语言、C++等,开发人员可以在此平台上使用自己熟悉的编程语言进行开发Keil平台还有一个非常重要的功能是调试。Keil的调试器功能允许开发人员在电路板上调试代码。开发人员可以设置断点、检查变量和实时监控代码执行,以便更有效地调试程序代码。在众多的嵌入式开发工具Keil的调试功能非常简便易用,能够大幅提高开发效率。 此外,Keil平台还有很多其他有用的功能,如版本控制、自动构建、项目管理等,这些都能减少开发时间和人力成本,提高项目的可靠性和可维护性。 综上所述,Keil平台是一种强大的嵌入式软件开发工具,它为S32K144提供了完善的开发支持,开发人员可以利用这些功能更快地开发、测试和调试嵌入式系统。Keil平台相当于是一个平台,为开发人员提供了轻松的开发环境,能够显著提升开发效率,让人们可以专注于创造更好的嵌入式解决方案。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值