This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-F28379D: IQMath with Sysconfig

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Hello,

I tried to add the IQMath library with Sysconfig Plug in.

I started from a clean project (no compilation problem)

I added an IqMath, as I would do for a peripheral:

When building the sysconfig file, the IQmath library is automatically added to my includes files

I expected that IQMathLib.h would be included in board.h, generated by SysConfig, but it does not seem.

Ayway, if I try to build the project, an error occurs:

Can somebody explain to me how to add IQMath Library with Sysconfig without building error ?

Do I have to include IQMathLib.h in my project by myself, or did I miss something in files Sysconfig generated ?

Thank you for your help.

Vincent

Edit: I saw that sysconfig generates C2000Ware_librairies.h. This includes IQmathLib.h. Including C2000Ware_librairies.h at the beginning of my code and call C2000Ware_librairies_init() does not resolve my problem, ouf course

The returned message is:

error #10016-D: --abi=coffabi not supported when producing ELF output files

  • I just turned the ouptut format into eabi ... can somebody tell me if this is the regular way to make it work ?

  • Hi Vincent, 

    Allow me to recreate the steps you performed to run into this issue. I see you are using C2000Ware v5.00.00.00 which is the latest, so that is good. Which of our empty projects did you import to test this IQMath library? Is the one you imported already including a .syscfg file or did you manually add that to the project?

    Regards,

    Peter

  • Hello Peter.

    First Thank you for answering me.

    I did import the sysconfig file manually for this project.

    Concerning the IQMath Library, every thing seems to be OK since I change the output format into eabi.

    I saw that the IQmath_init() function, generated by sysconfig, is empty. Is this the place where I have to define the GLOBAL_Q macro (if different than 24) for instance ?

    However, I stil have a problem. I did this test also with the empty project provided for the 49C (this includes the sysconfig file).

    1- as the same way I include the IQMath library previously, I include the DSP lirary

    I compile the project --> OK

    2- I try to add the FPUFastRTS library.

    The project cannot compile.

    Actually, the DSP library declares:

    extern void memcpy_fast(void *dst, const void *src, const uint16_t N);

    and the FastRTS declares:

    void memcpy_fast(void *dst,void *src, uint16_t num_words);

    It was just a test. It is normal not to use both of these 2 libraries ?

    Thank you

  • Hi Vincent,

    Thank you for the detailed instructions on your setup.

    Concerning the IQMath Library, every thing seems to be OK since I change the output format into eabi.

    Glad to hear that you have resolved the issue. I tested this with our example project that includes an existing empty .syscfg file (located in pinmux folder) and I did not receive any issues about the IQMath library. It is best to start off with the pinmux folder examples if you are intending to use sysconfig - this is to avoid any incompatibilities with the imported library format.

    I saw that the IQmath_init() function, generated by sysconfig, is empty. Is this the place where I have to define the GLOBAL_Q macro (if different than 24) for instance ?

    Macros are typically declared in the .h file or somewhere within your main.c file, since the generated board.c file cannot be directly edited while it's still being generated by SysConfig. This init() is standard for all of our SysConfig modules and you can choose to write code in these init() functions if you were to eject the files from SysConfig (copy the generated .h/.c files directly into your project and exclude the .syscfg file). 

    It was just a test. It is normal not to use both of these 2 libraries ?

    On my end I am also seeing the same warning with conflicts in the function declaration. I will need to reach out to our DSP library experts to see if there are use cases where Vector and FPUfastRTS are used in the same project - if this is the case then we will need to fix that directly within our libraries (this is not a SysConfig issue since SysConfig merely facilitates the importing of these libraries into your project).

    Regards,

    Peter

  • Hello Peter. Thank you for spending so much time to help me to understand.

    For information, I could not use a project that includes a sysconfig file because I needed a a project that includes bietfields and driverlib management. I had more problems to include bitfields in a driverlib+sysconfig project than I had to include sysconfig in the bitfield+driverlib project provided in examples.

    Concerning the librairies, I do not close the issue. So you can come back here to report what your experts will have answered.

    Oh, and I forgot: really, sorry for my broken english (I m french )

  • Hi Vincent, 

    Thank you for the explanation as to why you chose that specific project. I am still waiting a response from our math library and DSP library experts and will update you as soon as I hear back

    Regards,

    Peter

  • Hi Vincent,

    Just wanted to update you on the status of this thread. Our software team is currently looking at this and it should be fixed in a future update. These libraries should be able to be used together since they serve different functions, so we will need to make changes to the source code for the libraries to avoid this build issue arising.

    Regards,

    Peter