参考文献:Layered Software Architecture

关键概念

  1. 总体架构:

    应用层,运行时环境,基础软件层。

  2. 基础软件层

    服务层,ECU抽象层,微处理器抽象层,复杂驱动。

  3. 基础软件层-再划分

    系统,存储,通信。crypto service:加密服务;Off-board:外接;

  4. 微处理器抽象层

    内部驱动抽象,与微处理器和内部外设相关的软件模块组件,由处理器芯片厂家提供,应用商进行配置,通常采用EB配置。
    实现目标 :使高层软件独立于具体的微处理器。

  5. ECU抽象层

    对外设(无论是外部,还是内部驱动外设)进行抽象。与微处理器无关,和ECU硬件设计有关。
    实现目标 :使上层软件独立于uC和ECU的硬件设计。

  6. 复杂驱动

    复杂驱动是个筐,什么都能往里装。实现定制化的特殊目标的功能组件的集成。

  7. 服务层

    服务层是基础软件的最高层。
    包含: 操作系统功能;整车网络通信和管理服务;非易失性存储器管理服务;诊断服务(UDS通信,错误记忆,故障处理);ECU状态管理,模式管理;逻辑和时间程序流监控(看门狗管理)。
    实现目标:为应用层,RTE和基础软件提供基础服务。

  8. RTE

    为应用层,autosar软件组件,autosar传感器和执行器组件提供通讯服务。再RTE之上,软件架构类型变化为组件类型。
    软件组件通过RTE和内部ecu、外部ecu或服务通信。

  9. 基础软件层的分类

    基础软件层可以划分为以下类型:IO通信、存储、加密、通信、外部设备通信、系统服务。

  10. 驱动(内部,外部)
    内部驱动划分为:EEPROM、内部can控制器,内部adc等等;位于MCAL.
    外部驱动:如eeprom、看门狗,外部flash。位于ECU抽象层,A driver for an external device is called external driver and is located in the ECU Abstraction Layer. It accesses the external device via drivers of the Microcontroller Abstraction Layer.通过微处理器抽象层访问外部设备。
    SBC芯片:系统基础芯片。

  11. 交互接口

    交互解耦是一个抽象下层模块的通用交互通道。接口不改变数据内容。通常情况下接口位于ECU抽象层。

  12. handler

    concurrent:并发;multiple多重;asynchronous:异步;queuing:队列; arbitration:仲裁;multiplex:多路技术;通常在驱动或接口中应用;

  13. 管理器

    The NVRAM manager manages the concurrent access to internal and/or external
    memory devices like flash and EEPROM memory. It also performs distributed and reliable
    data storage, data checking, provision of default values etc. NVRAM管理器管理对内部和/或外部内存设备(如闪存和EEPROM内存)的并发访问。它还可以执行分布式和可靠的数据存储、数据检查、提供默认值等。



  14. 库:比如定点计算库,浮点数据的插入,CRC校验,浮点数学,bit处理,扩展功能等等。
    注意:可重入和不可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误; 而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。

  15. 微处理器抽象层

    微处理器抽象层包含以下组件:
    微处理器驱动(内部外设的驱动,如看门狗,计数器等等)
    通信驱动:如SPI,CAN,ethernet,lin,flexRay,OSI-层;
    存储器驱动:内部flash,内部rrprom,外部存储器的存储映射;
    IO驱动:比如模拟,数字Io;
    加密设备驱动:如片内SHE,HSM;
    无线通信驱动:内部通信,外部通信;

  16. SPI管理驱动

    SPI驱动管理允许并发的多个客户端同时访问一个或多个SPI外设;在多核系统才涉及。SPI的片选也应该在SPI驱动管理模块中进行管理,而不是DIO中。

  17. 复杂驱动

    实现目标:实现特殊功能,或对实时性要求较高的复杂传感器或执行器。

  18. IO硬件抽象层

    实现目标: 抽象ECU硬件IO或者单板IO布局。

  19. 通讯硬件抽象层

    实现目标:提供相同的接口,而不论通信的硬件驱动位置。

  20. 存储器硬件抽象层

  21. 板上设备抽象

    抽象特殊的板上设备,如看门狗。

  22. 加密硬件抽象


    加密服务管理,密匙管理。

  23. 通信服务

    实现目标: 向整车瓦哥罗提供统一的接口;向网络管理提供统一的服务;整车诊断通信提供统一的接口;向应用层隐藏协议和消息属性。

  24. 系统服务

  25. 故障处理,上报和诊断

autosar-Layered Software Architecture相关推荐

  1. Software Architecture Pattern(Mark Richards)笔记

    软件架构模式 缺少规范架构的程序通常会变得紧耦合.脆弱.难以更改,缺少清晰的发展方向和愿景.这本小书用50多页介绍了常用的5种常见架构模式,相信不管是大牛还是萌新都会有所收获,特别是对我这种偏爱系统设 ...

  2. PUB/SUB Pattern-Oriented Software Architecture v1巨详细读书笔记 11

    GoF的Observer有没有什么变体存在,他的别名可以叫什么?在本笔记中,Publisher-Subscriber(出版-订阅)模式为这些问题做了完美解答.在笔记的最后还描述了Pattern Sys ...

  3. 软件架构(software architecture)

    软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计.软件架构是一个系统的草图.软件架构描述的对象是直接构成系统的抽象组件.各个组件之间的连 ...

  4. 【NXP DN 系列】浅谈 DPAA1 Software Architecture 工作原理

    浅谈 DPAA1 Software Architecture 工作原理 一.介绍 DPAA1 的主要目的是在片上系统( SOC )的 IO 部分内提供智能处理,以进行路由和管 理与流量相关的处理工作, ...

  5. Understand Event-Driven Software Architecture

    下图说明了基于事件的软件体系结构 与请求-响应通信模型不同,基于事件驱动模型的软件体系结构使事件生产者与事件使用者分离,从而简化了连接系统中的通信模型.无需请求服务器即可获取有关特定状态的信息. 而是 ...

  6. 软件体系结构的分析与测试,软件体系结构分析与评价,software architecture analysis and evaluation,音标,读音,翻译,英文例句,英语词典...

    内容提要:虚拟制造技术是由虚拟现实技术支持的新的研究领域,它是用三维的和动态的仿真模型模拟产品设计与制造及其相关的过程.虚拟制造系统是企业集成的一种新方案,本文给出一种基于集成概念的虚拟制造系统的体系 ...

  7. 软件体系结构--《Software.architecture.perspectives.on.an.emerging.discipline》

  8. 是时候停止说“软件架构”了 It’s Time to Stop Saying “Software Architecture”

    读到一篇文章,其中讲到关于软件不是简单机械的建筑架构隐喻,而是一个"不断发展的生态系统",这个观点跟小编不谋而合,特摘录与此分享大家. "架构"是软件工程中非常 ...

  9. Fundamentals of Software Architecture:An Engineering Approach学习笔记

    目录 1.总览 2.介绍 2.1 定义 2.2 架构师要求 2.3 软件架构定理 3.架构思维 4.模块化 4.1 定义 4.2 衡量模块化 4.2.1 内聚性测量 4.2.2 耦合性测量 4.2.3 ...

  10. Software Architecture: The Hard Parts Modern Trade-Off Analyses for Distributed Architectures学习笔记

    1.总览 2.拆分 2.1 识别耦合 2.2 架构模块化 2.3 架构分解 2.4 数据拆分 2.5 服务粒度 粒度的拆分和合并有相关的驱动因素 3.合并 3.1 重用模式 3.2 数据所有权和分布式 ...

最新文章

  1. nsTimer的简单用法
  2. 日本語のマナーを学びましょう
  3. python数据导出excel_python 数据生成excel导出(xlwt,wlsxwrite)代码实例
  4. ICE专题:ICE简介
  5. 微云服务器失败原因_梦幻西游:服务器发生异常?游戏出现明显卡顿感,正在排查问题...
  6. opengl启动过程
  7. oracle根据当前月份往前,oracle获取系统日期--当前时间+前一天+当前月+前一个月...
  8. 力扣-64 最小路径和
  9. jdk HashMap源码解读
  10. DHTMLX JS Gantt Library 7.1.13
  11. python-华三防火墙过期策略统计
  12. python redis缓存_第二百九十五节,python操作redis缓存-字符串类型
  13. Apple iPad
  14. PCB线路板的制作工艺流程分享!2021-08-21
  15. Konga arm64 安装
  16. String------字符串的字母大小写切换及获取
  17. [RK3288][Android5.1] 移植笔记 --- gsl3673 触控驱动
  18. 基于matlab实现MSK的调制与解调
  19. Redis Queue使用第一天报错
  20. 大学生如何准备华为hcip认证及相关资料?

热门文章

  1. PayPal支付功能实现
  2. laravel实现汉子转拼音
  3. java 3的倍数_java,编写一个从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出foo,在每个5的倍数行上打印biz,在每个7的倍数上打印baz....
  4. Java笔记17:JAVA常用函数
  5. countif和sum套用_COUNTIF与SUMIF函数的常见用法
  6. 怎么撰写营销策划书?
  7. 决定成功十种积极心态,成功有道理
  8. Ubuntu(debian) 程序 dep 打包
  9. 数理统计基础 统计量
  10. 去水印小程序源码 独立版