MCAL MCU Module详解和配置说明

Posted 嵌入式软件实战派

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MCAL MCU Module详解和配置说明相关的知识,希望对你有一定的参考价值。

关注“嵌入式软件实战派”回复“AUTOSAR”获得更多实战教程。

以下内容包含:基本概念、模块依赖、应用时序、参数配置实践讲解,以及ECUM对其引用等。

1. 基本概念

描述了MCU(Microcontroller Unit) 驱动程序的功能和 API。 MCU 驱动程序为其他 MCAL 软件模块所需的基本微控制器初始化、断电功能、复位和微控制器特定功能提供服务。除了启动代码(见下图)之外,初始化服务还允许灵活的和应用程序相关的 MCU 初始化。启动代码非常特定于 MCU。本文档中提供的启动代码描述用于指导在标准化 MCU 初始化能够启动之前必须考虑的功能。

MCU 驱动程序直接访问微控制器硬件,位于微控制器抽象层 (MCAL) 中。

MCU驱动的功能特点:

  1. MCU 时钟、PLL、时钟预分频器和 MCU 时钟分配的初始化

  2. RAM 部分的初始化

  3. 进入MCU低功耗模式

  4. 触发MCU复位

  5. 提供从硬件获取复位原因的服务

2. 模块依赖

MCU模块有个依赖,即start-up code

在MCU驱动程序可以初始化之前,必须执行一个基本的MCU初始化。这个MCU特定的初始化通常在start-up code中执行。

上电和任何类型的MCU复位后,都要执行MCU的启动代码。它启动初始化,并应保持简短,也应涵盖MCU特定的初始化,不包含其他MCU服务或其他MCAL驱动程序的一部分。下面的描述总结了start-up code中包含的基本功能要求:

  1. 初始化interrupt和 trap vector tables的基地址;

  2. 初始化interrupt stack pointer(如果MCU支持);

  3. 初始化user stack pointer;

  4. 初始化context save operation用的Memory(如果MCU支持context save operation);

  5. 在初始化MCAL watchdog之前,保证MCU内部watchdog不要被触发,这个可以通过增加watchdog时间来做;

  6. 初始化并使能data/code cache memory(如果MCU支持cache memory);

  7. 初始化MCU内部关于内部memory的特定功能,例如memory protection;

  8. 如果用了External Memory,也要对其做初始化,并且还要做好区域划分;

  9. 不同的Memory划分配置,需要以参数的形式提供给start-up code;

  10. 需要默认初始化时钟,并包括全局时钟分频器;

  11. 需要使能特殊功能寄存器(SFR's)的保护机制(如果MCU支持);

  12. 初始化一次写入的寄存器或者多Driver公用的一次写入寄存器,而不是多次重复写入;

  13. 初始化最小量的RAM以供Driver service使用。

3. 应用时序

1)初始化

对MCU模块的一系列初始化动作。

2)唤醒

在睡眠之前,先调用Mcu_SetMode,然后在睡眠状态被唤醒,可以获得Wake-up Reason。

3)复位原因

通过调用Mcu_GetResetReason或Mcu_GetResetRawValue可以获得复位原因。

4)执行复位

这个比较简单,调用Mcu_PerformReset函数可以让MCU复位

4. 参数配置

MCU模块表面上用到的功能不多,但是配置并不简单,特别是时钟配置,需要熟悉MCU内部时钟参数和要求。

(剩下的内容请关注“嵌入式软件实战派”公众号继续阅读)

关注公众号号“嵌入式软件实战派”,获得更多关于AUTOSAR相关的内容。

在公众号对话框回复“AUTOSAR”可获得整个实战教程

>>>猜你喜欢

MCAL ADC Module原理和配置详解

AUTOSAR OS Hook总结

Os ShutdownHook调用深度剖析

MCAL SPI Module原理和配置详解

AUTOSAR Interrupt

MCAL Port Module使用详解与配置

MCAL Dio Module讲解与配置

AUTOSAR BswM Shutdown流程配置详解

详解BswM Initialization

详解EcuM Initialization

以上是关于MCAL MCU Module详解和配置说明的主要内容,如果未能解决你的问题,请参考以下文章

基于EB工具的TC3xx_MCAL配置开发06_PWM模块配置

AUTOSAR MCAL ADC原理详解和配置应用

webpack2的配置属性说明entry,output,state,plugins,node,module,context

MySQL-5.5.32 配置文件优化详解

POM文件配置详解(总体与单项)

heartbeat配置文件详解