Hi, I have read an intro about PRUs http://www.staroceans.org/documents/TI-sdk/spry264.pdf “each PRU has its own single-cycle I/O”
Well, nice. Let’s look further…
http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit "Content is no longer maintained and is being kept for reference only! "
http://processors.wiki.ti.com/index.php/PRU_Read_Latencies “has been set to read only”
http://www.ti.com/tool/PRU-SWPKG?HQS=TI-null-null-mousermode-df-pf-null-wwe&DCM=yes&ref_url=https%3A%2F%2Fwww.mouser.fr%2F “this software package is no longer being maintained.”
Tried to send a message into BeagleBone PRU subforum… it happily disappeared forever.
But ok, it is just a possible warning. Let us look into the hard docs.
http://www.ti.com/lit/an/sprace8a/sprace8a.pdf a write instruction “executes in approximately 1 cycle” “Table 1 through Table 3 are considered “best-case” read latency values for the PRU”
Now it is not just a warning. It shows that the details of the “real-time” are some undocumented unknowns, and that these units might not be deterministic at all. “Might”, because there are just no precise docs and I am not going to reverse-engineer them. It would not give the real-time guaranties.
Possibly you could point me to some modern processing unit where there is at least a subset of instructions (including basic GPIO read/write and intercore communication) with precise execution times?