Hi!
I wonder if the F2802x peripheral drivers (especially the software driver model) are usable with SYS/BIOS out of the box.
As far as I know they must be thread-safe etc. to be able to use them with an RTOS like SYS/BIOS.
Thanks in advance.
Anguel
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.
Hi!
I wonder if the F2802x peripheral drivers (especially the software driver model) are usable with SYS/BIOS out of the box.
As far as I know they must be thread-safe etc. to be able to use them with an RTOS like SYS/BIOS.
Thanks in advance.
Anguel
Hi Anguel,
No, they are not re-entrant.
You'll have to add your own RTOS primitives to ensure thread-safety.
Note that SYS/BIOS handles the interrupt controller, so you should use SYS/BIOS's calls whenever you need to access the interrupt controller. You may however use the C2000 driver APIs to enable the peripheral's interrupt logic (e.g the peripheral's interrupt enable).
Tom,
Thank you for the answer. I was actually confused because I saw that there are _BIOS.cmd and _nonBIOS.cmd linker command files. And on the other hand there are also recommendations to make use of SYS/BIOS on the C2000. I don't understand how this can be done if all the driver's don't support it. Or do I misunderstand something?
Are there any plans to port the C2000 drivers to SYS/BIOS? I mean TI RTOS (which is based on SYS/BIOS) already runs on the new Concerto devices which include C2000 MCUs so they also need compatible drivers.
Thanks in advance for your help.
Best regards,
Anguel
Hi Anguel,
I can understand the confusion. While SYS/BIOS can be used on C2000 devices, it only focuses on a limited scope of peripherals found on all C2000 devices (interrupt controller, timers, and perhaps some others...) leaving the responsibility of the other peripherals to the user.
We're currently working on bridging this gap, starting with the peripherals found on TI's ARM Cortex-M MCUs (including Concerto's M3). Unfortunately, I can't say when we'll see TI-RTOS drivers for C2000 peripherals but I will see if I can find someone else who can chime in and provide more information.
Tom,
Thank you in advance for helping me to clarify this. I think that porting the C2000 drivers to TI RTOS / SYSBIOS would be a great unique selling point for TI. Additionally, as far as I see the drivers for the different C2000 do not differ too much, so they could be ported for all C2000 without too much additional work.
If a professional programmer ports the drivers this will also benefit the quality of the drivers. Right now I see things like "to be done" or code that does not look very promising in the source. Even embedded gurus like Jack Ganssle are complaining about TI RTOS code quality:
http://www.embedded.com/electronics-blogs/break-points/4403045/An-RTOS-from-TI--Why-
This scares me a bit if I look where customers use the C2000: motor control, industrial control, safety systems, etc. I know that other manufacturers are not much better at code quality but why not make an exception, it should not be too hard for TI to find a good programmer who can improve the code.
Regards,
Anguel