Silva, J., "Advanced Firmware Device Manager for Automotive: A Case Study," SAE Int. J. Passeng. Cars - Electron. Electr. Syst. 5(1):34-45, 2012, doi:10.4271/2012-01-0013.
This article describes a case study on firmware device management for automotive systems. More specifically it describes the objectives for the project, the methods used, results and conclusions.Objectives: The objective is to create an ecosystem to ensure updates to firmware are fast, reliable, and secure and fault tolerant. To achieve this goal, the most advanced technologies in telematics were combined to produce an automotive solution, including: (1) Bootloader; (2) Delta File; (3) File Compression; (4) Encryption; (5) Re-Flash; (6) Bluetooth® wireless technology; (7) USB; and (8) Flash File Systems technologies.Methods: A pilot project was developed from a case study to understand the complexity of the firmware update problem as it relates to the automotive industry. More specifically, to comprehend the bottlenecks we needed to overcome and to implement the best possible solution. Design and speed performance of the critical path were evaluated. Experiments also were conducted to determine where the software spent time. System components were re-designed where the software spent most of its time.Results: This paper describes the concepts behind this study from OEM and supplier points of view. It explains the constraints and optimization issues necessary to overcome. In addition, the paper details the critical items that impact overall speed performance of the final design. Finally, this paper shares sequence diagrams, memory maps, workflow diagrams and tables with performance data developed during design.Conclusions: By the end of this project, it became obvious the traditional Bootloader implementations require major re-designs to improve speed and security. This project also taught how to (1) use the above mentioned technologies wisely, (2) secure the software from attacks, and (3) improve product reliability. It also provided new insight on when and how to use encryption and compression technologies correctly to achieve best possible performance and increase security, as well as how to bind firmware to better flash for improved software update performance.