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.

TMDSDOCKH52C1: There are no example projects for TI-RTOS for C2000

Part Number: TMDSDOCKH52C1
Other Parts Discussed in Thread: CONTROLSUITE, POWERSUITE

Hi Team,

Our customer has TMDSDOCKH52C1 docking station with a F28M35 microcontroller and would like to run TI-RTOS 2.16. He is using Code Composer Studio 10.2.0. The TI-RTOS 2.16 for C2000 Getting Started Guide has a section "Creating an Empty TI-RTOS Project" where it tells to look for an example project in Resource Explorer inside Code Composer Studio. But when he followed the instructions and put the F28M35 microcontroller in the filter section, he couldn't find any example projects for loading the TI-RTOS.

He also tried SYS/BIOS (TI-RTOS Kernel) v6.45 User's Guide but he ran into a similar problem. In the TI-RTOS 2.16 Getting Started, it tells him to look for examples in Resource Explorer. He opened it but didn't find any examples.

In SYS/BIOS (TI-RTOS Kernel) v6.45 User's Guide, there is a section "Adding SYS/BIOS Support to an Existing Project". It tells to create a configuration file (with a .cfg extension) inside the project and open it with XGCONF. The manual shows that, upon opening such file with XGCONF, a Graphical User Interface is shown. When he opened it in his computer, a text editor is shown instead, with leads him to think that something is missing to show the GUI.

Can you please help us with this issue?

Thank you for your support!

Regards,

Danilo

  • The examples don't show up in the new Resource Explorer, but they are still accessible through the new project creator. There's an FAQ here that explains:

    https://e2e.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/982389/faq-where-do-i-find-sys-bios-or-ti-rtos-examples-for-my-c2000-device

    Regarding the cfg file, is he able to right click on the file and go to Open With -> XGCONF? Is the XGCONF option missing or is it present, but not showing the GUI? If the latter, are there tabs at the bottom of the editor pane where he can switch from the "cfg Script" view to the "SYS/BIOS" or "TI-RTOS" view?

    Whitney

  • Hi Whitney,

    Thank you for your response. We have received a feedback from the customer as follows.

    The suggested FAQ had very important information that was missing in the manuals I was reading. The manuals instructed to install TI-RTOS through Code Composer App Center, but I could not find TI-RTOS in App Center. I went through the standalone install of TI-RTOS, installed it in Windows, but I was not aware that I had to install it in Code Composer also. That was the missing piece of information, and that's the help I got from the FAQ.

    XGConf was still pointing errors when I opened the CFG file. I had to go to "Project Properties > General > Products" and add "C:\ti\tirtos_c2000_2_16_01_14\products\bios_6_45_02_31\packages". It was not clear that this was the path I had to add, nor that I had to fill the Target field with "ti.targets.C28". I got it all by searching through the directories in Windows Explorer and trying to figure out how it all fits together.

    After these steps, I can open the CFG file in XGConf and the project doesn't show any more errors until I click the build button. When I do it, the build fails and shows me the following message: can't find the library 'lib/Boot.a28' specified by package ti.catalog.c2800.init. It wasn't found along the path 'C:/ti/controlSUITE/powerSUITE/v_1_07_00_00/packages;C:/ti/tirtos_c2000_2_16_01_14/packages;C:/ti/tirtos_c2000_2_16_01_14/products/tidrivers_c2000_2_16_01_13/packages;C:/ti/tirtos_c2000_2_16_01_14/products/bios_6_45_02_31/packages;C:/ti/tirtos_c2000_2_16_01_14/products/ndk_2_25_00_09/packages;C:/ti/tirtos_c2000_2_16_01_14/products/uia_2_00_05_50/packages;C:/ti/tirtos_c2000_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/rts2800;C:/ti/xdctools_3_32_00_06_core/packages;..;'.

    I'm needing help to fix this last error and would appreciate very much your contribution.

    Regards,

    Danilo

  • Can you clarify if you are trying to create this project for the M3 core (target: ti.targets.arm.elf.M3) or the C28x core (target: ti.targets.C28_float)?

    Are these errors in an imported example or a project you've created yourself? If it's the latter, what happens when you try to import and build examples?

    Whitney

  • Hi Whitney,

    Here is the response from the customer.

    I tried to include TI-RTOS in a new project. I selected an EABI file format for this project, so it matches the projects I'm working on. I searched the directory C:\ti\tirtos_c2000_2_16_01_14\products\bios_6_45_02_31\packages\ti\targets and found the files C28_float.h, C28_float.xdc and C28_float.xs I tried to set the target ti.targets.C28_float in Code Composer > Project Properties > General > Products > targets. It shows me a list of platforms, so I guess this configuration was right so far. I can open the .cfg file with XGConf and use the GUI to configure the TI-RTOS components I'll be using. When I try to build the project, though, it fails with the following message:

    fatal error #16000: object files have incompatible formats ("C:\Users\guilh\workspace_v10\MY_PROJECT_TIRTOS_2\Debug\configPkg\package\cfg\MY_PROJECT_TIRTOS_2_p28FP.o28FP" = TI-COFF, "./main_C28.obj" = ELF)

    Seems like I should have set the target ti.targets.elf.C28_float so that TI-RTOS code is compatible with my project file format. When I go to the directory C:\ti\tirtos_c2000_2_16_01_14\products\bios_6_45_02_31\packages\ti\targets\elf, though, I can't see the files C28_float.h, C28_float.xdc and C28_float.xs.

    Am I correct to assume that TI-RTOS is not available for the elf file format in a F28M35 project? If my assumption is wrong, then how can I configure the target?

    Regards,

    Danilo

  • Does it work okay if you create a COFF project instead? It's possible that there is an issue with ELF. I believe BIOS 6.45.02.31 was released before EABI was added to the C28x compiler.

    I did confirm that if I created a SYS/BIOS project for the C28x core of the F28M35x using the newest version of SYS/BIOS it didn't give me any format compatibility errors, but it also gave me a linker error that seems like it may be a bug, so you may want to stick with COFF for the F28M35x C28x if you can.

    Whitney

  • Hi Whitney,

    Here is the response of the customer

    1. My project is designed for the C28 Core (target: ti.targets.C28_float).

    2. All errors were found in a project I created by myself. After importing the example hello that came with TI-RTOS, it compiled and ran. I didn't see any prints in Code Composer Studio "Console" view, though.

    Back to my project, I modified it for legacy COFF and selected target ti.targets.C28_float in its properties. I have a blank cfg file. The project was compiling ok before adding TI-RTOS. Now I see multiple errors and warnings regarding memory allocation.

    Description Resource Path Location Type
    #10010 errors encountered during linking; "My_Project_C28_TIRTOS.out" not built My_Project_C28_TIRTOS C/C++ Problem
    #10265 no valid memory range available for placement of ".flashfuncs" linker.cmd /My_Project_C28_TIRTOS/Debug/configPkg line 91 C/C++ Problem 

    #10099-D program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. load placement with alignment/blocking fails for section ".flashfuncs" size 0x1apage 0 linker.cmd /My_Project_C28_TIRTOS/Debug/configPkg line 91 C/C++ Problem
    #10099-D program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment/blocking fails for section "codestart" size 0x2page 0. Available memory ranges: 28M35H52C1_RAM_lnk_c28.cmd /My_Project_C28_TIRTOS line 89 C/C++ Problem
    #10099-D program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".flashfuncs" size 0x1apage 1 linker.cmd /My_Project_C28_TIRTOS/Debug/configPkg line 91 C/C++ Problem 

    Description Resource Path Location Type
    #10097 memory range not found: FLASH on page 0 linker.cmd /My_Project_C28_TIRTOS/Debug/configPkg line 91 C/C++ Problem
    #10097 memory range not found: L03SARAM on page 1 linker.cmd /My_Project_C28_TIRTOS/Debug/configPkg line 91 C/C++ Problem
    #10247-D creating output section ".binit" without a SECTIONS specification My_Project_C28_TIRTOS C/C++ Problem
    #10247-D creating output section ".cio" without a SECTIONS specification My_Project_C28_TIRTOS C/C++ Problem 

    Regards,

    Danilo

  • Okay, it looks like you're nearly there. Try a different linker command file that includes the Flash. Maybe see if the one that was used in the "hello" example works in this project.

    Or you could get F28M35H52C1_c28.cmd from controlSUITE and make some modifications to it to add .binit and .cio sections (use the "hello" cmd file as a reference on where they should go). You may also need to go into the Boot module settings in your config file and change the Load and Run Segment settings to match actual Flash and RAM block names in your cmd file.

    There's a nice guide on linking here if you're new to editing cmd files:

    software-dl.ti.com/.../c2000_c28x-compiler-understanding-linking.html

    Whitney

  • Hi Whitney,

    The customer were able to run TI-RTOS by following your advice. Thank you very much for your help and support!

    Regards,

    Danilo