How to compile, using GNU GCC Raspberry Pi Simulink compiler, S-functions that need external libraries (.lib)?

4 次查看(过去 30 天)
I am trying to compile and deploy from my Win7 64bit laptop to a Raspberry Pi 3 Model B a Simulink Phase Space model having inside a Sfunction to include in the model a c++ code that my university provided me. I am sure to be connected to the Pi (I get the mypi variable and establish the connection), indeed I am able to compile and deploy to the Pi simple Simulink models (for instance to blink the Pi's green led).
The issue is when I try to compile the full Phase Space model because the c++ function needs some external libraries (.lib) to run. I am able to compile the .mexw64 file from Matlab using SDK compiler and providing it with the libraries. But when I compile and deploy the full Phase Space model from Simulink (''Deploy to hardware'' button) using the GNU GCC Raspberry Pi compiler I get an error saying the .lib extension is not recognized. So my question is how to compile Sfunction requiring external libraries .lib?
Thanks, cheers

回答(2 个)

Shivang Menon
Shivang Menon 2017-1-23
Are you able to simulate the model? To compile the S-function, you can use the mex function - https://www.mathworks.com/help/matlab/ref/mex.html#btx0rai-1 . So, something like
>> mex s_function.c other_c_files.c -lLibraryFolderPath -lLibraryName
This would create a .mexw64 file.
In order to include the library in the generated code, you need to add the library path and library files in the custom code section of code generation pane of configuration parameters. Refer to the following link:
  2 个评论
Simone Rafano Carna
编辑:Simone Rafano Carna 2017-1-23
Hi Shivang, thanks for the answer. Yes I am able to simulate, I am not able to deploy to the hardware (Raspberry Pi Model 3).
As I wrote: I am able to compile the .mexw64 file from Matlab using SDK compiler and providing it with the libraries. (i.e. I already use the mex function you suggest and it works).
The issue is when I deploy to the hardware the full Simulink Phase Space model... I ve also put that library in the custom code section of code generation pane of configuration parameters. Still doesn't work.
Thank you again Simone

请先登录,再进行评论。


Marian Kersting
Marian Kersting 2018-3-27
Did you install the "Raspberry Pi Hardware SupportPackage"? Does it work with this one? It deploys also al full Toolchain with GCC compiler. Somewhere over here... https://de.mathworks.com/hardware-support/raspberry-pi-matlab.html
  1 个评论
Rodrigo Estrella
Rodrigo Estrella 2019-1-8
I have the same problem but with source files cpp and hpp. I can simulate, i have installed the support package. The problem i have is that the source files are all copied in to the same ert_rtw directory in the raspberry pi, not respecting the original directory structure. Then when compiling the header files are not found (the includes in the files don't correspond to the files location in the raspberry pi)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Raspberry Pi Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by