5 ms·
There is a C compiler for the PRUs, but frankly you're missing the point if you're asking for that, the whole reason of their existence is to manage processes t
by revelation 10y ago
There is a C compiler for the PRUs, but frankly you're missing the point if you're asking for that, the whole reason of their existence is to manage processes that require extremely deterministic timing. You might update your C compiler, find something is compiled differently and now all the timings are off. They are not so much meant as microcontrollers, they are for things you would otherwise have to do on an FPGA to get the timing reliably correct.
Tens of microseconds just don't cut it. Some areas such as realtime ethernet protocols require nanosecond-accurate packet insertion.
The summary of why things are the way they are is that modern operating systems and CPUs value throughput over everything.
- ambrop7 10y agoLet me reiterate, I don't think the PRU is a problem. But it's just about the many orders of magnitude in the real-time latency achievable with the PRU and achievable with the CPU under the default software stack. I shouldn't have to use the PRU for every problem that has some real-time requirements, I should be able to use the actual real-time abilities of the CPU. There are many benefits to being able to do so (e.g. portability, less effort). Real-time is not a binary thing, there's a whole spectrum. In many cases compiling real-time code is a non-issue.