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

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值