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.

TMS320F280049C: RTOS for TMS320F280049C

Part Number: TMS320F280049C
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

Hello,

I am looking to port a RTOS to C28 x TMS320F280049C.

Tried to port TI-RTOS, then realize that only TI-RTOS kernel (SYS/BIOS) is available for this device.

Then from reading the posts from the forum, I learned that FreeRTOS is best for C2000 devices.

Now my question is:

1. If I would prefer to use TI-RTOS kernel (SYS/BIOS), what features are available for C2000 devices? Any document says how to config the MCU pins and board peripherals? I ported an example, but doesn't have the board initialization.

2. If choosing FreeRTOS, I do see the examples from a repository from FreeRTOS community, but I don't see the specific files for the specific device I am using. Anyone with experience with it can share experience?

Thanks a lot!

Crane

  • To be accurate, one article mentioned that FreeRTOS is recommended for C2000.

  • Right, we aren't recommending SYS/BIOS for new projects--FreeRTOS is the recommended option now.

    Are you talking about these demo projects here? We don't have examples for the F28004x with FreeRTOS specifically, but the F2838x examples should port to F28004x fairly easily. Swapping out the the F2838x device support and driverlib files from C2000Ware with the F28004x versions, should take care of most of it.

    Whitney

  • Thanks Whitney for your reply. Ok got it. 

    Yes, that's the one I was talking about. 

    So you mean to swap out driverlib.lib from C2000Ware, or anything else?

    In terms of device support, you mean board.h and board.c from SysConfig or something else as well?

    Any documentation about porting FreeRTOS from F2838x to F28004x?

  • Yes, basically changing the project properties so that the #include search path and the driverlib.lib are the F28004x versions of the files. By device support, I was mostly thinking of grabbing an appropriate version of device.h, device.c, linker cmd files, etc... for the F28004x as well.

    For SysConfig, there are some instructions on switching hardware here.

    I'm not sure about FreeRTOS documentation. I've copied our FreeRTOS expert to this thread, and will let them comment.

    Whitney

  • Thanks Whitney!

    I downloaded the FreeRTOS for F2838x and imported a project to CCS. It doesn't allow me to change the target in the project properties. And as the example doesn't include any source files of FreeRTOS,  I am wondering how to integrate the FreeRTOS source files with the example.  Without knowing that, I don't even know which path to be included.

    I feel like many things are missing for me in order to port the example to F28004x. If there is any document guiding how to do that, that will be really helpful. 

    Thanks!

    Crane

  • You could edit the example project's .projectspec file to update the device and paths before trying to import the project if CCS won't let you edit it. You could also edit the "FreeRTOS_ROOT" path variable in the projectspec to point to wherever you've installed it relative to the example. The readme for the demo projects says:

    "Update the C2000WARE_ROOT and FreeRTOS_ROOT path variable in the example projectspec files available at following location in the repo: FreeRTOS-Community-Supported-Demos\C2000_F2838x_C28x_CCS\CCS"

    So it seems some edits are expected anyway.

    Whitney

  • I made some changes and very close now. 

    The only issue left right now is these errors when compiling.

    I found the last two symbols in portmacro.h, but it doesn't work to include this head file in these two source files. 

    Any clue? Thanks!

  • I went through the process again and can build it successfully.

    Then the next question is how to use .syscfg file to config the pins and initialize the board. I add one .syscfg file to the project and got this error in compiling.

    Is it correct to add .syscfg file directly to the project? I did that for the project without OS and it worked.

  • It is addressed by adding flags. The project can be built successfully and run. 

    Thank you for your help!

  • One update for anyone who might see this thread later. 

    Just realize that there is another version of supported port files for C2000_C28x is not correct on the internet. That's why I got building errors yesterday.