This section contains new projects planned with Gemstone and their completion stages.
To contribute by taking part in the relevant projects, visit their Github pages or community forums.
Pixhawk Flight Controller
hardware mostly contains STM32 with Cortex-M architecture. The autopilot named PX4 runs on the real-time operating
system named Apache Nuttx and does not have support for Texas AM67a.
This project aims to run Apache Nuttx and PX4 on the Cortex-R5 cores found on T3-GEM-O1 development boards. The current
status and pending tasks are in the table below.
Running NuttX on R5 cores
Completed
GPIO driver support
Completed
Serial port driver support
Completed
Access to NuttShell (nsh) console
Completed
Loading NuttX onto the R5 core via the remoteproc mechanism by U-Boot or Linux
Completed
I2C driver support
Completed
SPI driver support
Completed
PWM driver support
Continues
Pinmux settings for all pins on the 40-pin HAT
Volunteer Developer Needed
Running Ardupilot and PX4 autopilots as apps on the Nuttx OS on Gemstone
Volunteer Developer Needed
Communication between NuttX running on the R5 core and Linux running on the A53 core via Texas IPC mechanism
The Ardupilot autopilot currently runs on Linux on the T3 Gemstone O1 development board, that is, on the
Cortex-A53 cores. However, for real-time and low-latency flight control, it is preferable to run the autopilot
on dedicated cores without the overhead of a general-purpose operating system.
ChibiOS, the primary real-time operating system supported by Ardupilot, is widely
used on flight controller boards.This project aims to port the ChibiOS operating system to the Cortex-R5 cores on the AM67a SoC and to run
Ardupilot as an autopilot on top of ChibiOS on these cores. This way, while the Linux running on the Cortex-A53
cores handles general-purpose tasks, the real-time flight control loop can run uninterrupted on the Cortex-R5
cores.
The planned tasks are listed in the table below.
Running NuttX on R5 cores
Completed
GPIO driver support
Completed
Serial port driver support
Completed
Access to NuttShell (nsh) console
Completed
Loading NuttX onto the R5 core via U-Boot or Linux using NuttX’s remoteproc mechanism
Completed
I2C driver support
Awaiting Volunteer Developer
SPI driver support
Awaiting Volunteer Developer
PWM driver support
Awaiting Volunteer Developer
Pinmux configurations for all pins on the 40-pin HAT
Awaiting Volunteer Developer
Running PX4 autopilot as an application on the NuttX operating system on Gemstone
Awaiting Volunteer Developer
Communication between NuttX running on the R5 core and Linux running on the A53 core via Texas IPC mechanism
Support for Gemstone will be added to Buildroot, a Linux build system with a somewhat lighter structure compared
to the Yocto Project. The goal is for a person downloading buildroot to see T3-GEM-O1 as a board in the
official buildroot system, and to be able to compile and load two image types named Minimal and Kiosk onto the
development board.
Adding T3-GEM-O1 configuration to Buildroot and creating a pull request to its address
Volunteer Developer Needed
Creating two image types named Minimal and Kiosk and similarly creating a merge request
The GPU (IMG BXS4-64) driver provided by TI for the AM67A SoC cannot accelerate X11 desktop environments.
Windows are currently rendered without hardware acceleration using the CPU (llvmpipe). This causes the desktop environment to run sluggishly.
The same driver includes acceleration support for Wayland. The goal is to transition to a Wayland-supported
desktop environment that is stable, low on resource usage, feature-rich, and suitable for the majority of users.
Compiling the Mesa library with Ubuntu 22.04 build tools and packaging it as a DEB package
Completed
Selecting a suitable Wayland desktop environment or window manager
Volunteer Developer Needed
Finding programs such as settings, file manager, and network manager (if not bundled with the selected environment)
Volunteer Developer Needed
Creating a common theme for window borders, status bar, and similar elements for interface consistency
The goal is to run Linux kernel version 7 on the T3-GEM-O1 development board, instead of the currently used 6.12 version.
This will allow taking advantage of new hardware drivers, improvements, and bug fixes.
Currently, the kernel, bootloader, and firmware used in the ecosystem are built through Yocto for educational purposes.
Subsequently, images are produced by combining them with various versions of Pardus, Ubuntu, and Debian distributions.
The goal is to change this approach and produce an independent distribution called Gemstone Distro by compiling all
core software—such as the Kernel, Drivers, U-Boot, and Firmware without Yocto, and porting the latest Ubuntu version.
While the Gemstone Image Writer application includes distributions like Ubuntu, Pardus, and Debian with their own
interfaces and desktop environments, Gemstone Distro will feature entirely its own interfaces.It is also possible to transition to image-building systems that compile using web-based CI/CD tools instead of
systems like Devbox, Taskfile, and Distrobox.