AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册

这篇具有很好参考价值的文章主要介绍了AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AUTOSAR系列教程合集

策略

整体将采用自底向上的方式进行讲解,开发路线可能会做略微调整。

开发路线

工程搭建--->BSW(MCAL--->通信协议栈(CAN/LIN))--->SWC--->代码集成--->测试。

开发风格

追求:干扰最小化,极简且正确。

目标

建成一套高质量的开发参考文档。

1、基于EB的MCAL---MCU驱动开发手册


版本记录

AUTOSAR系列教程合集项目
版本 编写日期 发布日期 作者 批准 描述
V0.1 2023.11.01 2023.11.12 心迹难寻 心迹难寻 初稿
V0.2 2023.11.15 - 心迹难寻 心迹难寻

             修正错误单词

前置条件

  • 声明

本教程仅供学习参考使用,请勿用于商业用途或二次创作,内容创作使用的软件,皆为试用版本或免费版本,如还有内容可能涉及侵权的,请告知,很抱歉、我会第一时间删除,谢谢理解!

未经本人书面允许,禁止使用本模板及内容!

  • 必备知识点/技能

一问三连:

①、MCU驱动的功能有哪些?

②、具备独立申请账号,寻求技术支持的能力?

③?

  • 开发工具

工具名称 版本 用途/描述
EB Troses Studio 24.0.1 配置MCAL
S32K14X_MCAL_4.2_RTM_1.0.3 1.0.3 MCAL驱动包
NXP S32K146 -

硬件载体

外部晶振:20Mhz

  • 参考文档

序号 文件名称 路径
1 AUTOSAR_MCAL_MCU_IM.pdf

C:\NXP\AUTOSAR\S32K14X_MCAL4_2_RTM_1_0_3\

eclipse\plugins\Mcu_TS_T40D2M10I3R0\doc

2 AUTOSAR_MCAL_MCU_UM.pdf

C:\NXP\AUTOSAR\S32K14X_MCAL4_2_RTM_1_0_3\

eclipse\plugins\Mcu_TS_T40D2M10I3R0\doc

  • 缩写与全称

缩写 全称
AUTOSAR Automotive Open System Architecture
PLL Phase Locked Loop
PMC Power Management Controller

前言

此文档简述了,基于EB Tresos软件配置MCAL--- MCU驱动模块的方法。

受众:主要面向,从事嵌入式汽车电子开发方向的工程师,和有基础的嵌入式开发人员。

目的:让用户快速上手开发MCU驱动。


一、MCU介绍与配置使用方法

层级关系

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

主要功能

初始化时钟,提供时钟参考。

主要接口函数

序号 函数名称 描述
1 Mcu_Init() -
2 Mcu_InitClock() -
3 Mcu_GetPllStatus() 获取锁相环PLL状态
4 Mcu_DistributePllClock() 使能PLL
//初始化伪代码

1  Mcu_Init();
2  Mcu_InitClock();
3  while(未锁定 == Mcu_GetPllStatus()){

   }
4  Mcu_DistributePllClock();

配置方法说明

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

Default Error Detect                                                   Version Info API 

开启或关闭默认错误跟踪器(Det)                           启用/禁用 API 以读取模块版本信息

Mcu Get Ram State API                                             Mcu Init Clock API  

启用/禁用Mcu_GetRamState函数                              启用/禁用 Mcu Init Clock API 函数

Mcu No PLL                                                                Mcu Enter Low-Power Mode 

如果硬件无PLL,且无需软件操作,启用此函数         启用/禁用低功耗模式函数

否则禁用此函数

Mcu Loops TimeOut (0 -> 4294967295)                Mcu Perform Reset API  

McuCalloutBeforePerformReset

McuPerformResetCallout 

McuCmuNotification

McuErrorIsrNotification   

Mcu Disable System Integration Module Initialization  

Mcu Disable Power Management Controller Initialization 

Mcu Disable Reset Control Module Initialization 

Mcu Disable System Mode Controller Initialization 

方法:以上参数具体功能及含义,见参考手册2。暂时不想写了,需自行去查看。

后面有时间再补充进去。

二、示例/实践

1、配置思路

EB作为MCAL配置实现的载体,其配置过程可简化为:

① 选择要使用的API功能函数;

② 时钟源配置、后级时钟配置(过程可简单理解为:开关数字和乘除法的组合使用);

③ 配置CAN、LIN、ADC、SPI、PWM等等外设的参考时钟;

④ 生成MCAL MCU驱动的配置.c和.h文件。

2、时钟树

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

从上图可以看出,S32K14x 共有四个时钟源:

① 快速时钟FastlRC;

② 慢速时钟SlowRC;

③ 外部时钟OSC;

④ PMC时钟(LPO128Khz)。

可供后级时钟:CORE_CLK、SYS_CLK、BUS_CLK、FLASH_CLK等总线时钟使用。

3、EB 新建工程

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

4、MCU配置

1、MCU->General

在通用界面中选择要使用的API函数,其他参数默认即可。

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

2、进入MCU->General->McuGeneralConfiguration选项下

① 配置外部时钟SOSC   McuSOSCClockConfig:

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

注:可自行根据使用的,评估板外部晶振频率进行配置。

② 配置慢速时钟SIRC   McuSIRCClockConfig:

不做配置,默认即可。

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

③ 配置快速时钟FIRC   McuFIRCClockConfig:

不做配置,默认即可。

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

④ 配置PLL时钟  McuSystemPll:

将PLL时钟配置为最大160MHz

计算公式:

PLL f =  ( SOSC x (PLL Reference Clock Divider) x (PLL Multiplier) ) / 2

PLL Div2 f =  (PLL f ) / (PLL Divider 2)

PLL Div1 f =(PLL f ) / (PLL Divider 1)

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

⑤ 配置MCU->General->McuGeneralConfiguration->General

对正常RUN、低速VLPR和高速HSRUN,这三种模式下的:CORE_CLK、SYS_CLK、BUS_CLK、FLASH_CLK等时钟进行配置,配置方法可参考④ 配置PLL时钟。

RUN

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

VLPR

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

HSRUN

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

⑥ 配置MCU->General->McuGeneralConfiguration->McuClockReferencePoint

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

扩展配置1  MCU->McuModeSettingConf

MCU默认为RUN模式,代码中也可通过Mcu_SetMode()改变MCU的运行模式,配置时需勾选Allow High Speed Run Mode和Allow Very-Low-Power Modes,可根据自身需求进行配置。

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

扩展配置2  MCU->McuRamSectorSettingConf

MCU调用Mcu_InitRamSection()函数,初始化RAM区域,可通过如下自行配置

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

3、MCU其他配置参数默认即可,有兴趣的朋友可自行去学习

4、MCU驱动配置代码生成

AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册,AUTOSAR,汽车,驱动开发,嵌入式硬件,mcu,c语言

5、MCU测试

后续补充,时间待定。


总结

整体讲述了,基于EB软件,配置MCAL MCU驱动的学习方法和实践路线。

下节预示(工程搭建和验证测试):

1、AUTOSAR---基于EB的MCAL PORT驱动开发;

2、AUTOSAR---基于EB的MCAL DIO驱动开发;

3、基于Green hills 搭建基本工程文件;

4、基于S32 Design Studio for ARM Version 2.2搭建基本工程文件。

最近很忙,后面会不定时更新。文章来源地址https://www.toymoban.com/news/detail-755842.html

到了这里,关于AUTOSAR合集 1、基于EB的MCAL --- MCU驱动开发手册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • EB tresos S32K3 MCAL MCU配置(一)时钟与晶振

    MCU配置(一)  时钟与晶振 1.时钟是什么,为什么需要时钟? 时钟对于CPU来说就等同于心脏,时钟频率的高低决定了CPU执行指令的速度,同时对于大多数外设来说也是需要一个时钟信号才能正常工作的,以通信相关的模块来说,一个信号本质上是高低电平的组合,比如我们要

    2024年02月11日
    浏览(34)
  • 英飞凌AURIX 2G 系列MCU关于外设模块MCMCAN的实现原理及对应MCAL(EB Tresos)配置项详细讲解

    目录 一、版本控制 二、功能概述 三、主要模块及涉及EB配置项 (一)通用时钟方案与控制 (二)波特率产生与位定时 (三)轮询与中断 (四)Port输入输出接口 (五)CAN FD实现 控制器延迟补偿 (六)报文接收处理 Acceptance Filtering Rx FIFO 0 and 1 Dedicated Rx Buffers (七)报文发

    2024年02月03日
    浏览(33)
  • 英飞凌AURIX 2G 系列MCU关于外设模块EVADC的实现原理及对应MCAL(EB Tresos)配置项详细讲解

    目录 一、版本控制 二、功能概述 三、主要模块及涉及EB配置项 (一)通用时钟方案与控制 (二)内部相关模拟模块的激活与控制 1.模数转换器控制 2.模拟信号缓冲 3.校准 4.降噪方法 5.Alias功能 (三)转换请求产生 (四)请求源仲裁 (五)快速比较通道操作 (六)转换时间

    2024年02月07日
    浏览(38)
  • 【Autosar】MCAL - MCU(NXP - S32K14x)

    MCAL - 汇总 配置工具:EB Tresos Studio 芯片类型:S32K146 MCU模块提供了访问 内核 相关功能的API,例如配置时钟、初始化RAM、设置低功耗模式、提供复位接口等。 1.1 时钟介绍 从上图可以看到最左边为输入时钟源,右边为输出时钟 ,为了让系统运行在合适的时钟频率环境下,我们

    2024年02月04日
    浏览(33)
  • Autosar MCAL-RH850P1HC Mcu配置

    2024年01月18日
    浏览(31)
  • 【AUTOSAR】RH850(F1KM) MCU PWM配置(MCAL)

    前言 在嵌入式项目中,我们经常需要使用到PWM信号。本文将基于汽车电子AUTOSAR架构下的软件开发方式。以RH850为例进行说明,介绍如何查阅芯片参考文档,并结合项目原理图,使用Davinci工具配置MCAL PWM模块,输出PWM波形。 仅供大家学习参考。 其他MCU的配置方法类似,需要找

    2024年02月13日
    浏览(32)
  • 一步一步搭建S32K14x的AutoSar项目----MCAL之MCU模块

    1-1、时钟对于任何一款微控制器是很重要的,所以我们首先要了解S32K144的时钟树,才能为后续的MCAL中MCU模块配置做好准备,废话不多说,先上一张图片,聊了解下 对应芯片手册的第27章 Clock Distribution 。 1、SOSC 就是连接外部的高速时钟,我们一般情况下会优先选择它,精准

    2024年01月22日
    浏览(33)
  • 7、AUTOSAR MCAL入门-实战:I/O驱动组

    在第三节中有介绍 AUTOSAR 把 MCAL 抽象分为4个驱动组,分别为:**微控制器驱动组,存储器驱动组,通信驱动组、输入/输出驱动组。**这一节将具体介绍 MCAL 微控制器驱动组的内容。 2.4、I/O驱动组 I/O 驱动组完成 MCU 片上以下输入/输出模块的驱动:端口控制(PORT)驱动、数字I/O引

    2024年02月10日
    浏览(28)
  • S32K144-NXP EB tresos MCU驱动配置详解

    S32K144平台 MCAL MCU驱动 在EB中的相关配置解析以及实战。 多图预警!!!!!!!!! ①Mcu Development Error Detect:Mcu模块开发错误检测使能。 ②Mcu Get Ram State API:获取RAM状态API使能。 ③Mcu Init Clock API:初始化时钟API使能。 ④Mcu No PLL:锁相环禁用。 ⑤Mcu Enter Low-Power Mode:进入

    2024年02月10日
    浏览(33)
  • S32K3系列MCAL配置详解之 UART(串口)基于EB tresos

    UART 串口通讯(Serial Communication)是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。严格意义上来讲串口通讯并不属于AUTOSAR MCAL 模块依赖:UART PORT MCU 串口配置相对比较简单,首先在uartchannel选项卡下新增一个配置项,双击进入 时钟参考等会儿

    2024年02月13日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包