MATLAB: Embedded coder simulink question: external .c and .h? create S function? use Matlab function block

custom codecustom fucntionEmbedded Coders-functionsimulink

Hi,
I think I am getting confused with all the products capabilities and which to use.
I would like to create a custom function in a simulink model that calculates a checksum amongst other things. Code is auto generated from the model to run on an arm microcontroller.
Preferably I would like to reuse this function across the model and maybe in futre in other models. What would be the best approach for this?
  1. Integrate C Code Using the MATLAB Function Block
  2. Create a wrapper around a .c file to create an S-function <not sure if this is even correct?
  3. Create a Matlab function to do this (what does the generated code look like, is it ok to do this?)
  4. Use simulink blocks to do this?
Thanks.

Best Answer

The preference order for me is as follows:
3-4-1-2
I would first and always try to go with solve my issue with a MATLAB Function block because it is really easy to implement your algorithm in it and for Simulink, it is easy to generate C code from it. See the following links: