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: CCS3.3.81.6 DSP/BIOS5.31.02

Other Parts Discussed in Thread: TMS320F2812

Tool/software: Code Composer Studio

Hello,

Please help.  I need to modify a legacy code, using CCS3.3.81.6 with DSP/BIOS 5.31.02.

I tried porting it to CCS5.5 but I had trouble compiling and linking, probably because of the DSP/BIOS?

Where can I download CCS3.3 base package?  I downloaded the service package but then it failed to install in my XP Virtual Machine.

Thank you,

  • Hello Stefani

    Stefani said:
    I tried porting it to CCS5.5 but I had trouble compiling and linking, probably because of the DSP/BIOS?

    What are the build errors you see when trying to build the project?

    Stefani said:
    Where can I download CCS3.3 base package?

    If you wish to stay with CCSv3.3, please start a private conversation with me.

    Thanks

    ki

  • Ki said:

    What are the build errors you see when trying to build the project?

    Ki,

    Thank you for replying.

    At first I had errors of finding the tconf itself, so I changed the variable of XDC_CG_ROOT to point to the correct xdctools directory.

    The BIOS_CG_ROOT is actually correct, c:\ti\bios_5_41_13_42, and TConf's Summary of flags set is:  -Dconfig.importPath="C:/ti/bios_5_41_13_42/packages;"

    Yet when I compile 1 file it tries to find the bios.tci file from the xdctools, not the bios directory.

    (I had to replace some directory names with elipses)

    C:\ti\ccsv5\utils\bin\gmake D:/....../....obj
    'Building file: D:/.....tcf'
    'Invoking: TConf'
    "C:\ti\xdctools_3_23_03_53/tconf" -b -Dconfig.importPath="C:/ti/xdctools_3_23_03_53/packages;" "D:/.....tcf"
    js: "C:/ti/xdctools_3_23_03_53/include/utils.tci", line 981: Error: Can't load ti.bios.tci :Error: Can't find import file: 'ti/bios/bios.tci'
    (not found along 'D:/.../;C:/ti/xdctools_3_23_03_53/packages;;C:\ti\xdctools_3_23_03_53/include;C:\ti\xdctools_3_23_03_53/packages')
    gmake: *** [...cfg.cmd] Error 1

    Thanks.

  • Hi Stefani,

    I sent you a link to the latest CCSv3.3 image.

    Regarding:

    Stefani said:
    C:\ti\ccsv5\utils\bin\gmake D:/....../....obj
    'Building file: D:/.....tcf'
    'Invoking: TConf'
    "C:\ti\xdctools_3_23_03_53/tconf" -b -Dconfig.importPath="C:/ti/xdctools_3_23_03_53/packages;" "D:/.....tcf"
    js: "C:/ti/xdctools_3_23_03_53/include/utils.tci", line 981: Error: Can't load ti.bios.tci :Error: Can't find import file: 'ti/bios/bios.tci'
    (not found along 'D:/.../;C:/ti/xdctools_3_23_03_53/packages;;C:\ti\xdctools_3_23_03_53/include;C:\ti\xdctools_3_23_03_53/packages')
    gmake: *** [...cfg.cmd] Error 1

    Let me know if you still wish to also try using CCSv5.5. If so, I will pull in a BIOS expert to look at the above error.

    Thanks

    ki

  • Ki,

    Thank you for sending me the link to CCS3.3.  I downloaded, unzipped, and installed it. 

    When I "Build", I get an error for the tconf:

    line 355: Reference constraint violation:HST:RTA_fromHost.bufseg.MemberTest(L0SARAM) failed

    The tcf file's line where it failed has the following:

    bios.L0SARAM.space = "code";

    If I removed that then the tcf compiled but I get a linker error (I don't think I can remove the line, I was experimenting).

    What can I change to make it work?

    Thank you.

  • Stefani, I will bring this thread to the attention of the BIOS experts.

    Thanks

    ki

  • Stefani,
    does your BIOS 5.41 installation have a directory 'xdctools'? I have BIOS 5.42, which can be downloaded from here, that has that directory and I use tconf.exe from there, and I get the correct importPath. Can you post a screenshots of the Project Properties->CCS Build->TConf and Project Properties->CCS Build->TConf->General Options windows?

  • Thanks Ki.

    So I tried installing it on an old XP machine (instead of virtual XP machine that I use).  It said that CCS needs target configuration.  I am not sure what I should do there.  It is a custom board, with TMS320C2812 and I don't have an emulator that will work (I have XDS200 which I use to flash the board).

    Can I ignore it? 

    Thanks.

  • Stefani,
    I can't see which device you are using, but it seems it is something from the 28xx family. I think that somewhere in your script you are allocating the buffer for L0SARAM for Host Channel Manager (HST) to L0SARAM. The instruction will look similar to the one below, or L0SARAM is the default value for that buffer and there won't be any instruction specifying that property.

    bios.HST.instance("RTA_fromHost").bufSeg = prog.get("L0SARAM");

    At the same time, the instruction you quoted above is trying to allocate L0SARAM for code. You can't use L0SARAM for both at the same time. You may want to allocate the buffer for HST to a memory object that is reserved for data. You would find an appropriate one if you opened your script in gconf, the visual configuration tool. With gconf, only memory objects reserved for data can be allocated for the HST buffer.

  • Stefani said:

    It said that CCS needs target configuration.  I am not sure what I should do there.  It is a custom board, with TMS320C2812 and I don't have an emulator that will work (I have XDS200 which I use to flash the board).

    Can I ignore it? 

    XDS200 is not supported with CCSv3.3. Do you actually need debug support with CCSv3.3? Of it is just to build the project only (and you use some other technique to load/flash the code to your board)? If you only need build support then it is not essential to have the specific target configuration. You can likely just use the 2812 device simulator.

  • Hi Stefani,

    I'm able to build one of the BIOS 5.42.01.09 examples without any errors in CCS 5.5.  One difference I noticed is that the tconf script I'm running is the one in bios_5_42_01_09/xdctools, whereas you are running the one in c:/ti/xdctools_3_23_03_53.

    Could you check your project settings under Build -> Tconf and see what the command is?  I have "${BIOS_CG_ROOT}/xdctools/tconf" -b

    Best regards,

    Janet

  • No I do not need debug support with CCSv3.3.  On one machine I chose F2812 device simulator, but I still get the same errors.

    On my virtual machine, I launch setup again, chose F2812 device simulator, tried to build again, same errors.

  • Stefani said:

    No I do not need debug support with CCSv3.3.  On one machine I chose F2812 device simulator, but I still get the same errors.

    On my virtual machine, I launch setup again, chose F2812 device simulator, tried to build again, same errors.

    For just build, it doesn't really matter what target you are using.

    Regarding the error, it is out of my expertise. I defer to Sasha's post earlier.

  • Sasha Slijepcevic said:

    Stefani,
    I can't see which device you are using, but it seems it is something from the 28xx family. I think that somewhere in your script you are allocating the buffer for L0SARAM for Host Channel Manager (HST) to L0SARAM. The instruction will look similar to the one below, or L0SARAM is the default value for that buffer and there won't be any instruction specifying that property.

    bios.HST.instance("RTA_fromHost").bufSeg = prog.get("L0SARAM");

    At the same time, the instruction you quoted above is trying to allocate L0SARAM for code. You can't use L0SARAM for both at the same time. You may want to allocate the buffer for HST to a memory object that is reserved for data. You would find an appropriate one if you opened your script in gconf, the visual configuration tool. With gconf, only memory objects reserved for data can be allocated for the HST buffer.

    Thanks for replying Sasha.  The device I am using is TMS320F2812.

    The lines in .tcf file I have with bios.HST are only the following:

    bios.HST.HOSTLINKTYPE = "RTDX";

    bios.HST.OBJMEMSEG = prog.get("M0SARAM");

    bios.HST.HOSTLINKTYPE = "NONE";

    The lines with L0SARAM are:

    bios.MEM.BIOSOBJSEG = prog.get("L0SARAM");
    bios.MEM.MALLOCSEG = prog.get("L0SARAM");
    bios.TSK.STACKSEG = prog.get("L0SARAM");

    bios.L0SARAM.len = 0x1000;

    bios.L0SARAM.createHeap = 0;

    bios.L0SARAM.space = "code";                    // *************** this is the problem line ******************

    if (bios.MEM.LOADTRCDATASEG == prog.get("FLASH")) {
    bios.MEM.LOADTRCDATASEG = prog.get("L0SARAM");
    }

    if (bios.MEM.SYSMEMSEG == prog.get("FLASH")) {
    bios.MEM.SYSMEMSEG = prog.get("L0SARAM");
    }

    If I have the problem line, I cannot open it in graphical Edit.

    If I comment out that line (put // in front of it), then I can open Config Graphical Edit, and under Input/Output, HST has Object Memory M0SARAM and Host Linked Type NONE.

  • Ki said:

    For just build, it doesn't really matter what target you are using.

    Good, then I am OK with the target configuration.  Thanks Ki.

  • When you open the configuration in gconf, can you see "RTA_fromHost" and "RTA_toHost" under HST? If yes, can you look at their properties?

  • Sasha Slijepcevic said:

    Stefani,
    does your BIOS 5.41 installation have a directory 'xdctools'? I have BIOS 5.42, which can be downloaded from here, that has that directory and I use tconf.exe from there, and I get the correct importPath. Can you post a screenshots of the Project Properties->CCS Build->TConf and Project Properties->CCS Build->TConf->General Options windows?

    Sasha, this is with CCS5, correct?   See attached files.  It seems my files did not attach properly.

    From Tconf:

    Command:  "${XDC_CG_ROOT}/tconf" -b

    Command-line pattern: ${command} ${flags} ${inputs}

    Summary of flags set:

    -Dconfig.importPath="C:/ti/bios_5_41_13_42/packages;"

    From General Options:

    "${BIOS_CG_ROOT}/packages"

  • Is there 'xdctools' directory in C:/ti/bios_5_41_13_42? If yes, change the Tconf command to "${BIOS_CG_ROOT}/xdctools/tconf" -b.

  • Sasha Slijepcevic said:

    When you open the configuration in gconf, can you see "RTA_fromHost" and "RTA_toHost" under HST? If yes, can you look at their properties?

    Yes, I can see the properties.

    RTA_from Host and to Host both have bufseg L0SARAM

    So I added these 2 lines into the tcf file:

    bios.HST.instance("RTA_fromHost").bufSeg = prog.get("M0SARAM");

    bios.HST.instance("RTA_toHost").bufSeg = prog.get("M0SARAM");

    Re-enable the line: bios.L0SARAM.space = "code";

    Now the code compiled and linked successfully!    

    Thank you so much Sasha!

  • Sasha Slijepcevic said:

    Is there 'xdctools' directory in C:/ti/bios_5_41_13_42? If yes, change the Tconf command to "${BIOS_CG_ROOT}/xdctools/tconf" -b.

    Now back to CCS5.  No, there is no xdctools directory in bios_5_41_13_42.  I am downloading bios 5_42_01_09 now.

  • Stefani said:

    Sasha Slijepcevic

    Is there 'xdctools' directory in C:/ti/bios_5_41_13_42? If yes, change the Tconf command to "${BIOS_CG_ROOT}/xdctools/tconf" -b.

    Now back to CCS5.  No, there is no xdctools directory in bios_5_41_13_42.  I am downloading bios 5_42_01_09 now.

    I still have trouble getting this to compile,  I get a lot of warning messages.  

    Since I have it compiling and linking in CCS3.3, I am going to move on and probably try to port the code all the way to CCS 9.  I will open a new thread when I am looking into it.

    Thank you so much for everyone's help!