The object of my thesis is to give a detailed description on AUTOSAR software architecture, including the Memory Stack module management, and to realize the Non-volatile RAM Manager (NvM) on the Infineon TC277TE Aurix microcontroller. This module stores the user data in the non-volatile memory in application run mode, and is capable to, in case of an error occurs, restore the last used data, guaranteeing the data consistency.
The theme of my thesis is linked to the automotive industry developments at evosoft Hungary Kft. department of eCar Embedded & Ruintime. The previous projects used the Audo TC1798 microcontroller, and served as a hardware platform in the earlier software developments. Not long ago, our department switched to Aurix microcontroller family, which is very alike in architecture to the Audo microcontroller family, but has a greater performance in need.
In the first part of my thesis, I introduce the new Aurix TC277TE processor, including its architecture’s properties, programming model, and its main peripherals. At the end of this chapter, I give a brief comparison to the formerly used TC1798 processor, as well as explain the reasons, why our new NextGen project switched to the more modern hardware.
After this, in the 3rd chapter, I review the earlier mentioned AUTOSAR software architecture. This will include a summary on its history, the reasons behind the standardization, and I give a detailed overview on its layered software architecture.
Next, in 4th chapter, I present the realization of my thesis object; introduce some of the software environments and devices, which were useful during my work. Thereafter, I give an in depth overview on the implementation of the Memory Stack, explaining all the reasons and benefits of using each module.
On the implemented modules it is essential to ascertain their functional behavior, so finally I demonstrate the efficiency of the Memory Stack by proving it with a few sample programs. To certify the designed and implemented modules, I make some test cases, which reveal how the system responds to various error cases, and how it restores the dataset which contains the most information.