AUTOSAR BSW | AUTOSAR Basic Software | Low Level Modules

是AUTOSAR体系结构中的一个组件,提供了汽车电子系统的基础软件服务。BSW包括一组标准化的软件模块和驱动程序,用于实现汽车电子系统的核心功能,如通信、诊断、内存管理、IO管理、定时和调度等。BSW还提供了一些标准化的接口和服务,使得应用程序可以方便地与BSW进行集成和交互

In this article we will see the AUTOSAR BSW (Basic Software) layer ( the layer below RTE). it is one of the important layers which helps application layer to use, communicate with different peripherals of MCU. If you are new to AUTOSAR then I recommend you to check out introductory article. The BSW configuration which we do in Configurator software like Vector DaVinci Configurator is actually configuration of this layer which is below RTE layer. We have already seen the AUTOSAR layered architecture in brief, today we will see it in detail.

本文中,我们将看到 AUTOSAR BSW(基础软件)层(位于 RTE 以下的层)。它是一个重要的层,可以帮助应用程序层使用 MCU 的不同外设进行通信。如果您是 AUTOSAR 的新手,我建议您查看介绍性文章。我们已经简要地看到了 AUTOSAR 分层架构,今天我们将详细了解它。

Untitled

Above figure shows detailed AUTOSAR Layered architecture. Lets summarize it.

上图展示了详细的 AUTOSAR 分层架构。让我们来概括一下:

·浅黑色层是 AUTOSAR 工作的微控制器。 ·红色块位于 MCAL(微控制器抽象层)之下,具有用于访问外设的驱动程序。MCAL 是 BSW 的最底层,此层高度依赖于 MCU,这意味着此层中的块将随 MCU 的更改而更改。 ·绿色层(除了 CDD)位于 ECU 抽象层之下。在这种情况下,抽象意味着隐藏模块的较低级别细节,并为上层公开 API 以实现功能。该层将 MCAL 层从上层抽象出来,并提供 API 以访问外部和内部驱动程序。ECU 抽象层有助于使上层 ECU 硬件无关。 ·下一层是 CDD(复杂设备驱动程序),它直接通过 RTE 将应用程序层中的 SWC 与 MCU 连接。它非常有用,用于编写未在 AUTOSAR 中定义的外围设备/外部设备的功能/驱动程序,或需要超出 OS 定时器最小滴答分辨率的极高时间限制的功能。但是,此层高度依赖于硬件,因此很难实现重复使用或可移植性。 ·下一层是服务层(所有蓝色块),是 BSW 的最顶层。该层为应用程序、RTE、BSW 模块提供基本服务。例如:操作系统功能、通信服务、内存服务(用于 NVRAM)、ECU 状态管理等服务。

We will see each block of each layer in detail in my future articles.

Internal and External Drivers in AUTOSAR:

In AUTOSAR context, there are two types of driver based on peripheral used they are: internal and external drivers. Internal drivers are used to access internal peripherals located in microcontroller peripherals like Internal EEPROM, ADC,etc. External drivers are used to access external peripherals located outside the micrcontroller like external Flash, EEPROM, Watchdog, etc. The internal driver lies in MCAL layer whereas the external driver lies in the ECU abstraction layer. There are exceptions for some external devices like memory mapped memories, which can be accessed by microcontroller directly and hence drivers for such devices lies in MCAL.

我们将在未来的文章中详细介绍每个层的每个块。

AUTOSAR中的内部和外部驱动程序: