Efficient Method for Modeling and Code Generation of Custom Functions 2011-01-0055
Custom functions are widely used in real-time embedded automotive applications to conserve scarce processor resources. Typical examples include mathematical functions, filtering routines and lookup tables. The custom routines are very efficient and have been in production for many years [
]. These hand-crafted functions can be reused in new control algorithm designs being developed using Model Based Design (MBD) tools.
The next generation of vehicle control software may contain a mix of both automatically generated software and manually developed code. At Ford Motor Company, the code is automatically generated from control algorithm models that are developed using The MathWorks tool chain. Depending on the project-specific needs, the control algorithm models are automatically translated to efficient C code using either The Math Works Real-Time Workshop Embedded Coder (RTW-EC) or dSPACE TargetLink production code generators. The production software can therefore contain a mix of hand code and code that has been automatically generated from one or both code generators. It would be cost-effective to reuse the same set of custom routines for the commonly used functions.
Two different methods were proposed to model and automatically generate efficient code for lookup tables with custom data structures [
]. However, several limitations can be encountered while deploying them for wider user base, different code generators or custom functions with complicated input attributes. A new method is proposed that provides all the capabilities of previously proposed methods. Additionally, the model building blocks developed with the new method allow the control algorithm models to be automatically translated into production C code using either of the two code generators with minimal modifications while overcoming many of the challenges encountered while applying some of the earlier methods.