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

6 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Birdman
Birdman il 29 Gen 2018
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:

Più risposte (1)

Joe Holdsworth
Joe Holdsworth il 30 Gen 2018
Birdman,
Thanks very much for your answer, what parameters define which method you would use?
  1 Commento
Birdman
Birdman il 30 Gen 2018
You are welcome, as I said, I would first try to use MATLAB Function.
Actually, to get used to the stuff and see the differences, why don't you implement something simple with Simulink blocks and MATLAB Function? A mathematical expression or else, implement something and generate code from it and see the differences and similarities.
By the way, if my answer helped, can you also accept it?

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by