【S32K144】MCAL基础工程搭建

目录

一、在S32DS创建Application Project

二、MCAL工程

三、基于MCAL的集成


        以下示例基于S32K144EVB开发板进行。

一、在S32DS创建Application Project

(1)新建工程Application Project

(2)工程配置

(3)一路选择Next以及Finish完成工程创建,新建工程是可以正常编译成功的

二、MCAL工程

NXP的MCAL安装这里就不赘述了,在MCAL安装的路径下查找以下路径:.\eclipse\plugins

该路径下的各个文件夹包含各个模块的静态代码以及示例工程,以下以DIO模块为例:

以下讲解主要是将MCAL集成到S32DS工程中,这里直接就不单独新建和配置MCAL工程,直接使用MCAL安装后的示例工程:

打开EB工具,导入对应MCAL工程,选择生成配置源代码文件生成:

以下为MCAL配置工程生成的源文件,在MCAL工程的generate目录下:

三、基于MCAL的集成

(1)以下需要将MCAL的静态代码以及MCLA配置工程生成动态代码集成到S32DS工程中:

(2)由于S32DS新建的工程部分文件与MCAL源代码重复,需要删除以下文件:

include目录下的头文件:debassert.h、S32K144.h

(3)添加全局宏定义

(4)mian.c编辑:完成一个Led闪烁操作

#include "Mcu.h"
#include "Port.h"
#include "Dio.h"


void TestDelay(uint32 delay);
void TestDelay(uint32 delay)
{
   static volatile uint32 DelayTimer = 0;
   while(DelayTimer<delay)
   {
       DelayTimer++;
   }
   DelayTimer=0;
}


int main(void)
{
	 uint8 count = 0U;

	    /* Initialize the Mcu driver */
	    Mcu_Init(&Mcu_Config_VS_0);

	    Mcu_InitClock(McuClockSettingConfig_0);
	    while ( MCU_PLL_LOCKED != Mcu_GetPllStatus() )
	    {
	        /* Busy wait until the System PLL is locked */
	    }

	    Mcu_DistributePllClock();
	    Mcu_SetMode(McuModeSettingConf_0);

	    /* Initialize all pins using the Port driver */
	    Port_Init(NULL_PTR);

	    while (count++ < 10)
	    {
	        /* Get input level of channels */
	        Dio_WriteChannel(DioConf_DioChannel_LED, STD_HIGH);
	        TestDelay(2000000);

	        Dio_WriteChannel(DioConf_DioChannel_LED, STD_LOW);
	        TestDelay(2000000);

	    }
    return 0;
}

(5)编译代码,结果如下: