calling a c++ function using coder.ceval to be compiled on raspberrypi [error ./MW/modelname: No such file or directory]

1 回表示 (過去 30 日間)
arman sani
arman sani 2015 年 12 月 10 日
コメント済み: Dennis 2016 年 5 月 14 日
Hello,
I'm trying to access GPIOs by calling a c++ function (which uses the wiringPi) in simulink. The matlab function used in the model looks something like this :
function ledf(signalin)
%#codegen
persistent initflag;
coder.cinclude('/home/pi/blinkerf.h');
if strcmp(coder.target, 'rtw')
if isempty(initflag)
% Initialize step
coder.ceval('blinker_init');
initflag = 1;
else
% Output step
coder.ceval('blinker_update',coder.ref(signalin));
end
end
the functions ("blinker_init" and "blinker_update") and the header file blinkerf work fine when used directly on the raspberryPi in a c++ code, however when I try to deploy the model I get this error :
Error executing SSH command: make: Entering directory '/home/pi/simublink_rtt'
"g++" -lm -ldl -lpthread -lrt -o final ./MW/simublink -lwiringPi
g++: error: ./MW/simublink: No such file or directory
_simublink.mk:122: recipe for target 'MW/simublink' failed
make: *** [MW/simublink] Error 1
make: Leaving directory '/home/pi/simublink_rtt'
just in case, the Xmake configurations look like this:
I have no idea what should be found in this address or how i can modify this path. Any hints would be appreciated.
Thanks
Arman
  3 件のコメント
arman sani
arman sani 2016 年 1 月 21 日
Hi Vaibhav, raspi_example doesn work I'm not sure what I'm doing wrong there! and none of the examples, that are incluided in the support package, use C++ functions directly. They are all made up of RaspberryPi blocks. regards Arman
Dennis
Dennis 2016 年 5 月 14 日
Hi, I got the same error: Integrating custom code works with simulation, but not on another target. It seems like Matlab does not transfer the custom code to the raspberry pi. Ich checked the pi folders where stuff is compiled, and everything is copied there except my custom code. I integrated headers and .c references in both locations in the simulink options.
https://de.mathworks.com/matlabcentral/answers/262856-coder-ceval-on-raspberry-pi-undefined-reference-error

サインインしてコメントする。

回答 (1 件)

Venkatachala Sarma
Venkatachala Sarma 2016 年 1 月 14 日
編集済み: Venkatachala Sarma 2016 年 1 月 14 日
Hi,
This looks like a path issue. While including external code for Simulation and Code Generation, it is necessary to provide the include path and the names of the C++ files in the "Custom Code" Section of Configuration Parameters in addition to providing that information in the 'code.ceval' function. The external code information should be provided in the 'Simulation Target' tab and 'Code Generation' tab for them to be linked while performing Simulation and Code Generation respectively.
Go through the following documentation links to understand how to provide the include directory and C++ files in the Custom Code section.
Hope this helps.
Regards,
Venkatachala Sarma
  1 件のコメント
arman sani
arman sani 2016 年 1 月 21 日
Hi, I'll take a look at it as soon as I can. I actually gave up on MATLAB function and redid everything from scratch with S-function builder and fortunately it's working now. I'll post it here if find out where the problem was. Tanks a lot Arman

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeC Shared Library Integration についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by