ros-acceleration / acceleration_firmware_kr260

KR260 Ubuntu 22.04 firmware. Package for enabling hardware acceleration capabilities in ROS 2 Humble with KR260 and Ubuntu 22.04.
Apache License 2.0
9 stars 7 forks source link
fpga hardware hardware-acceleration ros ros2 ubuntu

acceleration_firmware_kr260

Board Picture Description
Kria KR260 Robotics Starter Kit The Kria™ KR260 is built for robotics and industrial applications, complete with high performance interfaces and native ROS 2 support for ease of development by roboticists and software developers.

This repository provides AMD/Xilinx's firmware artifacts for the KR260 board using Ubuntu 22.04 meant to accelerate ROS 2 robotic applications.

NOTE on Ubuntu 22.04 integration: Ubuntu 22.04 sysroot is provided by Canonical and AMD at their own terms as available at https://ubuntu.com/download/amd-xilinx. Refer to this resource for more information. This repository leverages the resulting artifacts "as they are" and enables ROS 2 build flows while integrating hardware acceleration through Vitis and Vivado tools..

Use this ROS 2 package

Fetch from sources

To fetch it from sources, proceed as follows to include the Ubuntu 22.04 resources:

git clone https://github.com/ros-acceleration/acceleration_firmware_kr260
wget https://people.canonical.com/~platform/images/xilinx/kria-ubuntu-22.04/iot-limerick-kria-classic-desktop-2204-x06-20220614-78-sysroot.tar.xz -P acceleration_firmware_kr260/firmware/  # will take a few seconds

Fetch using VCS

When leveraging vcs, just use one of the official release links, which should include the Ubuntu 22.04 resources. E.g. include the following in your .repos file:

repositories:
  firmware/acceleration_firmware_kr260:
    type: zip
    url: https://github.com/ros-acceleration/acceleration_firmware_kr260/releases/download/v1.1.0/acceleration_firmware_kr260.zip

Hardware Acceleration capabilities

According to REP-2008's proposal.

Capability KRS alpha[^1] KRS beta[^2] KRS 1.0[^3] (Ubuntu 22.04) KRS 1.1[^3] (Ubuntu 22.04)
1. Kernel Levels
1.i level I kernels
1.ii level II kernels :warning: (see this) ✓ (acceleration_examples (graph acceleration), ReconROS) ✓ (acceleration_examples (graph acceleration), ReconROS) ✓ (acceleration_examples (graph acceleration), ReconROS)
1.iii level III kernels
2. Build System
2.i ament extensions
2.ii ament_acceleration support
3. Build Tools
3.i hardware emulation (hw_emu)
3.ii hardware emulation (sw_emu) :warning:
3.iii image tooling
3.iv Linux kernel
3.iv.a modern Linux kernel
3.iv.b LTS Linux kernel
3.v hypervisor
3.v.a no control domain VMs
3.v.b guest VMs in disk
3.v.c control domain in disk
3.v.d no control domain VMs in disk
3.vi network booting
3.vi.a boot artifacts
3.vi.b rootfs
3.vi.c multi-network boot
3.vi.d secure network booting
3.vi.e save in disk network boot
4. Benchmarking
4.i kernel benchmarking
4.ii ROS 2 acceleration benchmarking
5. Documentation
5.i in-code documentation
6. Testing and CI
6.i acceleration_examples

[^1]: Aligns with Vitis 2020.2 release. [^2]: Aligns with Vitis 2021.2 release. [^3]: Aligns with Vitis 2022.1 release.

Quality Declaration

No quality is claimed according to REP-2004. This package should only be used in workstations to produced valid firmware for the targeted hardware.