我是靠谱客的博主 无辜中心,最近开发中收集的这篇文章主要介绍036_AUTOSAR学习笔记_MCAL基础架构,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

         MCAL是为控制抽象层的缩写。进一步,MCAL可以分成4个驱动组:微控制器驱动组、存储器驱动组、通信驱动组、输入输出驱动组。

         之前这部分我也有一定的了解,但是都已经忘得差不多了,关键是没有理解透。其实,软件应该可以通过树状结构来一个层级的划分,后续我自己设计软件的时候确实也可以按照这个做一下分组。

  1. 关于控制区驱动组
    1. MCU驱动
      1. 锁相环
      2. RAM初始化
      3. MCU低功耗状态(这个我没用过)
      4. MCU重启模式(我似乎也没用过)
      5. 硬件复位源查询(沾了一点边)
    2. 看门狗驱动

这部分多少有点疑问,如果是有外部看门狗的话这个属于这里吗?最起码,外部看门狗不该在MCAL吧?

    1. GPT驱动
      1. 通用定时器
      2. 操作系统的定时服务
      3. 其他的定时服务
  1. 存储驱动组
    1. FLS驱动,主要是FLASH相关的EE模拟、BootLoader等功能。从这里的描述看,Flash的驱动确实不该写在FLASH中,而是有一个加载引导的功能。
    2. EEP驱动
      1. 主要是EEP的读写功能
      2. 一个小疑惑:FLASH模拟EE应该属于前者还是在这里?外置的EEPROM又是怎样的分类方式?一般的分类是按照功能来分还是按照功能块所处的位置来分?
  2. 通信驱动组
    1. SPI驱动
    2. LIN驱动
    3. CAN驱动
    4. FlexRay驱动(FR驱动)
    5. 以太网驱动(ETH驱动)

一个小疑问:没有串口、IIC之类的通信吗?会明确到这样的程度吗?

  1. 输入输出驱动组
    1. PORT驱动
      1. 主要的功能是进行哥哥端口的配置以及初始化,在这里决定每个引脚最终配置成什么功能。
    2. DIO驱动
      1. 首先要完成PORT的功能,才会有DIO。DIO是提供对引脚读写功能的驱动。
    3. ADC驱动
      1. 应该也是建立在意PORT的基础上,提供AD采集的功能。
  2. PWM驱动
    1. 建立在PORT的基础上,提供PWM输出功能
  3. ICU驱动
    1. 建立在PORT的基础上,实现信号(PWM、脉冲计数、测量信号周期和占空比 、普通终端和唤醒终端等)。
  4. OCU驱动
    1. MCAL中没有专门的规定。

最后

以上就是无辜中心为你收集整理的036_AUTOSAR学习笔记_MCAL基础架构的全部内容,希望文章能够帮你解决036_AUTOSAR学习笔记_MCAL基础架构所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部