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
Communication between NuttX running on the R5 core and Linux running on the A53 core via Texas IPC mechanism
Volunteer Developer Needed
PWM driver support
Volunteer Developer Needed
SPI driver support
Volunteer Developer Needed
I2C driver support
Volunteer Developer Needed
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
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.
Porting the ChibiOS HAL for the AM67a Cortex-R5 cores
Volunteer Developer Needed
Loading ChibiOS onto the R5 core via the remoteproc mechanism by U-Boot or Linux
Volunteer Developer Needed
Serial port (UART) driver support and console access
Volunteer Developer Needed
GPIO driver support
Volunteer Developer Needed
Building Ardupilot for the R5 cores using the AP_HAL_ChibiOS layer
Volunteer Developer Needed
Running Ardupilot as an autopilot on top of ChibiOS
Volunteer Developer Needed
SPI and I2C driver support (for sensors such as IMU, barometer, etc.)
Volunteer Developer Needed
PWM driver support (for motor and servo outputs)
Volunteer Developer Needed
CAN Bus (DroneCAN) driver support
Volunteer Developer Needed
Communication between ChibiOS running on the R5 core and Linux running on the A53 core via Texas IPC
Volunteer Developer Needed
Providing MAVLink telemetry and ground control station (GCS) connectivity
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.