SPRADJ0 February 2025 AM2612 , AM2631 , AM2632 , AM2634 , AM263P2 , AM263P4 , AM2732 , AM2732-Q1 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62D-Q1 , AM62P , AM62P-Q1 , AM67 , AM68A , AM69A , DRA821U , TDA4AEN-Q1 , TDA4AH-Q1 , TDA4AL-Q1 , TDA4AP-Q1 , TDA4VE-Q1 , TDA4VEN-Q1 , TDA4VH-Q1 , TDA4VL-Q1 , TDA4VM , TDA4VP-Q1
AUTOSAR® is a standardized approach to develop automobile software. Microcontroller Abstraction Layer (MCAL) comes under the AUTOSAR Classic Platform specifications. MCALs provide an interface to hardware components by bundling several categories of drivers with them that can manage the respective set of components and offer several supported functionalities. An MCAL package is delivered specific to a target package, that is, MCALs being hardware dependent are offered for each of the supported device families such as Sitara™ AM263x, AM263Px, AM273x MCUs, AM62x, AM62Ax, AM62Px MPUs, Jacinto™ DRA8x, and TDA4x processors.
Additional device peripherals and hardware units which are not standardized by AUTOSAR are delivered as an extended integration using Complex Driver Design (CDD). Though the pack is promoted by the term MCAL package, the bundle includes drivers from both MCAL and CDD layers. Any dependency requirement from the upper layers are provided in the package as a BSW Stub. A BSW Stub is an incomplete implementation of an upper layer component that is used to interface the driver layers for a standalone functional package delivery which gets replaced by the complete components in a full AUTOSAR stack offered by leading AUTOSAR vendors.
Sitara™ and Jacinto™ are trademarks of Texas Instruments.
AUTOSAR® is a registered trademark of AUTOSAR GbR.
Arm® and Cortex® are registered trademarks of Arm Limited.
tresos® is a registered trademark of Elektrobit Automotive GmbH.
Microsoft® and Windows® are registered trademarks of Microsoft Corporation.
Unix® is a registered trademark of The Open Group Limited.
All trademarks are the property of their respective owners.
Table 1-1 shows acronyms and definitions.
Acronym | Definition |
---|---|
API | Application Programming Interface |
ARXML | AUTOSAR XML |
AUTOSAR | AUTomotive Open System ARchitecture |
BSW | Basic Software |
CDD | Complex Driver Design |
CSP | Compliance Support Package |
ECU | Electronic Control Unit |
FSQ | Functional Safety Qualification |
FuSa | Functional Safety |
GUI | Graphical User Interface |
ISO | International Organization for Standardization |
IRQ | Interrupt ReQuest |
ISR | Interrupt Service Routine |
MCAL | Microcontroller Abstraction Layer |
MCU | Microcontroller Unit |
MPU | Microprocessor Unit |
Mip | Module Implementation Prefix |
RTE | Runtime Environment |
SIL | Silicon Integrity Level |
SDK | Software Development Kit |
SRS | Software Requirement Specification |
SWS | Software Specification |
TI | Texas Instruments Incorporated |
XER5F |
eXEcutable for R5F core |
MCAL is the same as the Hardware Abstraction Layer that is responsible for providing ways to interact with the underlying hardware system comprising a processor along with memory and the peripherals through the set of drivers based on the documented interface. MCALs are one of the layers under the AUTOSAR stack.
AUTOSAR is an open standardized software framework for Automotive Development, established by a group of leading automotive industrialists in 2003. The latest release is R23-11; succeeding releases R22-11, R21-11, R20-11, R19-11, ..., R4.4.0, R4.3.1, R4.3, R4.2, R4.1, R4.0.3, R3.2, R3.1, R3, and R2 that were published in 2006. Versions were numbered as R<YY>-<MM> where <MM> is month and <YY> is year of release in two digits, starting with R17-03 and prior releases were semantically versioned as v<Major>.<minor>.<Revision> until v4.4.0 and 4.5.0. The standards organization provides specifications under the Classic Platform and Adaptive Platform architecture, out of which the Classic Platform architecture standards include MCAL under the Basic Software (BSW) layer.
Figure 1-1 shows the Classic Platform standard layer architecture is comprised of an Application Layer, Runtime Environment, BSW Layer, and a Microcontroller layer just below. The scope of the Classic Platform architecture is from Application to µC.
The BSW Layer sandwiched between Runtime Environment and Microcontroller has the sublayers, specifically, Services Layer, ECU Abstraction Layer, and MCAL Layer colored distinctly in Purple, Green, and Red tint, respectively. Though the Complex Drivers block is not distinctly colored, the block is another sublayer of BSW that spans entirely within BSW from the microcontroller to the RTE interaction. Figure 1-1 shows the breakdown for MCAL and Complex Drivers.
The MCAL package is meant to be run on Arm® Cortex®-R core fabricated by Texas Instruments on the multiple cores. For TI Jacinto™, Sitara™ MCU, and MPU Arm®-based device families, the Cortex-R5 core is the target core for supporting execution of the MCAL and CDD device drivers. At present, only single-core MCAL support is offered from TI on these device families.
Several settings for any driver can easily be done by using a graphical interface available with any of the AUTOSAR-compliant configuration tools. Several configurator tools are available in market such as Elektrobit (EB) tresos® Studio, Vector DaVinci Configurator, KPIT K-SAR, and so on.
Configuration plug-in in MCALs bundled for TI Sitara MCU, MPU and Jacinto processors are developed and tested on the EB tresos Studio configurator tool offered by Elektrobit. Elektrobit tresos Studio supports some additional features for the configurator plug-ins that can be leveraged on the tool while not providing direct cross-tool usability. This accounts for features such as template-based code generation and XPath (short for Extensible Stylesheet Language Transformation Path) for getting nodes, which are not common among all AUTOSAR-compliant Configurator Tools.
EB tresos Studio is available with a Desktop GUI application on Microsoft® Windows® and can be used on Unix®-based systems as a CLI with <EB_Installation_Path>/bin/tresos_cmd.sh
.