fixedpoint library linking issue with slbuild

4 visualizzazioni (ultimi 30 giorni)
Ruchit
Ruchit il 26 Feb 2025
Commentato: Sivsankar il 7 Mar 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 Commenti
Raj
Raj il 3 Mar 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 il 4 Mar 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.

Accedi per commentare.

Risposte (1)

Sivsankar
Sivsankar il 6 Mar 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 Commenti
Ruchit
Ruchit il 6 Mar 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 il 7 Mar 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,

Accedi per commentare.

Categorie

Scopri di più su FPGA, ASIC, and SoC Development in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by