Infineon+EB构建MCAL驱动包Demo实现片内外设使用

news/2024/5/20 2:03:26 标签: 单片机, 嵌入式开发, Autosar, EB, MCAL, Tresos

本篇文章以实际MCAL示例程序的实现与使用,帮助读者理解MCAL层在BSW中具体担任的功能与角色。文章首先介绍了为了构建MCAL示例程序所需要的相关应用程序的安装;然后介绍了个软件相互集成配置的过程,达到可以编译生成可执行文件;最后讲解了可执行文件的烧录过程以及通过串口与程序实时交互来实现不同片内外设的Demo运行使用。

目录

程序安装

BIFACES

EB%20Tresos%20Studio%C2%A0-toc" style="margin-left:40px;">EB Tresos Studio 

MCAL%20Driver-toc" style="margin-left:40px;">TC3xx MCAL Driver

构建编译环境 

Demo配置集成

源码准备

导入工程

Tresos%E7%94%9F%E6%88%90MCAL%E5%8A%A8%E6%80%81%E4%BB%A3%E7%A0%81-toc" style="margin-left:40px;">使用Tresos生成MCAL动态代码

构建编译

Demo烧录运行 

烧录

通过Terminal配置程序运行


MCAL(Microcontroller Abstraction Layer)位于AUTOSAR软件架构中基本软件(BSW)的底层,是可以直接访问MCU寄存器和内部外设的底层驱动。它能够使UTOSAR软件架构中的上层软件(如ECU抽象层、系统服务层等)独立于MCU硬件平台,从而保证上层软件的标准化和通用性。

MCAL针对不同芯片内的外设按功能提供了相应的Demo,帮助我们能够更好地的集成MCAL到我们的项目中实现微控制器的驱动,下面我们按照使用流程分三个步骤来介绍MCAL中Demo的使用。

  1. 软件安装:为了使用MCAL中Demo,我们需要安装安装BIFACES,TRESOS,MCAL Packages以及编译工具等。
  2. Demo配置集成:我们根据实际使用情况,对Tresos等进行配置,最终构建工程。
  3. 程序执行:将可执行文件下载到英飞凌评估板,运行Demo。


程序安装

BIFACES

BIFACES(Build and Integration Framework for Automotive Controller Embedded Software)是基于Eclipse的工程组织框架,用于AURIX™ 软件开发。它可以将各个Autosar工具链中的软件组织为一个工程并进行统一构建生成可执行文件。

它的主要特点如下:

  • 轻松集成项目工程
  • 自动的MakeFile生成
  • 通用的构建环境
  • 支持不同的工具链
  • 可以通过命令行构建环境

在英飞凌官网上根据电脑系统位数下载“BIFACES Framework Package Win64”或者“BIFACES
Framework Package Win32” 。解压并运行安装程序可执行文件,以便BIFACES完整安装。


EB%20Tresos%20Studio%C2%A0">EB Tresos Studio 

EB Tresos Studio可以根据需要对芯片内外设进行配置,并生成各个模块的动态配置代码,配合MCAL提供的静态代码,提供相应接口供符合基于AUTOSAR的软件工程使用。

下载安装包按说明进行安装。

 安装“EB_Client_License_Administrator”,运行添加激活码,激活成功则工具安装完。


MCAL%20Driver">TC3xx MCAL Driver

安装MCAL静态驱动代码,代码分为三个部分:

  1. MCISAR Basic package:芯片基本模块,包括MCU,Port,DIO等。
  2. MCISAR COM Enhanced package:芯片通信外设增强模块,包括FlexRay与Ethernet。
  3. MCISAR MCD MCAL Complex Drivers:芯片复杂驱动部分,包括FLSloader,SMU以及DEMOCD。

每个 MCAL软件包都包括MCAL驱动程序安装程序和 MCAL 相关文档,例如: 

  • User manual:提供有关 MCAL软件包集成、安全、配置和功能以及重要功能的使用示例说明。
  • Release Notes:提供有关包内容和已知问题的信息,与上一版本相比的变化,以及有关工具、编译器的详细信息选件和支持包。
  • MCAL Configuration Verification Manual :描述结构、宏、从配置参数生成的声明和数据。这允许根据输入配置验证生成的代码的集成器参数。
  • TC3xx_SW_MCAL_HWErrataAnalysis.xlsx:包含对硬件的分析勘误表。
  • Demo Application note:提供有关构建和运行演示的详细信息。

下图是安装MCAL驱动之后生成的文件夹结构:


构建编译环境 

构建工程需要一个编译器,有三种编译器可以选择:

  • TASKING
  • HighTec
  • WindRiver

需要刷写工具或调试器才能将代码刷写到 triboard:

  • Infineon Memtool
  • The AURIX™ Free Entry Toolchain includes Universal Debug Engine
    (UDE) debugger 
  • Lauterbach, iSystem, PLS, etc…

安装DAS以驱动仿真下载器。


Demo配置集成

源码准备

MCAL提供了一个名为“TC3xx MCAL DEMO GUI.exe”的GUI,用于创建BIFACES使用的项目结构。运行 “TC3xx MCAL DEMO GUI.exe”,根据需要进行配置:

  1. 选择使用的MCAL版本和软件包(始终需要Basic)。
  2. 从下拉列表中选择设备和使用的编译器。
  3. 输入已安装的 MCAL包的路径。
  4. 输入Bifaces项目所在的输出文件夹创建(例如C:\MyFolder\MCAL_demo)。
  5. 指定编译器所在的文件夹。
  6. 如果您想复制 Tresos 插件文件(从MCAL包到 tresos安装文件夹),选中该框并启动
    tresos 安装路径(例如 C:\EB\tresos)

如果没有做第六步,手动拷贝MCAL包中的插件文件到Tresos中。

生成完成之后,在预设的文件夹中,下面的文件被创建。


导入工程

双击“StartBifaces.bat”执行脚本,使用BIFACES的默认路径workspace 文件夹,然后单击确定 (你可以如果需要,还可以选择其他文件夹),点击右上角的“Workbench”。

将刚刚生成的工程导入到BIFACES,导入的工程目录结构如下。


Tresos%E7%94%9F%E6%88%90MCAL%E5%8A%A8%E6%80%81%E4%BB%A3%E7%A0%81">使用Tresos生成MCAL动态代码

打开Tresos,导入工程中已经存在的Tresos工程文件。

在项目资源管理器中,展开“DemoApp”,双击 Aurix2g 项目以加载配置,展开了所有的相关模块。 

这里的示例工程已经将各个模块配置完成,我们可以根据自己项目的实际使用需求来进行修改进行功能验证,下图是MCU的EB配置界面。

修改生成代码目录到对应工程目录: "<MCALProject_Directory>\0_SrcAppSw\Tricore\CfgMcal"。

右键“DemoApp”,然后选择“Verify project” 用以验证配置的依赖。

右键“DemoApp”,然后选择“Generate project”生成动态代码,生成的代码可以在"<MCALProject_Directory>\0_Src AppSw\Tricore\CfgMcal"目录下看到。


构建编译

如果需要更改编译器的路径,右键单击“< MCALProject_Directory>\1_ToolEnv\0_Build 1_Config
Config.xml“并选择”打开方式“,然后选择”文本编辑器”。在 Config.xml 中,将“primaryToolchain”设置为为您提供的编译器。默认值设置为 Tasking (使用HighTec的话需要将 Tasking 替换为 “gnuc”)。

然后在BIFACES构建程序,最后就可以生成可执行文件。


Demo烧录运行 

烧录

正确连接电脑与开发板。

打开“IMTMemtool.exe” ,点击“Default button”,选择“Select “Use a default target configuration”,展开“TriCore™ Aurix2G”然后选择“Triboard with TC39x B Step(DAS)” 然后点击完成。

点击“Connect”摁扭,显示正常连接之后打开之前生成的.hex文件。

摁下“Select All” ,然后摁下“Add Sel. >>”,然后点击“Program”,就会开始刷写,最后成功之后会显示“success”。


通过Terminal配置程序运行

启动 BiFaces 终端并选择串行连接,选择英飞凌DAS COM端口,然后单击“确定”。单击“设置”,然后进行串口配置。

单击板卡上的重启摁扭启动程序运行。

然后您可以看到串口输出了Demo的选择菜单,如果您想运行DIO Demo,则摁下“c”即可,每个Demo还有自己独立的菜单,摁下“x”回退上一级菜单。


十六宿舍 原创作品,转载必须标注原文链接。

©2023 Yang Li. All rights reserved.

欢迎关注 『十六宿舍』,大家喜欢的话,给个👍,更多关于嵌入式相关技术的内容持续更新中。


http://www.niftyadmin.cn/n/5195816.html

相关文章

在Linux安装Nginx Proxy Manager并结合内网穿透工具实现远程访问管理界面

文章目录 前言1. docker 一键安装2. 本地访问3. Linux 安装cpolar4. 配置公网访问地址5. 公网远程访问6. 固定公网地址 前言 Nginx Proxy Manager 是一个开源的反向代理工具&#xff0c;不需要了解太多 Nginx 或 Letsencrypt 的相关知识&#xff0c;即可快速将你的服务暴露到外…

【算法】二分查找-20231120

这里写目录标题 一、75. 颜色分类二、80. 删除有序数组中的重复项 II三、125. 验证回文串四、189. 轮转数组 一、75. 颜色分类 提示 中等 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff…

单张图像3D重建:原理与PyTorch实现

近年来&#xff0c;深度学习&#xff08;DL&#xff09;在解决图像分类、目标检测、语义分割等 2D 图像任务方面表现出了出色的能力。DL 也不例外&#xff0c;在将其应用于 3D 图形问题方面也取得了巨大进展。 在这篇文章中&#xff0c;我们将探讨最近将深度学习扩展到单图像 3…

数据结构之双向带头循环链表函数功能实现与详细解析

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂。 目录 1.前言 2.带头双…

说一说HTTP1.0、1.1、2.0版本区别和优化

说一说HTTP1.0、1.1、2.0版本区别和优化 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于传输超文本的应用层协议。 在不同的版本中&#xff0c;HTTP经历了一系列的演进和改进&#xff0c;主要包括HTTP 1.0、HTTP 1.1和HTTP 2.0。 下面详细解释它们之间…

R语言和RStudio的下载安装(非常简便舒适)

目录 R语言和RStudio的关系R语言和Tableau下载R语言进入官网选择清华镜像源Download R for Windows选择base版本开始下载进行安装配置环境变量检查是否安装成功 下载RStudio进入官网点击下载进行安装检查是否安装成功打开选择R语言环境成功打开显示四个工作区 R语言和RStudio的…

电子学会C/C++编程等级考试2022年03月(一级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…

LeetCode【92】翻转链表II

题目&#xff1a; 思路&#xff1a; https://blog.csdn.net/DarkAndGrey/article/details/122146216 public ListNode reverseBetween(ListNode head, int left, int right) {if(head null || right left){return head;// 头节点为null&#xff0c;链表为空&#xff0c;反…