Menu

Running QP on Nvidia Jetson TX2

Felix
2024-07-23
2024-07-23
  • Felix

    Felix - 2024-07-23

    Hi everyone, I'm investigating using QP/C++ on an NVIDIA TX2 that runs a simple machine. High on our list of priorities is flexibility and reliability. We'll be doing a bit of motion control and some image handling as well as telemetry and sending data out over an unreliable connection. We plan on using the Jetson Linux distro Nvidia provides (based on Ubuntu). Has anyone compiled QP for this specific chip or other ARMv8 machines? I assume it would be a pretty safe bet to work out of the box?

     
  • Felix

    Felix - 2024-07-23

    I just read that in QP on POSIX each Actor is implemented as a separate pthread. Can the amount of memory reserved for each one be controlled. In my design it would probably be overkill to have a thread per Actor when some of the simple ones could share a thread and save the overhead of a stack etc. Does QP allow Actors to share a thread?

     
  • Harry Rostovtsev

    You can just run QP with the posix port on any linux. I do this in yocto, ubuntu, and RHEL.

     
  • Quantum Leaps

    Quantum Leaps - 2024-07-23

    Hi Felix,
    Thank you for your interst in QP/C++.

    The QP frameworks (QP/C and QP/C++) have been working on POSIX for the past 20 years. Two QP ports to POSIX are supported:
    - POSIX-QV (Single Threaded)
    - POSIX (Multithreaded)

    Please also watch the the video Running QP Real-Time Frameworks and QP/Spy Software Tracing on Embedded Linux

    The first port (POSIX-QV) seems to be of more interest to you because it executes all active objects in a single thread (the main() thread).

    One issue that has proven tricky is the provision of periodic time source to the QP application under POSIX. This is really a side issue because the QP framework can work with just about any timing source that would periodically execute the QP service (QP::QF::onClockTick() callback in QP/C++ port). But it turned out to be surprisingly tricky to provide a stable, non-drifting time source under POSIX (!) Hopefully the solution provided in the port will work for you.

    Please post to this forum what you find out when you try.

    --MMS

     

    Last edit: Quantum Leaps 2024-07-24

Log in to post a comment.