• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » BIOS » BIOS forum » c67xmathlib_2_01_00_00 missing exp, log10
Share
BIOS
  • Forum
  • Announcements
Options
  • Subscribe via RSS

c67xmathlib_2_01_00_00 missing exp, log10

c67xmathlib_2_01_00_00 missing exp, log10

This question is answered
st56139
Posted by st56139
on Apr 16 2012 10:29 AM
Prodigy180 points

The libraries distributed here

http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c67_fastmath/latest/index_FDS.html

in c67xmathlib_2_01_00_00/lib

do not include entry points for _exp and _log10.

The included documentation c67xfastRTS_user_guide.pdf states that exp and log10 are included.  Previous versions of the library included them.

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • RandyP
    Posted by RandyP
    on May 06 2012 09:08 AM
    Guru61645 points

    This question may find more knowledgeable people in the BIOS Forum instead of the C67x Single Core Forum. A Moderator will move it there for you.

    Regards,
    RandyP

    Search for answers, Ask a question, click  Verify  when complete, Help others, Learn more.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • st56139
    Posted by st56139
    on May 08 2012 08:18 AM
    Prodigy180 points

    Examining the distributed c67xfastMath.lib shows no global entry point for _log10 or

    servo-lnx:/tmp/c67xmathlib_2_01_00_00/lib% nm6x -g -f -l c67xfastMath.lib

    ARCHIVE:  c67xfastMath.lib

    file            [index]  value      sclass   section name        symbol name

    atan2dp.obj    |[14]    |0x00000000|C_EXT   |.data              |Vatn2dp
    atan2dp.obj    |[11]    |0x00000204|C_EXT   |.text              |_atan2
    atan2dp.obj    |[13]    |0x00000204|C_EXT   |.text              |_atan2dp
    atan2dp.obj    |[12]    |0x00000000|C_EXT   |.text              |_atandp
    atan2dp.obj    |[15]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    atan2dp.obj    |[17]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    atan2dp.obj    |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_recipdp
    atan2dp_v.obj  |[17]    |0x00000000|C_EXT   |.text              |_atan2dp_v
    atan2sp.obj    |[11]    |0x00000000|C_EXT   |.text              |_atan2f
    atan2sp.obj    |[12]    |0x00000000|C_EXT   |.text              |_atan2sp
    atan2sp.obj    |[13]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    atan2sp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_atan2sp_v
    atandp.obj     |[15]    |0x00000000|C_EXT   |.data              |Vatndp
    atandp.obj     |[13]    |0x00000000|C_EXT   |.text              |_atan
    atandp.obj     |[14]    |0x00000000|C_EXT   |.text              |_atandp
    atandp.obj     |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    atandp.obj     |[17]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_recipdp
    atandp_v.obj   |[17]    |0x00000000|C_EXT   |.text              |_atandp_v
    atansp.obj     |[13]    |0x00000048|C_EXT   |text               |_atanf
    atansp.obj     |[14]    |0x00000048|C_EXT   |text               |_atansp
    atansp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_atansp_v
    cosdp.obj      |[14]    |0x00000000|C_EXT   |.data              |_HPisDP
    cosdp.obj      |[13]    |0x00000000|C_EXT   |.text              |_cos
    cosdp.obj      |[15]    |0x00000000|C_EXT   |.text              |_cosdp
    cosdp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_cosdp_v
    cossp.obj      |[12]    |0x00000000|C_EXT   |.text              |_cosf
    cossp.obj      |[11]    |0x00000000|C_EXT   |.text              |_cossp
    cossp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_cossp_v
    divdp.obj      |[12]    |0x00000000|C_EXT   |.text              |__divd
    divdp.obj      |[11]    |0x00000000|C_EXT   |.text              |_divdp
    divdp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_divdp_v
    divsp.obj      |[11]    |0x00000000|C_EXT   |.text              |__divf
    divsp.obj      |[12]    |0x00000000|C_EXT   |.text              |_divsp
    divsp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_divsp_v
    exp10dp.obj    |[14]    |0x00000028|C_EXT   |.data              |OneEtwo
    exp10dp.obj    |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    exp10dp.obj    |[17]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    exp10dp.obj    |[13]    |0x00000000|C_EXT   |.text              |_exp10
    exp10dp.obj    |[15]    |0x00000000|C_EXT   |.text              |_exp10dp
    exp10dp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_exp10dp_v
    exp10sp.obj    |[15]    |0x00000038|C_EXT   |.data              |Expon_Ctable
    exp10sp.obj    |[16]    |0x00000000|C_EXT   |.data              |Expon_Ktable
    exp10sp.obj    |[17]    |0x00000090|C_EXT   |.data              |_exp10f
    exp10sp.obj    |[13]    |0x00000090|C_EXT   |.data              |_exp10sp
    exp10sp.obj    |[14]    |0x00000060|C_EXT   |.data              |_expon2sp_asm
    exp10sp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_exp10sp_v
    exp2dp.obj     |[13]    |0x00000028|C_EXT   |.data              |OneExp2
    exp2dp.obj     |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    exp2dp.obj     |[17]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    exp2dp.obj     |[15]    |0x00000188|C_EXT   |.text              |_exp2
    exp2dp.obj     |[14]    |0x00000188|C_EXT   |.text              |_exp2dp
    exp2dp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_exp2dp_v
    exp2sp.obj     |[17]    |0x00000000|C_EXT   |text               |_exp2f
    exp2sp.obj     |[18]    |0x00000000|C_EXT   |text               |_exp2sp
    exp2sp.obj     |[19]    |0x00000000|C_EXT   |text               |_exp2sp_asm
    exp2sp.obj     |[15]    |0x00000000|C_EXT   |.data              |expon_ctable
    exp2sp.obj     |[16]    |0x00000000|C_EXT   |.text:hand         |expon_ktable
    exp2sp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_exp2sp_v
    expdp.obj      |[14]    |0x00000028|C_EXT   |.data              |OneE2
    expdp.obj      |[15]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    expdp.obj      |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    expdp.obj      |[13]    |0x00000000|C_EXT   |.text              |_expdp
    expdp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_expdp_v
    expsp.obj      |[18]    |0x00000060|C_EXT   |text               |_expf
    expsp.obj      |[15]    |0x00000060|C_EXT   |text               |_expsp
    expsp.obj      |[16]    |0x00000000|C_EXT   |.data              |exp_ctable
    expsp.obj      |[17]    |0x00000000|C_EXT   |.text:hand         |exp_ktable
    expsp_v.obj    |[17]    |0x00000000|C_EXT   |.text              |_expsp_v
    log10dp.obj    |[15]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    log10dp.obj    |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    log10dp.obj    |[13]    |0x00000000|C_EXT   |.text              |_log10dp
    log10dp.obj    |[14]    |0x00000000|C_EXT   |.data              |_nmn_L2
    log10dp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_log10dp_v
    log10sp.obj    |[14]    |0x00000000|C_EXT   |.text:hand         |Logtable_asm
    log10sp.obj    |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    log10sp.obj    |[13]    |0x00000020|C_EXT   |.text              |_log10f
    log10sp.obj    |[15]    |0x00000020|C_EXT   |.text              |_log10sp
    log10sp_v.obj  |[17]    |0x00000000|C_EXT   |.text              |_log10sp_v
    log2dp.obj     |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    log2dp.obj     |[17]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    log2dp.obj     |[14]    |0x00000000|C_EXT   |.text              |_log2
    log2dp.obj     |[15]    |0x00000000|C_EXT   |.text              |_log2dp
    log2dp.obj     |[13]    |0x00000000|C_EXT   |.data              |_nmnL2
    log2dp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_log2dp_v
    log2sp.obj     |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    log2sp.obj     |[13]    |0x00000000|C_EXT   |.text              |_log2f
    log2sp.obj     |[14]    |0x00000000|C_EXT   |.text              |_log2sp
    log2sp.obj     |[15]    |0x00000000|C_EXT   |.data              |log_table_asm
    log2sp_v.obj   |[17]    |0x00000000|C_EXT   |.text              |_log2sp_v
    logdp.obj      |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_divdp
    logdp.obj      |[17]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    logdp.obj      |[14]    |0x00000000|C_EXT   |.text              |_log
    logdp.obj      |[15]    |0x00000000|C_EXT   |.text              |_logdp
    logdp.obj      |[13]    |0x00000000|C_EXT   |.data              |_numnL2
    logdp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_logdp_v
    logsp.obj      |[15]    |0x00000000|C_EXT   |.data              |Logtab_asm
    logsp.obj      |[16]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    logsp.obj      |[14]    |0x00000040|C_EXT   |.text              |_logf
    logsp.obj      |[13]    |0x00000040|C_EXT   |.text              |_logsp
    logsp_v.obj    |[17]    |0x00000000|C_EXT   |.text              |_logsp_v
    powdp.obj      |[13]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_expdp
    powdp.obj      |[14]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_logdp
    powdp.obj      |[12]    |0x00000020|C_EXT   |.text              |_pow
    powdp.obj      |[11]    |0x00000020|C_EXT   |.text              |_powdp
    powdp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_powdp_v
    powsp.obj      |[14]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_expsp
    powsp.obj      |[13]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_logsp
    powsp.obj      |[11]    |0x00000000|C_EXT   |.text              |_powf
    powsp.obj      |[12]    |0x00000000|C_EXT   |.text              |_powsp
    powsp_v.obj    |[17]    |0x00000000|C_EXT   |.text              |_powsp_v
    recipdp.obj    |[12]    |0x00000000|C_EXT   |.text              |_recip
    recipdp.obj    |[11]    |0x00000000|C_EXT   |.text              |_recipdp
    recipdp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_recipdp_v
    recipsp.obj    |[11]    |0x00000000|C_EXT   |.text              |_recipf
    recipsp.obj    |[12]    |0x00000000|C_EXT   |.text              |_recipsp
    recipsp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_recipsp_v
    rsqrtdp.obj    |[12]    |0x00000000|C_EXT   |.text              |_rsqrt
    rsqrtdp.obj    |[11]    |0x00000000|C_EXT   |.text              |_rsqrtdp
    rsqrtdp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_rsqrtdp_v
    rsqrtsp.obj    |[11]    |0x00000000|C_EXT   |.text              |_rsqrtf
    rsqrtsp.obj    |[12]    |0x00000000|C_EXT   |.text              |_rsqrtsp
    rsqrtsp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_rsqrtsp_v
    sindp.obj      |[15]    |0x00000000|C_EXT   |.data              |_HPisdp
    sindp.obj      |[13]    |0x0000001c|C_EXT   |.text              |_sin
    sindp.obj      |[14]    |0x0000001c|C_EXT   |.text              |_sindp
    sindp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_sindp_v
    sinsp.obj      |[11]    |0x00000014|C_EXT   |.text              |_sinf
    sinsp.obj      |[12]    |0x00000014|C_EXT   |.text              |_sinsp
    sinsp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_sinsp_v
    sqrtdp.obj     |[13]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    sqrtdp.obj     |[12]    |0x00000000|C_EXT   |.text              |_sqrt
    sqrtdp.obj     |[11]    |0x00000000|C_EXT   |.text              |_sqrtdp
    sqrtdp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_sqrtdp_v
    sqrtsp.obj     |[13]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_errno
    sqrtsp.obj     |[11]    |0x00000000|C_EXT   |.text              |_sqrtf
    sqrtsp.obj     |[12]    |0x00000000|C_EXT   |.text              |_sqrtsp
    sqrtsp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_sqrtsp_v
    servo-lnx:/tmp/c67xmathlib_2_01_00_00/lib%

    servo-lnx:/tmp/c67xmathlib_2_01_00_00/lib% cat c67xfastMath.lib.names | grep _log10
    log10dp.obj    |[13]    |0x00000000|C_EXT   |.text              |_log10dp
    log10dp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_log10dp_v
    log10sp.obj    |[13]    |0x00000020|C_EXT   |.text              |_log10f
    log10sp.obj    |[15]    |0x00000020|C_EXT   |.text              |_log10sp
    log10sp_v.obj  |[17]    |0x00000000|C_EXT   |.text              |_log10sp_v
    servo-lnx:/tmp/c67xmathlib_2_01_00_00/lib% cat c67xfastMath.lib.names | grep _exp
    exp10dp.obj    |[13]    |0x00000000|C_EXT   |.text              |_exp10
    exp10dp.obj    |[15]    |0x00000000|C_EXT   |.text              |_exp10dp
    exp10dp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_exp10dp_v
    exp10sp.obj    |[17]    |0x00000090|C_EXT   |.data              |_exp10f
    exp10sp.obj    |[13]    |0x00000090|C_EXT   |.data              |_exp10sp
    exp10sp.obj    |[14]    |0x00000060|C_EXT   |.data              |_expon2sp_asm
    exp10sp_v.obj  |[13]    |0x00000000|C_EXT   |.text              |_exp10sp_v
    exp2dp.obj     |[15]    |0x00000188|C_EXT   |.text              |_exp2
    exp2dp.obj     |[14]    |0x00000188|C_EXT   |.text              |_exp2dp
    exp2dp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_exp2dp_v
    exp2sp.obj     |[17]    |0x00000000|C_EXT   |text               |_exp2f
    exp2sp.obj     |[18]    |0x00000000|C_EXT   |text               |_exp2sp
    exp2sp.obj     |[19]    |0x00000000|C_EXT   |text               |_exp2sp_asm
    exp2sp_v.obj   |[13]    |0x00000000|C_EXT   |.text              |_exp2sp_v
    expdp.obj      |[13]    |0x00000000|C_EXT   |.text              |_expdp
    expdp_v.obj    |[13]    |0x00000000|C_EXT   |.text              |_expdp_v
    expsp.obj      |[18]    |0x00000060|C_EXT   |text               |_expf
    expsp.obj      |[15]    |0x00000060|C_EXT   |text               |_expsp
    expsp_v.obj    |[17]    |0x00000000|C_EXT   |.text              |_expsp_v
    powdp.obj      |[13]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_expdp
    powsp.obj      |[14]    |0x00000000|C_EXT   |UNDEFINED EXTERNAL |_expsp





    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Rahul Prabhu
    Posted by Rahul Prabhu
    on May 09 2012 16:58 PM
    Genius16220 points

    I have filed a bug for this so this issue should be filed in the next release. In the meantime, you can fix this issue by uncommenting the statement on line 111 of log10dp.asm that is found under the path c67xmathlib_2_01_00_00\src\dp\log10dp

    Uncomment this statement:

    ;_log10:                                 ; rts lib DP FP log (base 10)

    For creating the global symbol _exp, do the same on line number 108 of expdp.asm file found under the path c67xmathlib_2_01_00_00\src\dp\exp10dp\

    ;_exp:                   ; rts entry

    After you change this file recompile the library by rebuilding the project under c67xmathlib_2_01_00_00\build. Linking the resulting binary should resolve the issue.

    Regards,

    Rahul

     

    ---------------------------------------------------------------------------------
    Please click the
    Verify Answer button on this post if it answers your question.
    ---------------------------------------------------------------------------------

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • st56139
    Posted by st56139
    on May 10 2012 09:18 AM
    Prodigy180 points

    Thanks Rahul.

    I believe you meant to change expdp.asm in 67xmathlib_2_01_00_00\src\dp\expdp, not in c67xmathlib_2_01_00_00\src\dp\exp10dp.

    In addition to this issue, the linux Makefile needs numerous corrections.  I create a service request, Service Request# 1-770270390, to report this issue on 4/12/2012.  Unfortunately I have had no response.  I attached the patch file I sent in with the SR to fix c67xmathlib_2_01_00_00/build/Makefile.  Can you please file a bug for the Makefile problem as well?

    With the source changes you suggested, and the Makefile patch, I am able to regenerate the library picking up the missing entry points (and not losing any others).

    Can you also let me know tracking numbers for the bugs?

    Thanks

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Rahul Prabhu
    Posted by Rahul Prabhu
    on May 10 2012 10:54 AM
    Genius16220 points

    Steve,

    Yes I meant the expdp.asm.

    This library was recently updated with some major structural changes and additional platform support. A new 3.x version library  which has support for C66x DSP platforms is now available on ti.com. Functionally the library is the same but the directory structure has been aligned with other DSP software like SYS/BIOS and XDC and is easier to integrate with CCS. This library can be found on ti.com under the name MATHLIB. The update also has major bug fixes and better documentation. You can find the latest release here:

    http://www.ti.com/tool/mathlib

    I noticed that the latest release also had this bug so I have filed the missing symbol bug against that release but I am not sure the makefile bug applies to the 3.x release anymore.

    Regards,

    Rahul

    ---------------------------------------------------------------------------------
    Please click the
    Verify Answer button on this post if it answers your question.
    ---------------------------------------------------------------------------------

    MATHLIB
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • st56139
    Posted by st56139
    on May 10 2012 13:46 PM
    Prodigy180 points

    Rahul,

    I see c66x and c674x libs at the link you provided, but i need c67x libraries.

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Rahul Prabhu
    Posted by Rahul Prabhu
    on May 10 2012 13:51 PM
    Genius16220 points

    Steve,

    The next release of the library will cover those family of devices. My post was just a "fyi" to inform you of the coming update and to explain the situation on the makefiles.

    Regards,

    Rahul

    ---------------------------------------------------------------------------------
    Please click the
    Verify Answer button on this post if it answers your question.
    ---------------------------------------------------------------------------------

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • st56139
    Posted by st56139
    on Nov 15 2012 15:48 PM
    Prodigy180 points

    When will the new release be available?  It has been 6 months.  thanks

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TommyG
    Posted by TommyG
    on Nov 16 2012 11:30 AM
    Genius12465 points

    Steve,

    In contact with Rahul to get update on MATHLIB release and status of bug fixes.  Either he or I will update you in the next 1-2 days.

    FYI, this thread had been marked ANSWERED, so was not being actively monitored any longer by TI.  In the future, either reject the ANSWER (button on ANSWERED post), if answer if not complete or satisfactory.  Alternatively start a new post with reference to this thread to get into actively monitored queue.

    Regards.

     ---------------------------------------------------------------------------------------------------------

    ACAT/DCAT Team

    ---------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------- 

    MATHLIB C67x
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TommyG
    Posted by TommyG
    on Nov 16 2012 16:42 PM
    Genius12465 points

    Steve,

    The C67x version of MATHLIB has been delayed due to some high priority activities that have come up for the team managing the release process.  I'm trying to get a schedule update for you.

    In the mean time for a short term solution if you want to take advantage of the new MATHLIB release you can start with the new C674x MATHLIB source and recompile for the C67x device.  In the C674x MATHLIB release, there is a project to rebuild the library, You can change the target to C67x, rebuild the library source and generate the C67x version of the library. 

    Another approach would be to pick the source code for the functions that are required in your project and integrate them into your code base.

    Let me know if either of these approaches will work for you.

    Regards.

     ---------------------------------------------------------------------------------------------------------

    ACAT/DCAT Team

    ---------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------- 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • st56139
    Posted by st56139
    on Nov 19 2012 16:57 PM
    Prodigy180 points

    I have been unable to build the c674x version for the c67x target due to tool and platform difficulties.  I remain interested in a c67x release.

    Thanks

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TommyG
    Posted by TommyG
    on Nov 27 2012 10:57 AM
    Genius12465 points

    Steve,

    I am investigating when the next MATHLIB release will be available for the C67xx family.  I will give you an update within the next 1-2 days.

    I am also investigating the build failure you reported.  When I tried to import the project into CCSv5 the process failed at that step.  Is that what you saw when you tried the newer version of CCS?  My goal is to get the retarget and build process worked out so you can use the newer library source for your C67xx application until the new library is released.  I will have update when I report on the schedule.

    Regards.

     ---------------------------------------------------------------------------------------------------------

    ACAT/DCAT Team

    ---------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------- 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • TommyG
    Posted by TommyG
    on Nov 30 2012 07:31 AM
    Genius12465 points

    Steve,

    There will not be a separate C67xx MATHLIB release for v3.x and beyond.  The plan is to provide a C67xx build option with the C674x MATHLIB package.  The C67x is a superset of the C67xx CPU.  A patch release for the C674x MATLIB to migrate the build process to CCSv5.2.  The project files are different between the original release platform CCS4 and the newer CCSv5.2.  That is the reason the build didn't work when you tried it on CCSv5.  In addition, the issues that you have reported will also be taken care.  If you want to test the build process you can download CCSv4 you can download it from this site: http://processors.wiki.ti.com/index.php/Download_CCS.  It won't be possible to have a release for CCSv3.3, however it should be possible to build the library using an external make file.

    I don't have schedule yet because I need to clarify a couple of issues with you first. 

    You want to include _exp and _log10 symbols in the MATHLIB library which are RTS library names. In current Mathlib, the assembly kernel uses _log10dp as entry point instead of _log10 and instead of _exp MATHLIB functions expsp or expdp. There is a build option to compile with RTS names. Do you need both MATHLIB and RTS names in the library, or just to override RTS names? There is an option (RTS override) to generate RTS names.

    In the case of _exp, it has 2 matches in the current MATHLIB release (expsp and expdp).  We can only provide one symbol in a library, so I need to know which of the 2 MATHLIB functions you want to use.  I am thinking it will be expdp, so that it matches the _log10 MATHLIB function, log10dp.  Can you confirm?

    For more flexibility our plan is to generate ccs 5.2 projects and provide hooks for customers to rebuild either sp RTS override or dp RTS override for C67x. For the supported targets, we will provide 3 libraries, the normal one, sp RTS override and dp RTS override.

    Regards,

     

     ---------------------------------------------------------------------------------------------------------

    ACAT/DCAT Team

    ---------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------- 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • st56139
    Posted by st56139
    on Nov 30 2012 12:22 PM
    Prodigy180 points

    Tommy,

    I don't believe there is a linux CCSv4 build available.  In the v2.x library there was a makefile that could be used with the code gen tools and without CCS.  Unfortunately it had numerous issues that made it unusable.  The support for CGT only mathlib builds seems to have been totally dropped from the v3.x library instead of being fixed.  Normally we don't use CCS at all.

    I am using a v1.x mathlib library currently.  At that time override RTS wasn't a build option, I think it was just the way it worked, i.e. it was always overridden. 

    I would like all the functions related to mathlib that are supported in C99 to be supported simultaneously for both doubles and floats.  For example, I want to be able to use exp(), expf(), exp2(), exp2f(), log(), logf(), log10(), log10f(), log2, log2f(), etc.  This also applies to the trig functions, pow, sqrt, etc.  I need both of the nonstandard entry points _div and _divf.  These are two non-standard routines that the compiler will generate references to.  There are other nonstandard routines (that didn't get added in C99) I would like you to continue support for, e.g. exp10(), exp10f().  I can mail you an exhaustive list of the entry points in v1.x.

    I don't understand your plan to have two RTS overide libraries, one for sp and one for dp.  Why can't they coexist as they used to?  For example, in v3.0.1.1 expsp.asm doesn't have a label of _exp at all, for OVERRIDE_RTS it has _expf.  expdp.asm defined _exp for OVERRIDE_RTS.  I question the accuracy of your statement "In the case of _exp, it has 2 matches in the current MATHLIB release (expsp and expdp)."

    It does appear to me that an all inclusive library will be bigger than it was in v1.x because you have duplicated code in places, e.g. in expdp.asm, exp2dp.asm, exp10dp.asm.  The v1.x code did not have this duplication.  The duplication is acceptable, but it does seem like a step backwards.

    I am concerned about your plan, it doesn't seem like it has what I want or what was provided in v1.x.  At the same time I don't understand what library "the normal one" is and how it differs the traditional v1.x library.

    Best Regards,

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Yimin Zhang
    Posted by Yimin Zhang
    on Nov 30 2012 15:57 PM
    Intellectual770 points

    Hi Steve,

    I am responsible for making this Mathlib release. In mathlib, every function has a sp and a dp version, for example, expsp and expdp. Because in the unit test code, both dp and sp versions are using double precision RTS function, e.g. exp, as reference, I thought that's the only function in RTS. You are correct that there are both exp and expf in RTS. So the information I gave Tom about needing separate dp and sp libraries is not correct. They can be included in a single library.

    In current Mathlib release, we do not provide RTS function names. We only use xxxsp or xxxdp, because RTS functions are linked in unit tests as reference. When we build the library, we also build unit tests, then use the unit tests to verify the library and generate test report and benchmark information. Override RTS has not been a priority for us, because for newer chip sets, such as C66, the C with intrinsic implementation are becoming the main kernel with better performance than asm code. Recently, we are getting requests to add RTS override capability. So this patch release will address this issue.

    Our current plan is to make a separate RTS override library, which will use RTS names such as exp, expf instead of expsp and expdp. We will test the normal version (expsp and expdp), but not the override version. Since the source codes are the same, only symbols are different, I think that should be acceptable. We didn't plan to make a single library that would include both normal names (expsp, expdp) and override names (exp, expf). Please let me know if this would be acceptable to you.

    We actually do not use CCS to make builds. We use makefile and xdc tools. If you would like to build mathlib this way ,we can provide the details about what you need to install and how to make builds.

    We also have plans to add other routines into Mathlib in the future. We would like your inputs to see which functions are more important to you.

    best regards,

    Yimin

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
12
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use