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.

TI-RTOS on 28075?

Other Parts Discussed in Thread: CONTROLSUITE, TMS320F28075, SYSBIOS

Hi.

I have been going through the video lessons on the 2-day TI-RTOS workshop by Eric Wilbur, and implementing all of the labs on a 28069 ControlStick using CCSv6.0.  This has been working great, and I've been learning the basics of TI-RTOS.  Now, I want to make it work on my 28075 ControlCard.  I can't build the project for the 28075, because there doesn't seem to be any of the supporting .cmd files for the 28075, most specifically the 28075 version of F2806x_Headers_BIOS.cmd.  This file doesn't exist anywhere.  Can anyone tell me if there is a supported project for this, or if I need to make all of these files myself.

Thanks,

Justin

  • Justin,

    I do not see support for this device in CCS. There's no emulation for that device nor any linker command files as you state.
    I don't know the reason why...I will ask around and post back here if/when I find anything out.

    Judah
  • Hi Judah, thanks for responding!

    First, I've heard that CCSv6 is required for the 28075.  Maybe that is why you're not seeing any CCS support for 28075?

    I've found some linker command files in the 28075 projects in controlSuite, but they don't build due to the program not fitting into available memory.  The linker command file specifies a small-ish bit of memory for .ebss and I'm not sure why.

        .ebss               : > M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 PAGE = 1

    So, for starters, just trying a 28075 project from controlSuite doesn't work out of the box.  I figure I should get this settled before I try to migrate the 28069-based TI-RTOS projects to the 28075.  Along those lines, I'm wondering if there is any TI-BIOS specific support for the 28075, such as the 28075-variant of the F2806x_Headers_BIOS.cmd file that seemed critical to the functioning of the TI-RTOS projects in Eric Wilbur's workshop.

    -Justin

  • Hi Judah,

    Also, I'm getting two other errors (using the helloWorld_TMS320F28075 project from controlSuite):
    1) "file devices\tms320f28075.xml does not exist" (I've verified this does not exist in my filesystem)
    2) "This project was created for a device that is not currently recognized. TMS320C28XX.TMS320F28075. Please go to CCS App Center to install the device descriptor, or migrate the project to the closest match from the supported devices by adjusting project properties".

    -Justin
  • Justin,

    If you get the latest version of CCS.  Version 6.1.0.104, support is there for F28075.
    Sorry, I was looking in CCS 6.0.1 and didn't see it.

    http://processors.wiki.ti.com/index.php/Download_CCS

    Judah

  • Hi Judah,

    I installed 6.1.0 and it now seems to recognize the device.  

    I am still having the original problem though.  The linker complains that there is not enough memory for the .ebss section.  I don't know anything about .cmd files, and the information I found online doesn't seem to help.  Not knowing anything about how they work, I tried adding "more blocks of memory" by tacking on "RAMGS2" to .ebss.

    Originally was:

    .ebss               : >> M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 PAGE = 1

    After adding "RAMGS2":

    .ebss               : >> M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 | RAMGS2 PAGE = 1

    I still get exactly the same error, saying that the section size is 0x249D, and that is too small.  This makes me think that adding that extra section was not accepted by the linker. 

    Do you have any idea how I can add more memory to this section?  Or do you think I am taking the wrong approach?

    Thanks,

    Justin

  • Justin,

    So the syntax below says...try to place .ebss in M01SARAM, if there's not enough space, try putting it into LS05SARAM, then RAMGS0, etc...

    .ebss               : >> M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 | RAMGS2 PAGE = 1

    Now, the reason why when you added RAMGS2 this still doesn't work is because .ebss cannot be broken across different memory segments, so it needs to fit the entire section into 1 memory segment and the linker couldn't do it.  M01SARAM, RAMGS0 and RAMGS1, RAMGS2 are too small to fit your .ebss section.  LS05SARAM is big enough but something probably was placed in there first (probably .stack) and so whats remaining is not big enough.

    To get around the problem, you may have to modify your linker command file to combine some of the RAMGS# sections.

    So instead of having this:

    RAMGS0 : origin = 0x00C000, length = 0x001000
    RAMGS1 : origin = 0x00D000, length = 0x001000
    RAMGS2 : origin = 0x00E000, length = 0x001000
    RAMGS3 : origin = 0x00F000, length = 0x001000

    have something like this:

    RAMGS03 : origin = 0x00C000, length = 0x004000

    then remove any references to RAMGS0, RAMGS1, RAMGS2, RAMGS3 and do:

    .ebss               : >> M01SARAM | LS05SARAM | RAMGS03 PAGE = 1

    Judah

  • That works!!!! Thank you for explaining that so well Judah!
    -Justin
  • Judah, do you have any idea why the embedded emulator on the 28075 controlCard thinks the system clock should be set for 190MHz? When I try to debug the helloworld project, it gives me the following error and I have no idea where to find the setting:
    C28xx_CPU1: Flash Programmer: The calculated system clocks (190.00) is not within the valid range for this device [0.00,120.00].

    -Justin
  • Judah,

    Actually, I think I found the place where the setting goes, but it won't allow me to change it. Under properties for the project, I click on the DEBUG tab on the left, and then in the DEBUG pane, I click on "Flash Settings". This shows settings for the flash programmer, including the "System PLLCR Integer Multiplier (SPLLIMULT)", which is currently set to 19. OSCCLK is set to 10, but the field is grayed out and I can't change it. When I try to set SPLLIMULT to 12 (assuming 10 * 12 = 120), I click OK, and an error message flashes onto the screen too fast for me to read, and when I reopen the configuration settings, SPLLIMULT is back to 19. Any idea on how to change this, or if I'm in the wrong area?

    Justin
  • Justin,

    I am not sure and I don't have a board to try out.
    I don't know if this is a CCS/gel issue or not.
    I know that for SYSBIOS, we do have a boot module that can configure the PLL settings using the XGCONF graphical tool.

    I would recommend that you post a new question on this issue in the C2000 forum space as the original problem you have is solved.
    Hopefully somebody there knows whats going on. Meanwhile, I'll ask around to see if we have any of these in my builiding and respond if I discover anything new.

    Judah
  • Justin Gullotta said:
    Judah, do you have any idea why the embedded emulator on the 28075 controlCard thinks the system clock should be set for 190MHz? When I try to debug the helloworld project, it gives me the following error and I have no idea where to find the setting:
    C28xx_CPU1: Flash Programmer: The calculated system clocks (190.00) is not within the valid range for this device [0.00,120.00].

    Justin,

    Please see if this thread helps:

    https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/409857

  • Hi Lori,

    Yes, I just figured that out on my own but hadn't had a chance to reply yet. Thank you!

    Justin