Implementation of Auto-Code Generation in Legacy Code for Body Control Software Applications 2008-01-0749
The application of Model-Based Design (MBD) methodology to software development for automotive Electronics Control Units (ECUs) cannot be fully realized without auto-code generation. Auto-code generation does not lend itself directly to projects where carry-over designs and legacy code have to be utilized due to either budgetary limitations or customer requirements. In fact, the majority of existing ECUs still contain only manually-written embedded software and many projects only involve requirement changes and/or added functions. In this case, it is not practical to discontinue the usage of legacy code and create a full model for the purpose of auto-code generation. In this paper, we describe a methodology in which auto-code generation approach is leveraged by creating MATLAB® models just for new features and/or change requests. After the interface between auto-code and legacy code is carefully handled, the mixed code functionality is tested and validated by “wrapping” the auto-code and its surrounding interfaced legacy code in an S-function which can be simulated in a virtual test harness model. In this work, the MathWorks’ toolset including Simulink®, Real-Time Workshop Embedded Coder®, and Legacy Code Tool (LCT) was used. The methodology introduced in this paper has been successfully applied to production projects.