MATLAB Answers

cao lan

build standalone application running in Raspberry Pi?

Asked by cao lan
on 15 Jan 2014
Latest activity Commented on by Thanh Ngo on 9 Sep 2019
Hi all I'm new in using Simulink model to build an application that run in Raspberry Pi. I have a question that can I build a standalone application with the board: means that I build a Simulink model in matlab, load into the board, stop Matlab and plug out the connection with the computer. Does the program that has been loaded in the board can work alone without matlab? Thank for any help :)


Sign in to comment.


6 Answers

Answer by Murat Belge on 25 Feb 2014
 Accepted Answer

Yes. The Simulink model is converted to an executable that runs on the Raspberry Pi board. Typically, the executable is saved in "/home/pi/<Simulink model name>/MW directory. The name of the executable is the same as the Simulink model name. You can run this executable any time after compiling your Simulink model once.


but if I start the model by this way, how can I stop it?
@Piro, did you find how to stop a running simulink model? I know ctrl+c is one option. But looking out for a better option to stop the running model.
I cant find the command used to execute the file.There are over 20 files in that directory.And once its executed and running,how to watch the results of the Computer Vision model I had uploaded?

Sign in to comment.

Answer by fatima
on 21 Apr 2017

Hi everyone. I'm facing the same problem. I build a model in matlab; it loads successfully on raspberry pi 3 board and runs OK. My model simply sends an array of uint8 over UDP to a server. I found the project in /home/pi/[ProjectName]_ert_rtw and I was even able to build it again in linux (by renaming the "[ProjectName].mk" file to "Makefile" and "make all" command). However the "[ProjectName].elf" file is not doing the task it's supposed to do (Not before nor after rebuilding in linux). I took a look inside the c files of project and I found out that the executable file accepts some input arguments. I saw that my server IP address was set in one of the c files, but I gave it as input to executable too (Something like this: [ProjectName].elf -hostname [ServerIP] -port [MyPort] -protocol UDP). In my sever, if I send something back, I see that the running code indicated that it received an invalid packet, and sometimes it sends back some gibberish to server too.
I think that some part of the code is running, but it needs something as input argument to tell it to use constant parameters and run the main task.
Any body facing this problem? Any idea to solve the problem would be appreciated.


My bad! I found my problem. I used the Run button to deploy the model on the board. It created the executable file. I tried to run that file and it did not work. To create the standalone executable, "Deploy to Hardware" button is used. It creates the executable file with the same name. That file is running OK and does all the job! I hope it can help anyone else that was confused like me.
Hi, Could you share how to send and receive data between 2 Pi using Simulink? I am currently doing the project of multirobot cooperates using raspberri pi to communicate and arduino for speed control. I Have problem with communication between 2 Pi in Simulink.

Sign in to comment.

Answer by Mirko
on 23 May 2014

Hello, I created a model in simulink and I find the files in the directory MW, but I can not get it running independently. If I launch the simulink model to work properly. What is the right command to give Linux to run the model?


Show 1 older comment
hi. i created a Simulink model to control a DAC (MCP4921). it works well when I push the run button (external mode) in Simulink. I tried to run it standalone using the Linux command sudo ./Name_of_the__simulink_generated_program_file. It doest work. I only see "**starting the model**" but it doesnt do what is expected. What is the right way to run a simulink model standalone? Appreciate for the help.
"VCOpll ", I am facing the same problem that faced you. Did you solve this problem?
As far as I can see your model is running on RPi but it doesn't have the code that you expected it to have. Namely, MATLAB Function block (I guess that is the one you were using) doesn't support all the functions you can imagine. With other words: in the phase of compilation Simulink Coder doesn't generate code for those functions. Consult the documentation about that (I would start with MATLAB Function block).

Sign in to comment.

Answer by Mirko
on 25 May 2014

Hi, I solved by putting a line in / etc / crontab file that launches the program start automatically


what line did you put??
what line did you put????????????????
In terminal: sudo crontab -e add line: @reboot sudo /home/pi/./nameapp

Sign in to comment.

Answer by Basava Chetan on 12 Jan 2017

How to bulid digital hearing aid using raspberry pi 3?


Sign in to comment.

Answer by Dudi Rendusara on 4 Oct 2017

Hi I am experiencing the same problem. What is the extension for the executable it generates? Is it the model_name.elf file? Too bad Mathworks does not provide detailed explanation on how to run simulink model independently in raspberry pi.


Sign in to comment.