Will Miles
|
Re: Utilities and tools available for QNX 6.6 / QNX 7?
|
Will Miles
06/24/2021 1:12 PM
post121468
|
Re: Utilities and tools available for QNX 6.6 / QNX 7?
Hi Martin,
I can't speak for the community at large - I suspect most of us are using very idiosyncratic solutions. I can tell you
a little bit about our current platform, though:
- Base system is QNX 6.6 on x86
- Thanks to QNX's excellent binary backwards compatibility in the 6.x version series, we are actually still using QNX
Photon pulled from QNX 6.5. Driver support stops at Ivy Bridge, though, and we found we needed to manually turn off
some GPU power management features or the drivers would get confused.
- We're also still using enum-devices to automatically configure our platform for the detected hardware; we added an
ACPI enumerator based on acpica to support 2010+ era BIOSes
- AFAIK there is no source regularly producing a binary distribution based on QNX. QNX 6.6 ships with a build of
openssl and libcurl, though it's a bit dated now. You'll generally have to port and compile your own versions of most
open source packages. That said, by and large doing a basic QNX port of most projects is generally quite
straightforward; I think we spent more time dealing with problems with the cross-compiling environment than we did with
application code itself. We ended up maintaining our own ports tree of open source packages, using pacman/makepkg to
manage installation and openrc for service management. I can confirm that MySQL, Python 3, recent openssl, curl, and
git can all be built for QNX 6.6 without too much trouble; we've even got a build of scipy up and running now.
I can't speak much for newer versions of QNX (7.x) because for us, the deprecation of Photon and hardware enumeration
capability come at a large migration cost. From what I gather it's even easier to port open source software than it was
for QNX 6.6, which is encouraging. Moving forward, we are likely going to replace our Photon UI with a web-based
solution accessing the real-time system from a remote terminal (such as a consumer-grade tablet or phone) via a network
connection rather than deeply embedding the operator interface.
Hope this is of some help,
-Will
|
|
|