【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)编译代码,结果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/203551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式(5):常用符号

正则表达式&#xff08;5&#xff09;&#xff1a;常用符号 小结 本博文转载自 在本博客中&#xff0c;”正则表达式”为一系列文章&#xff0c;如果你想要从头学习怎样在Linux中使用正则&#xff0c;可以参考此系列文章&#xff0c;直达链接如下&#xff1a; 在Linux中使用正…

二叉平衡树

一直想深入的研究一下&#xff0c;并手写平衡二叉树的插入、删除代码。 二叉树是动态查找的典范&#xff0c;但在极限情况下&#xff0c;二叉树的查找效果等同于链表&#xff0c;而平衡二叉树可以完美的达到 log ⁡ 2 n \log_2 n log2​n。 AVL简称平衡二叉树&#xff0c;缩写…

Linux系统调试课:I2C tools调试工具

文章目录 一、如何使用I2C tools测试I2C外设1、I2C tools概述: 2、下载I2C tools源码:3、编译I2C tools源码: 4、i2cdetect 5、i2cget 6、i2cdump

Vue+ElementUI技巧分享:结合Sortablejs实现表格行拖拽

文章目录 前言准备工作示例代码代码说明1. 引入依赖和组件结构2. 组件数据和生命周期3. 实现拖拽功能4. 更新数据和服务器同步 运行效果总结 前言 在很多动态网页应用中&#xff0c;用户界面的交互性是提高用户体验的关键。在 Vue.js 中&#xff0c;结合 Element UI 和 sortab…

初识树型结构与二叉树

1. 树型结构 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff08;它是根朝上&#xff0c;而叶朝下的&#xff09;&#xff0c;其物理结构如下图所示&#x…

Ubuntu 20.04 安装 mysql8 LTS

Ubuntu 20.04 安装 mysql8 LTS sudo apt-get update sudo apt-get install mysql-server mysql --version mysql Ver 8.0.35-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)) Ubuntu20.04 是自带了 MySQL8. 几版本的&#xff0c;低于 20.04 则默认安装是 MySQL5.7.33 s…

rpm安装gitlab

1.rpm包下载 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 2.进行安装 rpm -ivh gitlab-ce-15.9.7-ce.0.el7.x86_64.rpm --nodeps --force 3.配置访问地址 vim /etc/gitlab/gitlab.rb 4.重新加载配置以及重启服务 gitlab-ctl reconfiguregitlab-ctl resta…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux文件管理(2)》(26)

《Linux操作系统原理分析之Linux文件管理&#xff08;2&#xff09;》&#xff08;26&#xff09; 8 Linux文件管理8.4 虚拟文件系统 VFS8.4.1 VFS 的工作原理8.4.2 VFS 超级块8.4.3VFS 的 inode 8.5 文件系统的安装与注册8.5.2 文件系统的注册 8 Linux文件管理 8.4 虚拟文件系…

HarmonyOS4.0从零开始的开发教程05 应用程序入口—UIAbility的使用

HarmonyOS&#xff08;三&#xff09;应用程序入口—UIAbility的使用 UIAbility概述 UIAbility是一种包含用户界面的应用组件&#xff0c;主要用于和用户进行交互。UIAbility也是系统调度的单元&#xff0c;为应用提供窗口在其中绘制界面。 每一个UIAbility实例&#xff0c;…

python数据分析基础

前言 2023年10月以来&#xff0c;一位在商学院就读的可爱同学遇上了一门课——python数据分析&#xff0c;并遇到了许多问题&#xff0c;找上了我&#xff0c;就此&#xff0c;我也开始了学习之路&#xff0c;虽然很浅显&#xff0c;但这些东西对部门同学来说也是受用的&#…

Weblogic CVE-2023-21839(metasploit版)

Step1&#xff1a;用docker搭建环境 Step2&#xff1a;docker查看映射端口 Step3&#xff1a;访问特定端口&#xff0c;然后靶标应用。 Step4&#xff1a;用metasploit进行攻击&#xff1a; 首先&#xff0c;打开metasploit&#xff0c;然后查询需要攻击的板块&#xff0…

指定分隔符对字符串进行分割 numpy.char.split()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 指定分隔符对字符串进行分割 numpy.char.split() 选择题 请问下列程序运行的的结果是&#xff1a; import numpy as np print("【执行】np.char.split(I.Love.China, sep .)") p…

Linux进程解析(冯诺依曼体系结构,操作系统,进程初步解析)

冯诺依曼体系结构&#xff1a; 我们常见的计算机&#xff0c;如笔记本。我们常见的计算机&#xff0c;服务器&#xff0c;大部分都遵守冯诺依曼体系。 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是有一个个的硬件组件组成&#xff1a; 中央处理器(CPU)&am…

Linux socket编程(12):Unix套接字之socketpair、sendmsg和recvmsg详解

在上一篇文章Unix套接字编程及通信例子中&#xff0c;我们对Unix套接字编程有一个基本的了解。但在Unix套接字编程的领域中&#xff0c;有一组特殊而强大的工具&#xff1a;socketpair、sendmsg 和 recvmsg&#xff0c;它们为实现本地进程间通信提供了便捷的方式。 文章目录 1 …

绝地求生:NH究极天命圈惊险吃鸡,17斩获单日积分第一,4AM梦游暂居倒数

绝地求生PGC小组赛B组第一轮的比赛即将结束&#xff0c;在刚刚那场决赛圈中NH和17给我们上演了非常精彩的较量&#xff0c;双方战至最后一人&#xff0c;最终由NH击败17收获一鸡&#xff0c;这两支PCL老牌强队总分都超过了40分&#xff0c;晋级胜者组对他们来说压力不大了。新队…

【FPGA图像处理实战】- FPGA图像处理仿真测试工程(读写BMP图片)

FPGA开发过程中“行为功能仿真”是非常必要的一个过程&#xff0c;如果仿真都没通过&#xff0c;则上板测试必定失败。 FPGA图像处理需要读写大量的图像数据&#xff0c;单看这些图像数据实际是没有规则的&#xff0c;如果直接上板测试&#xff0c;调试起来非常困难&#xff0…

看图学源码之— HashMap源码分析

简介&#xff1a; 是基于 哈希表 实现的&#xff0c;存放 k-v 键值对&#xff0c;非同步的方式&#xff08;未加 synchronized &#xff09;非线程安全的&#xff0c;hashmap 无序的数据结构&#xff1a; 数组 链表 > 数组 链表 红黑树「链表 和 链表 红黑树 都是为了解…

QT+Unity3D 超详细(将unity3D与QT进行连接,并实现信息传递)

QTUnity3D连接 在QT中连接unity3D&#xff0c;首先要有一个unity.exe执行文件。在这里不提供unity执行文件的编写&#xff0c;只提供QT这边与unity3D连接和信息传递。 创建项目 创建一个新的项目&#xff0c;我创建的项目名称如下。 下图是我建立新项目的文件。APP文件就是…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux文件管理(1)》(25)

《Linux操作系统原理分析之Linux文件管理&#xff08;1&#xff09;》&#xff08;25&#xff09; 8 Linux文件管理8.1 Linux 文件系统概述8.2 EXT2 文件系统8.2.1 EXT2 文件系统的构造8.2.2 EXT2 超级块&#xff08;super block&#xff09;8.2.3 组描述符8.2.4 块位图 8.3 EX…

智能优化算法应用:基于社交网络算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于社交网络算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于社交网络算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.社交网络算法4.实验参数设定5.算法结果6.参考…