使用S32DS来开发KEA并配有LED闪烁的例程

注: 一个NXP代理商的建议:尽量选择官方S32DS来开发KEA和S32K系列,不建议使用第三方的IDE,包括Keil

之前也写了 篇类似的文章:使用Keil MDK for ARM来开发KEA并配有LED闪烁的例程

硬件准备

  • MCU:KEAZN64, 64 Pins(其它的MCU也是类似)
  • 仿真器: J-Link

也有许多同学问到如何使用J-Link与MCU的连接,我是使用SWD方式,请看图了:
在这里插入图片描述
其中J-Link的SWD相关接口的定义是:

  • 第1脚:Vref,这个必须连接MCU的供电电源
  • 第7脚:SWIO
  • 第9脚:SWCLK
  • 第15脚:RESET
  • 第20脚:GND

S32DS的安装

这个看之前的文章: 在Windows安装S32 Design Studio for ARM

LED闪烁的例程

LED原理图

在这里插入图片描述
使用PTD2来控制一个LED, 高电平就亮,低电平就不亮。

新建工程

(1)选择S32DS Application Project
在这里插入图片描述
(2)确定工程目录、MCU型号、工具链
在这里插入图片描述
(3)选择内核、SDK、调试器等相关参数
在这里插入图片描述
在这里插入图片描述
(4)最后生成的工程界面
在这里插入图片描述

编写程序

寄存器版本

我们修改一下main.c文件,如下

/*
 * main implementation: use this 'C' sample to create your own application
 *
 */
#include "derivative.h" /* include peripheral declarations SSKEAZN64M2 */

#define PTD2 26		 /* LED管脚 */

void Delay(void);

int main(void)
{
	GPIOA_PDDR |= 1<<PTD2;	/* PTD2: Data Direction= output */
	
	for( ; ;) {
		GPIOA_PSOR = 1<<PTD2;
		Delay();

		GPIOA_PCOR = 1<<PTD2;
		Delay();
	}
	
	return 0;
}

/*
 * 延时大概是400ms
 */

void Delay(void)
{
	uint32_t i,j;

	for(i=0; i<8; i++)
		for(j=0; j<65535; j++);
}

这里解释一下#define PTD2 26 /* LED管脚 */ 为什么是写26:

  • SKEAZN64系列包括GPIOA和GAIOB
  • PTD2对应是GPIOA的第26位
    在这里插入图片描述
库函数版本

上面的寄存器版本,得要去认真看手册,比较麻烦,开发效率也比较慢,我们以后推荐使用库函数版本

/*
 * main implementation: use this 'C' sample to create your own application
 *
 */

#include "derivative.h" /* include peripheral declarations SSKEAZN64M2 */
#include "gpio.h"


void Delay(void);

int main(void)
{
	CONFIG_PIN_AS_GPIO(PTD, PTD2, OUTPUT); /*Config LED0 as output */
	OUTPUT_CLEAR(PTD, PTD2);

	for( ; ;)
	{
		OUTPUT_SET(PTD, PTD2); 	/* Turn on LED0*/
		Delay();

		OUTPUT_CLEAR(PTD, PTD2); /* Turn off LED0*/
		Delay();
	}

	return 0;
}

/*
 * 延时大概是400ms
 */

void Delay(void)
{
	uint32_t i,j;

	for(i=0; i<8; i++)
		for(j=0; j<65535; j++);
}

编译工程

这个没什么好说的:
在这里插入图片描述

配置工程

(1)右击工程,选择 Debug Configurations
在这里插入图片描述
(2)新建GDB SEGGER J-Link Debugging
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注:以上的其它参数可以使用默认的配置

调试程序

(1)上面点击 Debug 后,接下来会进入调试界面:
在这里插入图片描述

(2)点击上图的绿色按键,程序将会运行
在这里插入图片描述
如果顺利的话,你将会看到LED不停地一闪一闪,其中周期是400ms:
在这里插入图片描述
在这里插入图片描述

小结

最后说一个坑,S32DS没有KEA8系列的SDK,只得使用寄存器版本:
在这里插入图片描述
OVER~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值