Ultimately, the gathered information is converted into executable code. It is packaged to run on the customer’s embedded systems. The code can either be produced manually or generated automatically from a Controller Model that is developed during the model-based design process. Regardless of how the code is generated we focus on modelling, ease of understanding and simplicity throughout development. We focus on these aspects to make things easier for our customers on handover, but also to simplify maintenance and data input for the function.
Our Embedded Systems software engineers have in-depth expertise in all the stages that are needed to produce high-quality code that is ready for production. This stage almost always involves implementing C/C++ code for the chosen hardware. There are often various standards that must be followed, depending on the industry that the code will be implemented for. In the automotive industry, for example, these are usually ASPICE, AUTOSAR and ISO 26262.
Automatic code generation
One of the biggest advantages of model-based design is that production code can be generated automatically from a Controller Model. Ensuring that the generated code is good naturally requires a lot of work on the models and on the settings and adjustments that can be made before the code is generated. This work includes, for example, defining calibration constants, converting the model to fixed-point if necessary, optimizing the generated code for the target hardware, integrating custom code in the model and integrating the generated code in the existing code base.
At Combine we have long experience of developing processes for automatic code generation, for example in modelling standards, version management and TLC scripts for Simulink models. Our engineers have used both TargetLink and Embedded Coder to generate code.