简介

The automotive industry is becoming smarter and more electric, and as a result MCU controller applications in automotive electronics systems are also becoming more ubiquitous. MCUs based on Arm architectures are now widely used in automotive controllers. At the same time, MCUs based on the TriCore architecture also account for a significant percentage of the automotive controller market. Considerations such as demand, cost, development efficiency, and risk management have resulted in multi-architectural development and applications being on the rise in many practical use cases. Furthermore, increased chip performance has also come with more complex core architectures, upgraded instruction sets, and more numerous multi-core architecture applications. In other words, chips are becoming more complex, and this has resulted in more requirements during workload migration between different CPU architectures. The purpose of this manual is to compare and contrast the TriCore and Arm architectures while analyzing, from a software porting perspective, the elements that should be considered when porting software developed for the TriCore architecture to the Arm architecture.

This manual discusses porting from the TriCore architecture to the Arm architecture from two main aspects:

Ø  The first aspect is the differences between the TriCore and Arm architectures, which are explored primarily from the perspectives of CPU architecture and functional safety.

Ø  The second aspect is software development and porting, describing in detail the methods for porting software development for the TriCore architecture to the Arm architecture, as well as analyzing the porting process based on the AUTOSAR architecture.


详细介绍

In the automotive MCU controller field, the Arm architecture is a 32-bit CPU architecture. The Arm architecture is widely used in embedded system designs. It has low power consumption and is suitable for mobile communications and consumer electronics, such as mobile phones, multimedia players, handheld gaming devices, computers, and computer peripherals. It is also applicable to the industrial, automotive, and aerospace fields.

 

Arm CPUs cores are divided into three series: Cortex-A, Cortex-R, and Cortex-M.

Ø  Cortex-A series

The Cortex-A series of application processors includes the Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A5x, Cortex-A7x, and Cortex-A71x processors, which are based on the ARMv7-A, ARMv8-A, and ARMv9-A architectures. This series provides solutions for devices running complex operating systems (such as Linux, Android, and iOS). The Cortex-A series is widely applicable to a variety of use cases, ranging from low-cost handheld devices to smartphones, tablets, set-top boxes, and enterprise network equipment. It is capable of processing massive amounts of data and high-performance computing. This type of processor generally runs at very high clock speeds (generally over 1GHz). It supports memory management units (MMUs) required by Linux, Android, Windows, and mobile operating systems.

Ø  Cortex-R series

The Cortex-R series of real-time processors includes the Cortex-R4, Cortex-R5, Cortex-R7, Cortex-R8, and Cortex-R52 processors, which are based on the ARMv7-R and ARMv8-R architectures. As real-time microcontroller cores, the Cortex-R series is specifically designed for embedded systems that require high safety and performance. It provides fast and deterministic response times, making it an ideal choice for applications that have high requirements for real-time responses and safety, such as automotive, industrial, and aerospace systems. Although real-time processors cannot run complete versions of the Linux and Windows operating systems (apart from the Cortex-R82), they are capable of supporting large number of real-time operating systems (RTOS).

Ø  Cortex-M series

The Cortex-M series of microcontroller processors include the Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33, Cortex-M52, Cortex-M55 and Cortex-M85 processors, which are based on the ARMv6-M, ARMv7-M, ARMv8-M, and ARMv8.1-M architectures. The Cortex-M series processors feature cores that have low power consumption, high performance, and scalability, and include numerous features that make them suitable for embedded systems. They are designed to be easy to use, which is why they have been highly successful in the microcontroller, IoT, and embedded systems markets. The Cortex-M series is widely used in applications ranging from consumer electronics to industrial control systems, including the microcontroller market, IoT, embedded systems, and automotive controllers.

 

This manual uses the ARMv7-M architecture as the target architecture for porting. The ARMv7-M architecture includes the Cortex-M3, Cortex-M4, and Cortex-M7 processor architectures. Unless otherwise specified, the content of this manual will use the ARMv7-M architecture for reference.