Author Topic: TVOut based on FreeRTOS?  (Read 2014 times)

0 Members and 1 Guest are viewing this topic.

Offline brainwashTopic starter

  • Frequent Contributor
  • **
  • Posts: 463
  • Country: de
    • Hack Correlation
TVOut based on FreeRTOS?
« on: February 25, 2013, 10:14:28 pm »
I'm struggling with the TVOut option on a Stellaris Launchpad so I thought that maybe I'm reinventing the wheel and someone already did this using an RTOS implementation. TI has their own TI-RTOS and also FreeRTOS and SafeRTOS are included in the standard dev toolchain.
So, simple question, is there any library or example based on an RTOS that does analog TV output? I must be getting slow at googling because I cannot not find any.


Another question for the more advanced ones out there: would an RTOS be able to enter cycle-accurate into the line display function? Ballpark figures are 80Mhz on the MCU (so 0.0125us for a single cycle), 64us is periodically needed for encoding a line, ~4us out of those remain for general application use. During the vertical sync signal some time can be used for general application use. General timing tolerance is about .20us.
I'm looking to do this without nasty assembler instructions or cycle counting, that's the challenge. I don't care if it's PAL or NTSC, both are pretty much supported together. Targeting monochromatic only: black, gray, white.


Oh, I forgot, I do have some code available if anyone wants to test TVOut with their stellaris. I have put the code up on another forum for now, I can also attach it here or put the link. Only two resistors are needed, as usual with these monochromatic implementations.
« Last Edit: February 25, 2013, 10:17:16 pm by brainwash »
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: TVOut based on FreeRTOS?
« Reply #1 on: February 26, 2013, 11:01:09 am »
The LM4F120H5QR datasheet claims deterministic interrupt response times. You'll have to make the interrupt the highest priority (and the only one running at that priority) to avoid the tail-chaining optimization.

Have you looked at using the DMA engine to drive the display?


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf