fixedpoint library linking issue with slbuild

7 Ansichten (letzte 30 Tage)
Ruchit
Ruchit am 26 Feb. 2025
Kommentiert: Sivsankar am 7 Mär. 2025
I have a model with S-function which uses ssRegisterDataTypeFxpBinaryPoint for uint64, but I am getting error when try to create an executable with slbuild for my model.
It looks like linking error, how to link fixedpoint library when I create an executable of my model with slbuild.
  2 Kommentare
Raj
Raj am 3 Mär. 2025
Hi @Ruchit, I think it will be of great help if you can also attach the error message you are facing as well. This will make it easier for me or anyone in the community to accurately understand the issue and answer it better.
Ruchit
Ruchit am 4 Mär. 2025
Hi @Raj
Thanks.
I got this error when I use slbuild,
Error: undefined reference to `ssRegisterDataTypeFxpBinaryPoint' collect2.exe: error: ld returned 1 exit status
To add more info, I am using ssRegisterDataTypeFxpBinaryPoint in S-function to take uint64 datatype signal as input. When I run the model in normal mode, it is working fine, but got above error when I try to create executable of my model.
I have also defined fixpoint header file and .c file both in S-function.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sivsankar
Sivsankar am 6 Mär. 2025
To compile a fixed-point S-function, additional steps must be used compared to standard C-MEX S-functions.
  1. In your S-function, include "fixedpoint.c" and "fixedpoint.h". For more information, see: https://www.mathworks.com/help/fixedpoint/ug/structure-of-the-s-function.html
  2. Pass an extra argument, "-lfixedpoint", to the MEX command. For example:
>> mex('sfun_user_fxp_asr.c','-lfixedpoint')
Including this extra argument should help in resolving any linker errors you may encounter.
You can leverage the following documentation to larn how to create MEX functions : https://www.mathworks.com/help/fixedpoint/ug/creating-mex-files.html
  2 Kommentare
Ruchit
Ruchit am 6 Mär. 2025
Yes, I have followed both steps which you have mentioned. But in my case, I am getting this error while using slbuild function to create an executable for my model.
My Simulink model has S-function block inside.
Sivsankar
Sivsankar am 7 Mär. 2025
You will need to provide TLC code for the fixed pont S-Function when using 'slbuild' as Andy had mentioned in the comment: 'Hence a call to ssRegisterDataTypeFxpBinaryPoint in the standalong executable code just won't work. For generation of standalone code, you'll need to provide TLC code for the fixed-point s-function' of the following MATLAB answer,

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu FPGA, ASIC, and SoC Development finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by