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


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

    目录

    程序安装

    BIFACES

    EB Tresos Studio 

    TC3xx MCAL Driver

    构建编译环境 

    Demo配置集成

    源码准备

    导入工程

    使用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 Tresos Studio 

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

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

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


    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生成MCAL动态代码

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

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

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

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

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

    右键“DemoApp”,然后选择“Generate project”生成动态代码,生成的代码可以在"\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.

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

  • 相关阅读:
    ch0-01
    Flink集群架构
    驱动开发,stm32mp157a开发板的led灯控制实验(优化),使用ioctl函数,让write/read函数的专注读写功能
    Qt实现侧边栏显示隐藏以及自定义提示框
    基于小波神经网络的数据分类算法matlab仿真
    49张图带领小伙伴们体验一把 Flowable-UI
    「PAT乙级真题解析」Basic Level 1092 最好吃的月饼 (问题分析+完整步骤+伪代码描述+提交通过代码)
    Unity Shader 溶解效果
    Rust常用特型之ToOwned特型
    Standard part function
  • 原文地址:https://blog.csdn.net/geek_liyang/article/details/134492127