目录
一、在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)编译代码,结果如下: