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.

IQMath C28X vs C64x library on PC?



Hi all...I've already applied for the IQMath source code with the legal department but from all my searching, it seems the only source code available is for the C64x.  I've already downloaded the binary PC C64X library and I'm using it somewhat successfully on a PC in an Eclipse / cygwin / gcc environment.  So far, in my limited tests, the library seems to produce the expected results.  The issue I have though with the binary PC C64X library is that:

1) There are about 6 unresolved references that I satisfied by just making up some dummy functions of the same name.  I have no idea what these unresolved references really are but so far they don't seem to affect the results

2) The C64X PC lib is compiled with VS and this might be the source of some of the unresolved references that I'm getting.  I'm running on a PC using Eclipse / Cygwin / gcc environment and surprisingly, even when I link in the binary lib built from VS, the ABI seems to intact.

3) Despite the issues of 1) and 2) above, the real problem is that I can't run our code coverage tool (Bullseye).  If I don't connect up Bullseye, then I get the proper results from the IQMath PC lib.  If I connect up Bullseye, then I don't get the right results.  It seems that there is something off in ABI when I use Bullseye.  If I make my own trivial library with Eclipse, then Bullseye works fine with it.  So...my thinking is that if I can get either the C28X (preferred) or C64X IQMath source code, then I can recompile in my Eclipse environment and then Bullseye should work fine.

Any thoughts or ideas on my approach are welcome!

Thanks!

Alin

  • Hi Alin,

    The source code is available for the C2000 under a signed license agreement. I would need to check with legal to see if what you have already worked out would cover both or if another is required.

    For the C2000 library the source is all C28x assembly and we do not have a C version available (for the PC or the C28x). I'm not sure if your coverage tool will work with C28x assembly.

    If you want to getting the C28x source, and have been working with someone at TI, please have them contact me.

    Thank you
    Lori
  • Hi Lori,

    Thanks for you response.  I did get the source (for C64x) after doing all the legal stuff and after being distracted on something else for the past week and a half, I'm back on this now. 

    So...now the question I have is:

    Since the source code that I was given can be used to create a PC host version for development purposes, how do I resolve all the intrinsic calls (like _mpy32ll,  _hill, etc).  Is there an equivalent set of C functions that mimic these intrinsic calls?  I get linker errors when I try to build a static library on the PC for these functions.  I suppose that I could guess and create my own C versions of these intrinsic functions but I would rather use TI sanctioned versions.

    Thanks Lori for any help and insight that you can provide!

    Alin

  • Alin Pilkington said:
    Since the source code that I was given can be used to create a PC host version for development purposes, how do I resolve all the intrinsic calls (like _mpy32ll,  _hill, etc).  Is there an equivalent set of C functions that mimic these intrinsic calls?  I get linker errors when I try to build a static library on the PC for these functions.  I suppose that I could guess and create my own C versions of these intrinsic functions but I would rather use TI sanctioned versions.

    Alin,

    I really wish I had some advice for you.  Unfortunately I haven't worked with the C6000 devices or the IQmath library for those devices.  I'm only familiar with the C28x library.     I don't recognize the intrinsics that you mention - we have an __IQmpy but not _mpy32, as an example.

    An possible option is to post to the C6000 forum and see if someone there has some guidance.  I'm not confident, however, that mixing their C library into C28x code is going to give you what you desire from a code coverage standpoint.


    Regards

    Lori