The RoboRIO has a dual core ARM Cortex-A9 processor, running with a clock speed of 667mhz. The RIO also has 512 MB of on-board storage, and 256 MB of RAM, clocked at 533mhz.
A full overview of the the RoboRIO I/O and device info can be found on the RoboRIO Specification sheet.
The RoboRIO runs a Linux + Busybox OS with realtime extensions for interaction with the FPGA. This OS also comes with it’s own package manager, OPKG, which can be used to install additional tools onto the RIO (Like GCC, or Python).
The OS, by default, has two notable users.
admin, the system administrator, and
lvuser is the user that runs all software on the RoboRIO. Upon startup, the Bash script located at
/home/lvuser/robotProgram is executed by the
lvuser user, and the contents of this script should run the main user program.
By default, the RIO will only run LabVIEW or native programs. Other languages and tools can be installed and configured by the user. To run Java software, tools like GradleRIO will load a custom JVM onto the RIO. Some FRC teams choose to develop with ROS, and can use tools to deploy an ROS environment to their RoboRIO.
National Instruments provides a Hardware Access Layer (HAL) library for interacting with the FPGA. The HAL contains hooks for the following:
- Usage Reporting
Multiple software libraries exist for interacting with the RoboRIO FPGA:
Many libraries also exist to extend the functionality of the libraries listed above. For example: