Training > IoT & Embedded Development > Porting Software to RISC-V (LFD114)
Training Course

Porting Software to RISC-V (LFD114)

Extend your existing platform expertise into RISC-V and unlock advanced systems roles. Learn how to port and optimize performance-critical software across instruction sets, operating systems, and firmware, enabling smoother migrations and stronger impact on real-world RISC-V platforms.

Who Is It For

Ideal for experienced platform and RISC-V developers, OS porting engineers, and system integrators preparing for advanced platform, systems, or silicon enablement roles, as well as professionals responsible for debugging, optimizing, and migrating software on production RISC-V platforms.
read less read more
What You’ll Learn

Develop the expertise to take on advanced porting and optimization work for RISC-V by contrasting architectures, applying existing platform experience where it fits, and adapting C/C++, assembly, system software, and firmware to deliver correct, high-performance platforms.
read less read more
What It Prepares You For

Work that positions you for higher-impact engineering responsibilities, including porting and optimizing software for RISC-V, analyzing architectural differences, adapting performance-critical code, and applying proven techniques on production RISC-V platforms.
read less read more
Course Outline
Chapter 1. Course Introduction
Chapter 2. Architectural Review Arm & RISC-V
Chapter 3. Instruction Semantics and Practical Translation Patterns
Chapter 4. Porting Code with Compiler Intrinsics
Chapter 5. Porting A64 Assembler to RV64GC
Chapter 6. Memory Model – Arm & RISC-V
Chapter 7. Operating Systems
Chapter 8. Systems-level Software

Prerequisites
Students should be familiar with assembly programming for either 64-bit Arm or RISC-V architectures.

Detailed knowledge of both architectures is not required but, for students with no existing RISC-V experience, we recommend Foundations of RISC-V Assembly Programming (LFD117x) as an excellent primer in RISC-V assembly programming.

Lab Info
Lab activities for this course will be undertaken on emulated platforms using QEMU. Running the emulators provided in the downloadable training pack requires an x86-64 or 64-bit Arm computer running GNU/Linux (natively or through virtualization).

The minimum recommended specification is

  • Performance: Intel 10th gen/Arm Cortex X1
  • RAM: 8GB
  • Disk space: 10GB