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.

Peripherial API Drivers for C2000 MCUs

Other Parts Discussed in Thread: CONTROLSUITE

Good day.

I am planning to use TMS320F2805x MCU in my project.

Here (on page 4) and in some other docs I  read about Peripherial API Drivers for this MCUs, but I can`t find them in "device support" folder or on TI web-site.

Do they exist? Or the only way is to use bit fields and structures?

Thanks for any information.


Vladimir.

  • Hello Vladimir,

    The F2805x is a somewhat older device sub-family, and TI did not go back and add driverlib support for most of the older devices (with the exception of F2802x it seems).  For the newer devices, Driverlib is available in the device support folder in ControlSuite, for example here:

    C:\TI\controlSUITE\device_support\F2807x\v200\F2807x_common\driverlib

    F2802x is a bit different, as this was the first excursion into the driverlib approach.  F2802x stuff seems to be here:

    C:\TI\controlSUITE\device_support\f2802x\v230\f2802x_common\source

    Depending on what peripheral you are looking for, you might be able to quickly develop the functions you need using the F2802x and/or F2807x materials.  Source code is provided for them.

    Regards,

    David

  • I analyzed "Peripheral Driver Library User Guide.pdf" for both f2802x and f2807x in corresponding "doc" folder.

    First library (for f2802x) can work with major basic peripherials (GPIO, ADC, etc.). Second (for f2807x) - only with some others (UART, USB, etc.). This two libraries complement each other.

    It looks they are compatible with each other and I can use first (for f2802x) to work with f2807x sub-family.



    What is the defference beetween this sub-families (f2802x, f2805x and f2807x)? Do they compatible with each other?

    I didn't find any document with defferences beetween them. Only general information - clocks, memory sizes and avalible peripherials. The other things are the same?

    Can I use this libraries directly for my f2805x , or must adapt them and if yes - what exactly (for example some defines in .h files or some changes in .cmd file)?

  • Vladimir,

    The F2805x is much closer to the F2802x than to the F2807x.  F2805x and F2802x are in the same CMOS process, and have the same peripheral designs for the most part.  Also same PLLs, PIE registers (although different interrupt assignments in the PIE), etc.  There will be differences in the GPIO of course, and F2802x has no CLA.  F2805x does have some peripherals that are not present on F2802x, such as the PGAs.  But overall, these two device sub-families are very similar. 

    On the other hand, F2807x is in a different CMOS process, and there are some differences in some of the various peripherals.

    >> Can I use this libraries directly for my f2805x , or must adapt them and if yes - what exactly (for example some defines in .h files or some changes in .cmd file)?

    It comes down to the bits in the peripheral registers.  For example, the SCIs are identical (I think!).  So, the SCI driver lib module from F2802x should work just fine on F2805x.  But, it would be wise to take the two user's guides and confirm that the registers are all the same for the SCI.  There could be subtle differences that you need to consider with respect to the driverlib.  For F2807x, I'd expect a higher possibility of subtle register differences with F2802x (for example, the FIFO levels on the SCI different between F2807x and F2805x).

    Bottom line: do not just drop the driverlib module into your code and expect it to work.  Add the module carefully (one at a time), and test.  Make sure things are working.  Don't just code up a bunch of different function calls and modules, and then test.  Too difficult to figure out what is wrong then.

    Regards,

    David