What is the state of art about using hw resources in libraries with teensy 3.x?

Status
Not open for further replies.

RndMnkIII

Member
I'm interested in get the juice from the teensy 3.2/3.5/3.6 using multitasking like environment. I've learning about interrupts,dma,timers but there are fuzzy limit between libraries and how they allocate resources without conflicts accesing to it. There are plans to unify teensy libraries that use dma,interrupts,timers,... resources to avoid these problems or how we can debug applications isolating libraries side effects?
 
Last edited:
Im sorry i down know, i have just started electronics, you may be wondering why im even replying when i have no idea but i need some help with a script with xplane? do u have any experience with teensy and xplane?
 
I need to coordinate access to Sd card data using SDIO inteface to send jpeg image data to a FT813 screen at max possible speed using SPI interface and while load audio sample data to send to the teensy audio shield trying to go all in sync. Because advanced use of hw resources by the supporting libraries for example i need to disable interrupts to load jpeg data while play audio for dont crash the system. The reason for my question is to ask advice and learn to program using this resorces and how can be used these libraries in a more friendly/safe manner. I think that can be very interesting have a tutorial to learn to use interrupts/timers/dma... with the teensy at deeper level.
 
Last edited:
Much of this stuff is really only "documented" in the source code. DMA channels are allocated using DMAChannel objects defined in DMAChannel.h.

SDIO is its own completely separate resource, with its own dedicated DMA separate from the normal DMA channels. It's also relatively new and supported by 3 libraries, SdFat, WXMZ's code, and the Arduino SD library. The SD library doesn't (yet) make much use of the more advanced SDIO features.

The audio lib uses nested priority interrupts, where hardware access is done with very short duration standard priority interrupts and the real-time CPU intensive processing is done in a low priority interrupt.

How this helps with your application, I'm not sure. But you asked about where to learn more, so hopefully this at least helps you get started on that path.
 
Status
Not open for further replies.
Back
Top