I trying to get the Xavier to execute C++ code to the pins in parallel. Can I do this by installing a library or do I need a different OS?

I need the code for a motor and the code for a sensor to execute at the same time.
I tried using ‘#pragma omp’ for parallelism but the motor didn’t work well and I got segmentation error, core dumps.

On the AGX Xavier I have “18.04.6 LTS (Bionic Beaver)” installed through Jetpack. Do I have the option to use RTOS with this setup through a C++ library, or do I need to install a whole different operating system in order to run commands in parallel?

PART 2 BONUS QUESTION:
If I need to install a different operating system to do this can I do a duel boot with an NVMe drive?

Sorry for the late response, is this still an issue to support? Thanks

Suppose this question doesn’t matter with any special platform. I would suggest to collect relative information from google search first.

I am just speculating, but I doubt the hardware itself supports keeping several GPIO pins together in timing. One would have to set up all needed GPIO pins to their value, and then use another GPIO pin to assert the fact that the pins are ready to read. Sort of like a serial UART’s CTS/RTS pins (and in fact I’d probably use that label if I were to build something custom). GPIO pins are low performance and controlling timing is not really possible due to the way the hardware IRQ is used. Assuming my speculation is correct, then there is no way for any o/s to make the hardware behave synchronously across several GPIO pins.

The alternative would be to add hardware which listens to the GPIO and itself “does the right thing” (followed by the other end of the connection using that extra hardware instead of direct GPIO use).

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.