Automatic generation of S function for a c code

I have a C code and want generate S function for it using matlab scripting..(Avoid manual steps required for s function generation)..Can any one help me for this

 채택된 답변

Kaustubha Govind
Kaustubha Govind 2013년 7월 22일

0 개 추천

You can use the Legacy Code Tool to generate a C-MEX S-function wrapper for your C-code.

댓글 수: 6

Thanks Kaustubha for the answer...It seems to be working for me...Additionaly I have one more question: My C function does not have any input argument nor it returns anything(it is of kind void main(void))...But I need to provide some input values for the internal signals of c code and simillarly I need to take few internal variables as output variables from the s function that will be created from my c code....Could you please let me know how it can be done...
Rupesh: Not sure what you mean by "internal variables". How would you provide/access the values if you were writing the code outside of Simulink?
suppose my code is like
main() { int a,b,c; c=a+b; }
As main function does not take any input argument nor it returns anything.. In my problem I have to pass values of variable a and b from matlab environment and then take out variable c in matlab environment
How are the values stored in the MATLAB environment? Is there a reason you are not using a From Workspace block feeding parameters to the S function ? If changing the C code is not allowed, then how does the C code get its values at the moment?
I have to connect these variables(here a and b) using inports in Simulink. and will provide values through test vectors in .m file.. On the same lines output c should be connected to outport of Simulink..
Looking after for your answer
Rupesh: Walter's question was about how you might invoke the C code from another C application and supply inputs. It seems to me that you have to rewrite your C code so that the inputs a and b are passed in as function argument and c as a return argument. Once you have done that, you can use the Legacy Code Tool to generate an S-function so that the block inputs are passed in to 'a' and 'b' and 'c' is assigned back to the block output.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Simulink Coder에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by