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.

USB management in SYSBIOS, C2000 family

Other Parts Discussed in Thread: SYSBIOS, CONTROLSUITE

Hi,

I am starting a new project with TMS320F28062U using SYSBIOS (last version). My question is about available tools for USB management on this new product.

In this project, I need to implement a usb communication between my texas device and a computer and also need to implement a bootloader to allow firmware upgrade using usb. I am just afraid by the fact that usb on C2000 family is new and hope that it can already be managed by SYSBIOS (via API i guess).

I just start using Texas controllers & programming in an OS so that's a big but really interesting challenge for me! My target here is to start a discussion, maybe to start a summary on usb management in C2000 family (if already not done...).

Many thanks for your feedback!

  • Hi,

    Sadly there is no built in configuration for USB like the other SYS/BIOS modules.  That said it is easy to integrate the USB stack with SYS/BIOS.

    The first thing to figure out is what kind of USB you want.  Will you be doing host or device?  What classes of devices would you like to support? MSC? HID? CDC?

    If you're going to be a USB Device, you'll simply need to call the initialization functions just like the USB examples do in controlSUITE and register the USB interrupt handler as a HWI in SYS/BIOS.

    If you're going to be a USB Host, you'll do the same as above, but you'll also need to register the Host state machine as a periodic task in SYS/BIOS.

    I would recommend you keep your bootloader separate and due to size considerations I would implement it without using SYS/BIOS.  There is an example of a USB bootloader in controlSUITE.

    Let me know if you have more questions,

  • Hi,

    First many thanks for this answer!

    Ok, that's what i thought => I can use a standard API (present in controlSUITE) and manage it as HWI in SYSBIOS. Regarding bootloader, no OS needed, just a small firmware to manage USB, memory writing and some basic functionnalities specific to my project.

    Another question regarding what you said ("Sadly there is no built in configuration for USB like the other SYS/BIOS modules"): Are functionnalities like ADC, EPWM,... managed by the OS or do I need to take API like in no-OS firmwares and introduce it as task, HWI,...??? I often write firmwares without OS so I have some difficulties to know where does the OS stop having effect...

    Have a good day,

    Frédéric

  • Frederic,

    Great! We are on the same page in regard to the bootloader.

    SYS/BIOS is really only there to manage your software.  What I mean is that you still have to write you application software yourself, but SYS/BIOS take care of scheduling and memory management.  Graphical tools to configure scheduling/interrupts/memory are available in CCS.  You can also configure some system level parameters like PLL setup in the graphical configuration.  Everything else you'll have to do in code yourself.