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.

RTOS/TMS320F28335: Cannot build after installing TI-RTOS/DSP-BIOS

Part Number: TMS320F28335
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE, SYSBIOS

Tool/software: TI-RTOS

CCS Version: 8.0.0.00016

DSP-BIOS version: 5.42.02.10 (Not sure if this is the correct one, I was pointed to it in the Resource Explorer). 

I set the project up as such, touched nothing else, and upon trying to build, I got a whole slew of errors. I saw the solution mentioned here, but it doesn't seem to apply to me, my h28 files do not appear to have quotes.

"./clkcfg.cmd", line 83: error #10104: undefined symbol "HWI_RESET" used in expression
"./clkcfg.cmd", line 84: error #10104: undefined symbol "HWI_INT1" used in expression
"./clkcfg.cmd", line 85: error #10104: undefined symbol "HWI_INT2" used in expression
"./clkcfg.cmd", line 86: error #10104: undefined symbol "HWI_INT3" used in expression
"./clkcfg.cmd", line 87: error #10104: undefined symbol "HWI_INT4" used in expression
"./clkcfg.cmd", line 88: error #10104: undefined symbol "HWI_INT5" used in expression
"./clkcfg.cmd", line 89: error #10104: undefined symbol "HWI_INT6" used in expression
"./clkcfg.cmd", line 90: error #10104: undefined symbol "HWI_INT7" used in expression
"./clkcfg.cmd", line 91: error #10104: undefined symbol "HWI_INT8" used in expression
"./clkcfg.cmd", line 92: error #10104: undefined symbol "HWI_INT9" used in expression
"./clkcfg.cmd", line 93: error #10104: undefined symbol "HWI_INT10" used in expression
"./clkcfg.cmd", line 94: error #10104: undefined symbol "HWI_INT11" used in expression
"./clkcfg.cmd", line 95: error #10104: undefined symbol "HWI_INT12" used in expression
"./clkcfg.cmd", line 96: error #10104: undefined symbol "HWI_INT13" used in expression
"./clkcfg.cmd", line 97: error #10104: undefined symbol "HWI_TINT" used in expression
"./clkcfg.cmd", line 98: error #10104: undefined symbol "HWI_DLOG" used in expression
"./clkcfg.cmd", line 99: error #10104: undefined symbol "HWI_RTOS" used in expression
"./clkcfg.cmd", line 100: error #10104: undefined symbol "HWI_RESERVED" used in expression
"./clkcfg.cmd", line 101: error #10104: undefined symbol "HWI_NMI" used in expression
"./clkcfg.cmd", line 102: error #10104: undefined symbol "HWI_ILLEGAL" used in expression
"./clkcfg.cmd", line 103: error #10104: undefined symbol "HWI_USER1" used in expression
"./clkcfg.cmd", line 104: error #10104: undefined symbol "HWI_USER2" used in expression
"./clkcfg.cmd", line 105: error #10104: undefined symbol "HWI_USER3" used in expression
"./clkcfg.cmd", line 106: error #10104: undefined symbol "HWI_USER4" used in expression
"./clkcfg.cmd", line 107: error #10104: undefined symbol "HWI_USER5" used in expression
"./clkcfg.cmd", line 108: error #10104: undefined symbol "HWI_USER6" used in expression
"./clkcfg.cmd", line 109: error #10104: undefined symbol "HWI_USER7" used in expression
"./clkcfg.cmd", line 110: error #10104: undefined symbol "HWI_USER8" used in expression
"./clkcfg.cmd", line 111: error #10104: undefined symbol "HWI_USER9" used in expression
"./clkcfg.cmd", line 112: error #10104: undefined symbol "HWI_USER10" used in expression
"./clkcfg.cmd", line 113: error #10104: undefined symbol "HWI_USER11" used in expression
"./clkcfg.cmd", line 114: error #10104: undefined symbol "HWI_USER12" used in expression
"./clkcfg.cmd", line 115: error #10104: undefined symbol "PIE_INT1_1" used in expression
"./clkcfg.cmd", line 116: error #10104: undefined symbol "PIE_INT1_2" used in expression
"./clkcfg.cmd", line 117: error #10104: undefined symbol "PIE_INT1_3" used in expression
"./clkcfg.cmd", line 118: error #10104: undefined symbol "PIE_INT1_4" used in expression
"./clkcfg.cmd", line 119: error #10104: undefined symbol "PIE_INT1_5" used in expression
"./clkcfg.cmd", line 120: error #10104: undefined symbol "PIE_INT1_6" used in expression
"./clkcfg.cmd", line 121: error #10104: undefined symbol "PIE_INT1_7" used in expression
"./clkcfg.cmd", line 122: error #10104: undefined symbol "PIE_INT1_8" used in expression
"./clkcfg.cmd", line 123: error #10104: undefined symbol "PIE_INT2_1" used in expression
"./clkcfg.cmd", line 124: error #10104: undefined symbol "PIE_INT2_2" used in expression
"./clkcfg.cmd", line 125: error #10104: undefined symbol "PIE_INT2_3" used in expression
"./clkcfg.cmd", line 126: error #10104: undefined symbol "PIE_INT2_4" used in expression
"./clkcfg.cmd", line 127: error #10104: undefined symbol "PIE_INT2_5" used in expression
"./clkcfg.cmd", line 128: error #10104: undefined symbol "PIE_INT2_6" used in expression
"./clkcfg.cmd", line 129: error #10104: undefined symbol "PIE_INT2_7" used in expression
"./clkcfg.cmd", line 130: error #10104: undefined symbol "PIE_INT2_8" used in expression
"./clkcfg.cmd", line 131: error #10104: undefined symbol "PIE_INT3_1" used in expression
"./clkcfg.cmd", line 132: error #10104: undefined symbol "PIE_INT3_2" used in expression
"./clkcfg.cmd", line 133: error #10104: undefined symbol "PIE_INT3_3" used in expression
"./clkcfg.cmd", line 134: error #10104: undefined symbol "PIE_INT3_4" used in expression
"./clkcfg.cmd", line 135: error #10104: undefined symbol "PIE_INT3_5" used in expression
"./clkcfg.cmd", line 136: error #10104: undefined symbol "PIE_INT3_6" used in expression
"./clkcfg.cmd", line 137: error #10104: undefined symbol "PIE_INT3_7" used in expression
"./clkcfg.cmd", line 138: error #10104: undefined symbol "PIE_INT3_8" used in expression
"./clkcfg.cmd", line 139: error #10104: undefined symbol "PIE_INT4_1" used in expression
"./clkcfg.cmd", line 140: error #10104: undefined symbol "PIE_INT4_2" used in expression
"./clkcfg.cmd", line 141: error #10104: undefined symbol "PIE_INT4_3" used in expression
"./clkcfg.cmd", line 142: error #10104: undefined symbol "PIE_INT4_4" used in expression
"./clkcfg.cmd", line 143: error #10104: undefined symbol "PIE_INT4_5" used in expression
"./clkcfg.cmd", line 144: error #10104: undefined symbol "PIE_INT4_6" used in expression
"./clkcfg.cmd", line 145: error #10104: undefined symbol "PIE_INT4_7" used in expression
"./clkcfg.cmd", line 146: error #10104: undefined symbol "PIE_INT4_8" used in expression
"./clkcfg.cmd", line 147: error #10104: undefined symbol "PIE_INT5_1" used in expression
"./clkcfg.cmd", line 148: error #10104: undefined symbol "PIE_INT5_2" used in expression
"./clkcfg.cmd", line 149: error #10104: undefined symbol "PIE_INT5_3" used in expression
"./clkcfg.cmd", line 150: error #10104: undefined symbol "PIE_INT5_4" used in expression
"./clkcfg.cmd", line 151: error #10104: undefined symbol "PIE_INT5_5" used in expression
"./clkcfg.cmd", line 152: error #10104: undefined symbol "PIE_INT5_6" used in expression
"./clkcfg.cmd", line 153: error #10104: undefined symbol "PIE_INT5_7" used in expression
"./clkcfg.cmd", line 154: error #10104: undefined symbol "PIE_INT5_8" used in expression
"./clkcfg.cmd", line 155: error #10104: undefined symbol "PIE_INT6_1" used in expression
"./clkcfg.cmd", line 156: error #10104: undefined symbol "PIE_INT6_2" used in expression
"./clkcfg.cmd", line 157: error #10104: undefined symbol "PIE_INT6_3" used in expression
"./clkcfg.cmd", line 158: error #10104: undefined symbol "PIE_INT6_4" used in expression
"./clkcfg.cmd", line 159: error #10104: undefined symbol "PIE_INT6_5" used in expression
"./clkcfg.cmd", line 160: error #10104: undefined symbol "PIE_INT6_6" used in expression
"./clkcfg.cmd", line 161: error #10104: undefined symbol "PIE_INT6_7" used in expression
"./clkcfg.cmd", line 162: error #10104: undefined symbol "PIE_INT6_8" used in expression
"./clkcfg.cmd", line 163: error #10104: undefined symbol "PIE_INT7_1" used in expression
"./clkcfg.cmd", line 164: error #10104: undefined symbol "PIE_INT7_2" used in expression
"./clkcfg.cmd", line 165: error #10104: undefined symbol "PIE_INT7_3" used in expression
"./clkcfg.cmd", line 166: error #10104: undefined symbol "PIE_INT7_4" used in expression
"./clkcfg.cmd", line 167: error #10104: undefined symbol "PIE_INT7_5" used in expression
"./clkcfg.cmd", line 168: error #10104: undefined symbol "PIE_INT7_6" used in expression
"./clkcfg.cmd", line 169: error #10104: undefined symbol "PIE_INT7_7" used in expression
"./clkcfg.cmd", line 170: error #10104: undefined symbol "PIE_INT7_8" used in expression
"./clkcfg.cmd", line 171: error #10104: undefined symbol "PIE_INT8_1" used in expression
"./clkcfg.cmd", line 172: error #10104: undefined symbol "PIE_INT8_2" used in expression
"./clkcfg.cmd", line 173: error #10104: undefined symbol "PIE_INT8_3" used in expression
"./clkcfg.cmd", line 174: error #10104: undefined symbol "PIE_INT8_4" used in expression
"./clkcfg.cmd", line 175: error #10104: undefined symbol "PIE_INT8_5" used in expression
"./clkcfg.cmd", line 176: error #10104: undefined symbol "PIE_INT8_6" used in expression
"./clkcfg.cmd", line 177: error #10104: undefined symbol "PIE_INT8_7" used in expression
"./clkcfg.cmd", line 178: error #10104: undefined symbol "PIE_INT8_8" used in expression
"./clkcfg.cmd", line 179: error #10104: undefined symbol "PIE_INT9_1" used in expression
"./clkcfg.cmd", line 180: error #10104: undefined symbol "PIE_INT9_2" used in expression
"./clkcfg.cmd", line 181: error #10104: undefined symbol "PIE_INT9_3" used in expression
"./clkcfg.cmd", line 182: error #10104: undefined symbol "PIE_INT9_4" used in expression
"./clkcfg.cmd", line 183: error #10104: undefined symbol "PIE_INT9_5" used in expression
fatal error #99900: error limit reached; 100 errors detected
 
>> Compilation failure
makefile:142: recipe for target 'h.out' failed
gmake[1]: *** [h.out] Error 1
makefile:138: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

  • Frank,
    can you post the complete console output, not only the error messages?
  • Well, I seem to have kind of fixed the issue after installing SYS/BIOS from the Resource Explorer rather than using DSP/Bios (what the difference is, I really don't understand). Using an example from there (clock experimenter kit) seemed to build and compile fine.

    However, when I tried add in the C2000 specific device IO headers, things got hairy again. Below is the full log.

    I've used the attached PDF to successfully get C200Ware up and running. I then I started following a Mindshare Advantage tutorial for setting up TI-RTOS (SYS/BIOS, DSP/BIOS, Insert Other Name Here, etc) because it seems to be the most up-to-date material. That failed. So then I created a new (typical) example SYS/BIOS project and that seemed to compile and run fine. 

    The issue now is trying to figure out how to add in the "DSP28x_Project.h" header file without things crashing. I went back into the project configuration and added in the C2000 libraries and command files and the result is the crash below. I've also attached screenshots so you can see my configuration.

    Ive also seen mentions of setting up a *.cfg file (page 30 of this guide) and a GUI pops up where I can configure the OS components. All I get when I open mine is a raw text file with (seemingly) the same information, no GUI.

    Basically, all I want to do is use TI-RTOS to manage scheduling and some device peripherals and use some GPIO (as I understand it, I need to use both TI-RTOS, SYS/BIOS, DSP/BIOS, etc and also C2000Ware/ControlSuite simultaneously. But no matter how I try to tackle setting up the environment, I fail. I have the latest versions of everything.

    3247.F2833x_DEV_USER_GUIDE.pdf

    **** Build of configuration Debug for project clock_ExperimentersKit_DelfinoF28335 ****
    
    "C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 8 all -O 
     
    making ../src/sysbios/sysbios.a28FP ...
    gmake[1]: Nothing to be done for 'all'.
    making ../src/sysbios/sysbios.a28FP ...
    gmake[2]: Nothing to be done for 'all'.
    Building target: "clock_ExperimentersKit_DelfinoF28335.out"
    Invoking: C2000 Linker
    "C:/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.1.LTS/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on -z -m"clock_ExperimentersKit_DelfinoF28335.map" --stack_size=0x300 --warn_sections -i"C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd" -i"C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/headers/cmd" -i"C:/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.1.LTS/lib" -i"C:/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.1.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="clock_ExperimentersKit_DelfinoF28335_linkInfo.xml" --rom_model -o "clock_ExperimentersKit_DelfinoF28335.out" "./clock.obj" "../TMS320F28335.cmd" -l"configPkg/linker.cmd" -l28335_RAM_lnk.cmd -lrts2800_fpu32.lib -lDSP2833x_Headers_BIOS.cmd 
    <Linking>
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 117: error #10263: BEGIN memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 124: error #10263: CSM_RSVD memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 124: error #10264: CSM_RSVD memory range overlaps existing memory range CSM_RSVD
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 125: error #10263: CSM_PWL memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 125: error #10264: CSM_PWL memory range overlaps existing memory range CSM_PWL
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 126: error #10263: ADC_CAL memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 126: error #10264: ADC_CAL memory range overlaps existing memory range ADC_CAL
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 127: error #10263: RESET memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 127: error #10264: RESET memory range overlaps existing memory range RESET
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 128: error #10263: IQTABLES memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 128: error #10264: IQTABLES memory range overlaps existing memory range IQTABLES
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 129: error #10263: IQTABLES2 memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 129: error #10264: IQTABLES2 memory range overlaps existing memory range IQTABLES2
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 130: error #10263: FPUTABLES memory range has already been specified
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 130: error #10264: FPUTABLES memory range overlaps existing memory range FPUTABLES
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 131: error #10264: BOOTROM memory range overlaps existing memory range ROM
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 139: error #10264: BOOT_RSVD memory range overlaps existing memory range M01SARAM
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 140: error #10264: RAMM1 memory range overlaps existing memory range M01SARAM
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 141: error #10264: RAML4 memory range overlaps existing memory range L07SARAM
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 142: error #10264: RAML5 memory range overlaps existing memory range L07SARAM
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 143: error #10264: RAML6 memory range overlaps existing memory range L07SARAM
    "C:/ti/c2000/C2000Ware_1_00_04_00/device_support/f2833x/common/cmd/28335_RAM_lnk.cmd", line 144: error #10264: RAML7 memory range overlaps existing memory range L07SARAM
     
     undefined     first referenced
      symbol           in file     
     ---------     ----------------
     _GpioCtrlRegs ./clock.obj     
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "clock_ExperimentersKit_DelfinoF28335.out" not built
     
    >> Compilation failure
    makefile:143: recipe for target 'clock_ExperimentersKit_DelfinoF28335.out' failed
    gmake[1]: *** [clock_ExperimentersKit_DelfinoF28335.out] Error 1
    makefile:139: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****
    

  • This is a new problem, and I'll have to find someone else to answer because I am not familiar with C2000Ware and everything that comes with it. But, I can explain a couple of things that might help you understand what's happening. First, unless you have an old DSP/BIOS project from a long time ago, there is no need to install it and use it. It's a deprecated version of the kernel. SYS/BIOS is a newer version of the kernel. TI-RTOS is SYS/BIOS plus drivers and some other related products.
    Your linker command line problem is a result of multiple linker command files supplied on the command line. I don't know which one should be used, but I hope I'll find someone who will know.
  • Hmm, all right, that makes sense with DSP/BIOS. As far as SYS/BIOS and TI-RTOS, that kinda makes sense too, except that downloading the right one(s) is tricky. When I went to the App Center (that's what pops up when you boot up CCS for the first time, whether there's a difference between that and the Resource Explorer -- I can download libraries form both seemingly --  I don't know) it told me that I should download TI-RTOS, but I couldn't find it in there. Only SYS/BIOS and DSP/BIOS, so I downloaded DSP/BIOS my first time around.

    Notice how TI-RTOS itself doesn't pop up in the App Center

    And yes, please, if you could get somebody who's familiar with this (preferably both) that'd be awesome. The Mindshare Advantage tutorial had mentioned something about having to add in separate support for the C2000's because, unlike the MSP430, support was not built-in. 

  • I forgot that there is no TI-RTOS for C2000. So yes, SYS/BIOS is what you should be using for C2000.
  • I concur with Sasha, please download SYS/BIOS from here: software-dl.ti.com/.../index.html (note: I see you already have SYS/BIOS 6.70, but I included the link for other readers of this thread).

    We have a TI-RTOS for C2000, but that's really for the Concerto family of devices (M3 + C2000 DSP). While TI-RTOS for C2000 has support for other c2000 devices, it only has examples for the Concerto family ones. SYS/BIOS will have examples for all C2000 devices. Note: TI-RTOS for C2000 has RTOS aware drivers, but only for the M3 core.

    Can we mark this thread as resolved and if you have more questions (e.g. inclusion of DSP28x_Project.h), can you start a new thread?

    Todd
  • Hi Todd,

    Thanks for getting back to me. Unfortunately, that does not solve my problem, it only confirms I've downloaded the correct software components. I still cannot seem to get a project to build properly using both C2000Ware and SYS/BIOS. I'm still basically at the same point as I was when starting this thread.

  • Like, if you could take me though, step by step, in setting up, building, and compiling a simple "Hello World" project that uses SYS/BIOS and blinks an LED, that'd be great.
  • I think I figured out where the confusion was (I'm new to RTOS in general). I assumed I needed a separate library (C200Ware) to interact with the GPIO, since most of the examples don't really illustrate how to do this -- they're more concerned with illustrating RTOS concepts like semaphores and timers. 

    So I guess the real question now becomes, how can I, for simplicity, blink an LED using SYS/BIOS?

    I see from the SYS/BIOS user guide that the "GIO" files located at "C:\ti\bios_6_70_00_21\packages\ti\sysbios\io" are deprecated, so I'd rather not use that.

  • Hi Frank,

    You need to use C2000Ware to interact with GPIOs.

    Todd