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.

CCS Warning leads to a non-working programm

Hi,

I am programming a camera based on a TMS320C64xx DSP. I've never had any problems with it. But in the last couple of days I've encountered a problem which I can't solve.

After calling a function from a libary I've started to receive the following warning:

entry point other than _c_int00 specified C:\ti\myprojects\Streaming\Release>rem @echo on C:\ti\myprojects\Streaming\Release>rem Remove debug info C:\ti\myprojects\Streaming\Release>C:/ti/\bin\strip6x Streaming.out C:\ti\myprojects\Streaming\Release>rem create .msf file C:\ti\myprojects\Streaming\Release>copy Streaming.out exec.out 1 Datei(en) kopiert. C:\ti\myprojects\Streaming\Release>C:/ti/ccsv4\vctools\util\econv32 Streaming econv version 1.0 - win32 supports vc/rt version 4.0 for TMS62Cxx systems file name too long C:\ti\myprojects\Streaming\Release>C:/ti/ccsv4\vctools\util\scvt32 scvt version 2.0 - win32  Streaming line 0 1411046047130 11463

Before that I've already had a warning ("entry point other than _c_int00") but it never made any troubles.


The new warning doesn't depend on the actual function because sometimes the warning disappears and then appears when I call another function. I've set up a small "hello world" programm and called the same troublemaking functions. One time it worked the other it didn't. I''ve spent already several hours to find the error but I can't finish my programm because this warning doesn't allow me to execute it. If the compiler produces this warning my program doesn't work anymore. I get the following error message from my os:

"Undefinde external symbol !!! fatal error, can't load program - fd:test.exe"

Probably someone has an idea how I can solve this problem!

Thank you in advance

  • Hello,

    It looks like you execute some post build steps after the build (looks like a *.bat file is executed). There is some vctools folder in your v4 installation that I am not familiar with. Before I can provide some advice, I need to know exactly what all those post build steps are. Can you provide more details?

    Thanks

    ki

  • Hello,

    I've worked through the documentation for the Camera and found the following: the short warning 'entry point other than _c_int00 specified' is normal because a "Non-standard entry point is set in ccr.cmd" according to it.

    Following the post build steps:

    I${CCE_INSTALL_ROOT}/vctools/misc/VCFinalSteps.bat ${BuildArtifactFileBaseName} ${CCE_INSTALL_ROOT} ${WorkspaceDirPath} ${C6000_CG_ROOT}

    FinalSteps.bat:
    rem @echo on
    rem Remove debug info
    %4\bin\strip6x %1.out

    rem create .msf file
    copy %1.out exec.out
    %2\vctools\util\econv32 %1
    %2\vctools\util\scvt32

    rem copy .out and .msf file to send folder
    copy adsp.msf %3\send\%1.msf
    copy %1.out %3\send\%1.out

    rem remove temporary files
    del adsp.*
    del exec.out

     

    ccr.bat:
    rem @echo off
    cl6x -g -k -o3 -mi100000 -pl %1.c
    rem release link relocateable
    lnk6x -ar -u _c_int01 %1.obj -m %1.map -o %1.out ccr.cmd
    rem release remove all debug info
    strip6x %1.out

    copy %1.out exec.out
    ..\util\econv %1
    ..\util\scvt
    copy adsp.msf %1.msf

     

    Thank you in adance!

  • John1 said:
    rem create .msf file
    copy %1.out exec.out
    %2\vctools\util\econv32 %1
    %2\vctools\util\scvt32

    What exactly does this step do? I am not familiar with vctools. What is it?

  • I am aware that this question has been posted ages ago. I'm posting for others who stumble onto this (like myself) who may find it useful.

    The problem here is that the utility econv32.exe (provided by VC) only works with file name lengths of 8 and smaller (including ".out"). So effectively the base file name length must be 4 or smaller!
  • I've modified VCFinalSteps.bat to be more robust and verbose:

    @ECHO off

    SET IN_FILE_BNAME=%1
    SET IN_FILE_NAME=%IN_FILE_BNAME%.out
    SET ECONV32_PATH=%2\vctools\util\econv32.exe
    SET SCVT32_PATH=%2\vctools\util\scvt32.exe
    SET STRIP6X_PATH=%3\bin\strip6x.exe

    :STEP1
    ECHO.
    ECHO Create the send directory if it doesn't exist..
    IF NOT EXIST send MKDIR send
    IF %ERRORLEVEL% EQU 0 GOTO :STEP2
    :STEP1_ERROR
    ECHO Couldn't create the send directory!
    EXIT 1

    :STEP2
    ECHO.
    ECHO Make a backup of %IN_FILE_NAME%..
    COPY %IN_FILE_NAME% %IN_FILE_NAME%~
    IF %ERRORLEVEL% EQU 0 GOTO :STEP3
    :STEP2_ERROR
    ECHO Couldn't create a backup of %IN_FILE_NAME%!
    EXIT 2

    :STEP3
    ECHO.
    ECHO Strip debug info from %IN_FILE_NAME%..
    %STRIP6X_PATH% %IN_FILE_NAME%
    IF %ERRORLEVEL% EQU 0 GOTO :STEP4
    :STEP3_ERROR
    ECHO An error occurred while stripping debug info!
    EXIT 3

    :STEP4
    ECHO.
    ECHO Create exec.out for the econv32 utility..
    COPY %IN_FILE_NAME% exec.out
    IF %ERRORLEVEL% EQU 0 GOTO :STEP5
    :STEP4_ERROR
    ECHO Couldn't create exec.out!
    EXIT 4

    :STEP5
    ECHO.
    ECHO Generate ADSP.OUT..
    %ECONV32_PATH% exec.out
    IF %ERRORLEVEL% NEQ 0 GOTO :STEP6
    :STEP5_ERROR
    ECHO The econv32 utility aborted with an error!
    EXIT 5

    :STEP6
    ECHO.
    ECHO Generate ADSP.MSF..
    %SCVT32_PATH%
    IF %ERRORLEVEL% EQU 11 GOTO :STEP7
    :STEP6_ERROR
    ECHO The scvt32 utility aborted with error code %ERRORLEVEL%!
    EXIT 6

    :STEP7
    ECHO.
    ECHO Copy the MSF file to the send directory..
    COPY ADSP.MSF send\%IN_FILE_BNAME%.msf
    IF %ERRORLEVEL% EQU 0 GOTO :STEP8
    :STEP7_ERROR
    ECHO Couldn't copy the MSF file to the send directory!
    EXIT 7

    :STEP8
    ECHO.
    ECHO Copy the OUT file to the send directory..
    COPY %IN_FILE_NAME% send\%IN_FILE_NAME%
    IF %ERRORLEVEL% EQU 0 GOTO :STEP9
    :STEP8_ERROR
    ECHO Couldn't copy the OUT file to the send directory!
    EXIT 8

    :STEP9
    ECHO.
    ECHO Remove temporary files..
    DEL ADSP.*
    DEL exec.out

    :END
    EXIT 0

    The post-build step must be slightly modified:

    "../../bin/create_vc_exe/VCFinalSteps.bat" ${BuildArtifactFileBaseName} "${CCS_INSTALL_ROOT}" "${CG_TOOL_ROOT}"

     

    I didn't want to overwrite the original VCFinalSteps.bat, so I've created a own version somewhere else. You need to change the path of VCFinalSteps.bat.