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.

What is the *.h file used to implement the std::nothrow using CCS 3.1

Other Parts Discussed in Thread: CCSTUDIO

SignalVectorCplxS16* c = new (std::nothrow) SignalVectorCplxS16[FPGA_NUM_SAMPLES_RX];

What file do I need to include?

 error: namespace "std" has no member "nothrow"

 

Im running the 64x Simulator, but the target will be 6416.

The software package is 3.1.

I'm running my own code.  I included all paths and libraries.

 

 
  • Rasheed Akinwande said:
    What file do I need to include?

    #include <new>

    However, you are using such an old version of CCS, I can't be certain the compiler supports it.

    Thanks and regards,

    -George

  • I include #include <new>. The error is "cant open ne"
  • I found new. But when I link I get this error

    undefined first referenced
    symbol in file
    --------- ----------------
    std::_nothrow F:\Projects\Archive\Project\P1002_20150630\DspSimulator\build\Debug\SigProcLib2.obj
    >> error: symbol referencing errors - './Debug/Sim1.out' not built
  • What version of the compiler (not CCS) are you using?  Please show the entire command line for when the linker is invoked.

    Thanks and regards,

    -George

  • Code generation tools v5.1.0
    Integration Dev. 5.90.0.27
    Bios cuda-4.90.02

    [Linking...] "C:\CCStudio_v3.1\C6000\cgtools\bin\cl6x" -@"Debug.lkf"
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    std::_nothrow C:\P1002_Projects\P1002_20150630\DspSimulator\build\Debug\SigProcLib2.obj
    >> error: symbol referencing errors - './Debug/Sim1.out' not built

    >> Compilation failure
  • I forgot that CCS 3.1 performs the link like this ...

    Rasheed Akinwande said:
    [Linking...] "C:\CCStudio_v3.1\C6000\cgtools\bin\cl6x" -@"Debug.lkf"

    All of the options and files submitted to the linker are in the text file Debug.lkf.  Therefore, I need to see it.  If I remember correctly, this file is still present after the link completes.  Please attach it to your next post.  You probably have to change the file extension by adding ".txt" to the end.

    Thanks and regards,

    -George

  • -z -q -c -heap180000 -m"./Debug/dsp_d.map" -o"./Debug/dsp_d.out" -stack160000 -w -x -i"C:/CCStudio_v3.1/C6000/rtdx/lib" -i"C:/CCStudio_v3.1/C6000/csl/lib" -i"C:/CCStudio_v3.1/C6000/xdais/lib" -i"C:/CCStudio_v3.1/C6000/bios/lib" -i"C:/CCStudio_v3.1/C6000/cgtools/lib"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\cfg_ti6416cfg.cmd"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\src\cog_linker.cmd"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\appConfig.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\BitVector.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\cfg_ti6416cfg.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\cfg_ti6416cfg_c.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\CmdInterface.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\ComOps.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\ConstantArrays.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\cplx.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\DataLogger.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\debug.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\DspMain.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\DspTest.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\EmifRxMsgTask.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\EmifTxMsgTask.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\FifoRecord.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\fpga.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\fpgaControl.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\HwiIsr.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\memBlocks.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\PciMsgRcver.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\PciSupport.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\RxProcessingThread.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\SemClass.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\sigProcLib.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\SigProcLib2.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\SjLiteMsgProcessor.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\ti6416_flashless_ut205_WB.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\Timeval.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\Tools.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\twiddleFactors.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\build\Debug\obj\utils2.obj"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\DTOE_Lib\bin\dsp64x.lib"
    "F:\Projects\Archive\Project\P1002_20150630\DSP\DTOE_Lib\bin\DTOE_CogA205WB_EMIFB_32BIT.lib"
  • The global variable std::_nothrow is defined in the compiler RTS library, which is not one of the files in the link.  I cannot recall how to add the RTS library to the link in CCS 3.1.  I think the best way is to modify the linker options and add "-l rts6400.lib".  

    Thanks and regards,

    -George

  • This is the error I get now:

    ------------------------------  Sim1.pjt - Debug  ------------------------------ [Linking...] "C:\CCStudio_v3.1\C6000\cgtools\bin\cl6x" -@"Debug.lkf" <Linking> >>   error: symbol _c_int00 is defined multiple times: boot.obj             (C:/CCStudio_v3.1/C6000/cgtools/lib/rts6400.lib) and boot.o64             (C:/CCStudio_v3.1/C6000/bios/lib/biosi.a64) >>   error: symbol __stack is defined multiple times: boot.obj             (C:/CCStudio_v3.1/C6000/cgtools/lib/rts6400.lib) and boot.o64             (C:/CCStudio_v3.1/C6000/bios/lib/biosi.a64) >> warning: creating output section .sysmem without SECTIONS specification >> warning: creating .sysmem section with default size of 400 (hex) words.               Use -heap option to change the default size. >>   error: errors in input - ./Debug/Sim1.out not built

    >> Compilation failure

    Build Complete,   4 Errors, 2 Warnings, 0 Remarks.

    This is the .flk file

    -z -c -m"./Debug/Sim1.map" -o"./Debug/Sim1.out" -w -x -i"C:/CCStudio_v3.1/C6000/rtdx/lib" -i"C:/CCStudio_v3.1/C6000/csl/lib" -i"C:/CCStudio_v3.1/C6000/xdais/lib" -i"C:/CCStudio_v3.1/C6000/bios/lib" -i"C:/CCStudio_v3.1/C6000/cgtools/lib" -l"rts6400.lib"
    "C:\APG\P1002_20150630\DspSimulator\build\Configuration1cfg.cmd"
    "C:\APG\P1002_20150630\DspSimulator\src\linker.cmd"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\appConfig.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\BitVector.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\CmdInterface.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\ComOps.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\Configuration1cfg.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\Configuration1cfg_c.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\ConstantArrays.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\cplx.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\debug.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\DspTest.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\FifoRecord.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\fpga.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\fpgaControl.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\main.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\memBlocks.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\PciMsgRcver.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\PciSupport.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\RxProcessingThread.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\SemClass.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\SigProcLib2.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\Timeval.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\Tools.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\twiddleFactors.obj"
    "C:\APG\P1002_20150630\DspSimulator\build\Debug\utils2.obj"
    "C:\APG\P1002_20150630\DSP\DTOE_Lib\bin\dsp64x.lib"
    "C:\APG\P1002_20150630\DSP\DTOE_Lib\bin\DTOE_CogA205WB_EMIFB_32BIT.lib"

  • I owe you an apology.  I made a couple of errors.  

    First, remove the -l rts6400.lib option.  It must be mentioned in one of the linker command files you use.  I forgot about that.

    Second, it turns out there is a bug in the version 5.1.0 compiler which prevents calling the nothrow form of new.  This bug is fixed in the latest 5.1.x compiler 5.1.13.  You can download it from here.  Since 5.1.x is such an old compiler, you ought to consider upgrading.  However, since you also use a very old version of CCS, you need to keep in mind that newer versions of the compiler have not been tested with CCS 3.1.

    Thanks and regards,

    -George

  • Does new and malloc allocate the memory in the same memory address.
  • Those functions allocate out of the same reserved block of memory.

    Thanks and regards,

    -George