How to get the same code generation for a whole Simulink model and referenced subsubsyem?

8 vues (au cours des 30 derniers jours)
I have a Simulink model simulating a system and its firmware. The firwmare is a referenced subsystem that I want to covert to C code and flash on my controller. Why when I generate the embedded code for the whole model I do not get the same interface for the referenced subsystem?
Having the same interface would allow me to test the simulation on the hardware before connecting inputs and outputs and testing the firmware only.
  1 commentaire
Sahas
Sahas le 10 Avr 2025
Hi @Enrica,
What do you mean by the line "I do not get the same interface for the referenced subsystem?" here?

Connectez-vous pour commenter.

Réponse acceptée

Mark McBroom
Mark McBroom le 12 Avr 2025
Have you tried making the sub-system atomic and then on the code generation tab, setting the desired interface for the function? Right-click the Subsystem block. From the context menu, click Block Parameters (Subsystem). From the Block Parameters: window, open the Code Generation tab.
If you are still not getting the desired code, try converting the referenced subsystem to a referenced model. In general referenced models are better than referenced subsystems for locking down the interface of the generated code.
  1 commentaire
Enrica
Enrica le 14 Avr 2025
Thanks for the reply!
Yes, the block of the firmware is already set to be `traten as atomic`.
I tried to convert the referenced subsystem to a referenced model and added a Configuration reference to the same configuration that every block has. It seems to work fine now.
Thanks for your help!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Deployment, Integration, and Supported Hardware dans Help Center et File Exchange

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by