View Full Version : "FLEXIO" units and "NanoEdge placer block" on Teensy 4.0

03-03-2020, 07:26 AM
In the datasheet it is said that the IMXRT1060 has 3 FLEXIO units. But when I try to access FLEXIO1 and FLEXIO2 my program crashes. Access to FLEXIO3 works. In the PWM unit the datasheet says that a unit may have an "NanoEdge placer block". Where can I get the info wich FLEXPWM unit has it and wich not?

03-03-2020, 07:41 AM
The Teensy 4 beta thread has examples of FLEXIO usage. KurtE has used it for SPI and other things IIRC. No personal experience - but typically things need to be enabled before access or the processor faults. There are #ifdef's in the TeensyDuino install for most all of these things that map to reference manual.

03-03-2020, 01:16 PM
Most sub-systems of the T4 require you to enable the underlying clock in order to access their registers and the like.

I have experimented with FlexIO on T4 and have some code that works to create Serial ports using it as well as SPI ports. Plus some support functions.

My code is up at: https://github.com/KurtE/FlexIO_t4

03-03-2020, 02:50 PM
You're asking about "FLEXIO", but I'm pretty sure you really mean FlexPWM. That's very confusing, because the chip also as 3 FlexIO peripherals which are unrelated to the 4 FlexPWM timers (each with 4 sub-modules).

"Nanoedge placement" is only relevant to FlexPWM. It has nothing to do with FlexIO.

Where can I get the info wich FLEXPWM unit has it and wich not?

This one is easy to answer: none of the FlexPWM timers has the nanoedge feature.

To answer the "where" question, look on page 3029 of the reference manual (https://www.pjrc.com/teensy/datasheets.html) (Rev 2).


The nanoedge feature sounds pretty awesome, so please don't fall into the trap of wishful thinking when you see the many places in the documentation that mention it. Nanoedge is an optional feature for FlexPWM which is definitely not present in IMXRT1062.

03-04-2020, 08:50 AM
@Paul: I am currently playing with FLEXIO and FLEXPWM. With FLEXPWM I am quite through. With FLEXIO I am at the beginning. Thanks for the info about NanoEdge. I could not find it because I used the old (revision 0) version of the datasheet (my fault). You showed me that revision 2 is much better. I am now using revision 2 of the datasheet. With this I could also answer my FLEXIO question. As was mentioned before in this thread the clock for the unit had to be turned on. Thanks all the contributors of this thread. My questions are answered.