Training > Embedded > Foundations of RISC-V Assembly Programming (LFD117x)
Training Course

Foundations of RISC-V Assembly Programming (LFD117x)

A basic understanding of the assembly language with RISC-V is vital for hardware-related programming. Tasks like debugging and identifying performance-critical program sections are easier to achieve with the foundations of Assembly.

Who Is It For

This course is designed for software developers who want to understand what instructions a RISC-V microprocessor finally executes for any software running on it. While this is an introductory course, developers should have a basic understanding of programming concepts and methodologies in order to benefit from the course material.
read less read more
What You’ll Learn

This course discusses the RISC-V GNU toolchain, the RISC-V Instruction Set Architecture (ISA), pseudo instructions and Assembly directives, the application programming interface, interfacing with C-libraries, disassemblies, and much more. Basic concepts like loops, conditionals, and functions are taught by developing Assembly programs running in a RISC-V Linux environment.
read less read more
What It Prepares You For

This course will help you gain hardware-specific RISC-V programming knowledge, preparing you to understand and debug RISC-V (dis)assembly applications, as well as program in RISC-V Assembly for hardware-related program tasks in (real-time) operating systems or compilers and much more.
read less read more
Course Outline
Welcome to LFD117x!
Chapter 1. General Information about Assembly Language
Chapter 2. Development Environments
Chapter 3. RISC-V Unprivileged ISA
Chapter 4. Programming RISC-V Assembly
Chapter 5. Using the System and Libraries
Chapter 6. Examples
Final Exam (verified track only)

Prerequisites
System prerequisites:

  • Learners will need either a RISC-V system running Linux or a system for running QEMU.
Reviews
Jul 2024
The course had nicely laid out concepts - ISA, ABI, pseudoinstructions, along with examples on how to write readable assembly. There were also a couple of options given for experimenting with RISCV assembly (ripes, qemu, hardware).
Jun 2024
I enjoyed the real-life examples of data structures and algorithms in RISC-V.
Jun 2024
I liked the practical hands-on approach to learning, with thorough explanations of the theory before covering other topics. Additionally, there were very useful links to external resources.
Dec 2023
It was well explained.
Apr 2023
If you have experience with Linux, it was easy to set everything up. I was following along on Arch Linux, and had little issue building/using the free tools.
Apr 2023
Exactly what I needed in order to dive into the RISC-V assembly.
Jan 2023
I have a very basic knowledge of the subject, and found a lot of the starting material to be great at jogging my memory, as well as identifying the differences for the RISC-V chip. There were very few videos, which I think was fantastic, it is easier to jump around text than a video, but the videos were used where necessary, and the subtitles really helped. I am very glad I took the course, and enjoyed every minute.