Learning RISC-V Architecture Through Debugging - Part 2

This guide provides easy and detailed explanations of the core concepts and practical tips for RISC-V, the latest open-source-based CPU architecture.

(5.0) 9 reviews

76 learners

Level Basic

Course period Unlimited

cpu-architecture
cpu-architecture
cpu
cpu
riscv
riscv
cpu-architecture
cpu-architecture
cpu
cpu
riscv
riscv

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

mikeseohyungjin

31% enrolled

As a current developer, this is a helpful lecture that covers only the essential points and is an excellent course. The process of being able to practice the content that is essential to know in order to reach the ranks of experts through trace32 is difficult to find worldwide, and it was very helpful.

5.0

김준

100% enrolled

It was a wonderful lecture where I could feel the maturity that comes from real-world experience.

5.0

박정모

100% enrolled

It helped a lot.

What you will gain after the course

  • I can answer and explain questions related to RISC-V well in technical interviews.

  • You can learn the operating principles of the core functions of RISC-V: Exceptions, Interrupt Controllers, and Calling Conventions.

  • Using the TRACE32 simulator program, you can practice debugging features such as exceptions, interrupt controllers, and calling conventions.

  • You can see how the RISC-V architecture is utilized in operating system kernels such as the Linux kernel.

  • I can analyze the startup code of bootloaders or the Linux kernel running on a RISC-V basis.

<Notice>

1. To celebrate the launch of the first RISC-V course in Korea, a 30% discount coupon is being issued (first 100 people).

Coupon Link: https://inf.run/C7qRb

2. 2025 Latest Lecture Renewal

I have added the following lectures by discovering the features of the latest RISC-V architecture and useful content that can be immediately applied to practical projects.

  • Added 'Synchronous Exception Operation Mechanism' session (4 lectures) - 07/23 (2025)

In the latest system software industry,
the emerging RISC-V architecture đang nổi lên

Recently, the open-source-based CPU architecture, RISC-V, has been emerging. You can easily find content like the following in IT-related media articles and news:

  • Big tech companies such as nVidia, Intel, and Qualcomm are developing RISC-V-based products (chipsets).

  • The number of startups in Korea designing various chips using RISC-V is increasing, and the proportion of products being developed based on RISC-V devices is rising.

  • When designing AI semiconductors, the RISC-V-based CPU architecture is widely utilized.

  • It is projected that 15 billion RISC-V-based devices will be released by 2026.

  • In graduate schools (processor design), various research projects are being conducted using toolkits capable of designing RISC-V CPUs.

Embedded and system software companies are increasingly utilizing the RISC-V CPU architecture to develop their products. As a result, job seekers now need to prepare for RISC-V even during technical interviews.

Background of creating this course

From a beginner's perspective, the RISC-V architecture is difficult to learn. The reasons are as follows:

  • I don't know what is important among the vast amount of content that makes up RISC-V.

  • I don't know which features among the contents of RISC-V are actually utilized in real-world projects.

  • No matter how hard you read the RISC-V specification documents, it is difficult to understand them immediately.


  • It is difficult to understand what the terms used to explain RISC-V actually mean.


Compared to the Arm architecture, there is a lack of materials related to the RISC-V architecture, and the reality is that there are insufficient resources that explain RISC-V in a specific and easy-to-understand manner. I created this course to help system software developers, including junior developers, overcome the difficulties they face while learning RISC-V.

Course structure and roadmap for Part 1 and Part 3

This lecture covers the content of Part 2, which focuses on the core features of RISC-V, out of the entire RISC-V lecture series.

The full RISC-V architecture course can be found in the roadmap - 'RISC-V Architecture for System Software Developers' course.

Key differentiating points of the lecture

1. Debugging RISC-V architecture with the TRACE32 simulator program (for educational use)

What is the shortcut to learning the RISC-V architecture (registers, assembly instructions, privilege modes)? It is none other than hands-on debugging practice.

By taking this course, you can download the educational TRACE32 simulator program from the &#39;Inflearn Course Materials&#39; and use it to gain hands-on experience with RISC-V architecture registers, assembly instructions, and Privilege modes.

For your reference, TRACE32 debuggers and related programs are used extensively throughout system software development. Please note that the TRACE32 program requires a license to run.

2. Providing 5 kernel memory dumps extracted from the RISC-V board

The most important skill required in the system software development process is problem-solving ability. Among these, the ability to analyze and resolve crash issues is the most frequently needed. In this lecture, we will conduct debugging practice on exceptions and calling conventions by debugging five kernel crash memory dumps extracted from Vision-Five 2, one of the most popular RISC-V boards. Those taking the course can download the five memory dumps along with the TRACE32 program to directly debug exceptions and calling conventions.

3. Carefully selected core content explained easily

Beginners often start by obtaining and analyzing reference documents when learning RISC-V, but it is difficult for them to get a sense of which content to prioritize. This is because it is hard to know what needs to be mastered first. In this lecture, I have carefully selected and explained essential topics that can be applied in practice. For example, I provide easy and detailed explanations of registers and assembly instructions by opening memory dumps and kernel logs received from RISC-V-based devices.

4. Explaining with specific examples along with software and stacks

Most people learn RISC-V because they want to excel in system software development or enter this field. In this lecture, we will explain how RISC-V is utilized in real-world projects using various examples.

  • How software is executed on a RISC-V system

  • The process of how a RISC-V system boots

  • How to perform debugging and reversing in a RISC-V system

By taking this course, you will be able to quickly gain practical experience along with an understanding of the RISC-V architecture.

5. Explaining RISC-V in comparison with the Arm architecture

Looking at the ecosystem of the system software industry, the embedded and chipset industries are centered around the Arm architecture as of 2025. Many system software developers are familiar with Arm processors or the Arm architecture. In this lecture, the core concepts of RISC-V will be explained alongside the Arm architecture.

  • Types of exceptions and their handling methods

  • Structure and handling methods of the interrupt controller

  • How Calling Conventions are handled (registers used and related assembly instructions)

As the educator is the author of a book on Arm architecture, they can explain RISC-V better than anyone else by comparing it with the Arm architecture.

What you will learn 📕

We explain the basic concepts of exceptions in detail and provide an easy-to-understand explanation of the core exception features defined in the RISC-V architecture.

Explains the execution flow of exceptions, a core feature of the RISC-V architecture. It also provides a detailed explanation of how exceptions are handled in a system composed of Machine mode and User mode.

It explains the exception codes defined in the RISC-V architecture that indicate the cause of an exception, and also describes the execution flow of how exceptions are handled via memory aborts.

It explains in detail the execution flow when exceptions and crashes are triggered from a software development perspective.

We will analyze the assembly instructions line by line to explain the flow of how an exception is triggered. Additionally, we will explain how the stack handles the process once an exception occurs.

We will practice exceptions by executing assembly instructions using the T32 debugging practice program. We will explain in detail which CSR (scause, mcause) registers change when an exception is triggered.

While practicing inducing exceptions with the TRACE32 program, we will explain in detail the exception handlers processed within the Linux kernel.

While analyzing a memory dump received from a RISC-V based board, I explain the operation of exceptions in the RISC-V architecture: analyzing kernel logs and analyzing the call stack.

We will conduct a debugging practice session on page tables using the TRACE32 program. Through this, we will identify the specific causes that triggered the exception.

Explains the basic operation of the interrupt controller defined in the RISC-V architecture. It provides easy-to-understand explanations of the structures of PLIC and CLIC.

We will review the exception codes related to interrupts and explain the structure of the PLIC (Platform Level Interrupt Controller).

I will explain the core hardware components that make up the PLIC and provide an easy-to-understand explanation of the CSR registers that control the PLIC.

Explains the Calling Convention introduced in the RISC-V architecture and reviews the registers that support the Calling Convention.

I will explain the big picture of how arguments passed to functions are handled.

Analyze the assembly instructions that support the Calling Convention of the RISC-V architecture. Additionally, analyze example assembly instructions - analysis of the c.sdsp instruction.

Analyze assembly instructions that support the Calling Convention of the RISC-V architecture. Additionally, analyze example assembly instructions - Analysis of the c.ldsp instruction

Analyze assembly instructions that support the calling convention of the RISC-V architecture. Additionally, analyze example assembly instructions - Analysis of the c.ldsp instruction.


We will conduct a TRACE32 debugging practice session on restoring a corrupted call stack.


Through TRACE32 debugging practice, we analyze memory dumps caused by stack overflows.


Based on my experience in book writing and lecturing,
deeper and more detailed than anyone else!

In the domestic system software field, I am the unprecedented! author who wrote books on 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel' (both books were selected as Excellent Academic Books by the National Academy of Sciences of the Republic of Korea), and I am a first in Korea to become a "Reverse Engineering Armv8-A Systems" (English) global author through an overseas publisher (Packt). Above all, I am an active developer who is most well-versed in the latest system software trends (Electric Vehicles, System Semiconductors - System Software). I am also an educator who is most actively engaged in spreading knowledge in the system software field.

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' Author of the book (English), (Packt Publishing), (Nhà xuất bản Packt)

  • Author of 'The Structure and Principles of Arm Architecture for System Software Development' (2024, National Academy of Sciences Outstanding Scholarly Book Award)

  • Author of 'Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Outstanding Scholarly Book Award))

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' internal instructor (including domestic and overseas developers) - (2020~2024)

Recommended for
these people

Who is this course right for?

  • A junior developer who wants to build expertise in the system software field, including system semiconductors (fabless) and the electric vehicle sector (autonomous driving, infotainment).

  • A job seeker who wants to develop system software in the fields of system semiconductors (fabless) and electric vehicles.

  • System software developers (system semiconductors, electric vehicles) who want to know how to debug in practice by leveraging the features of the RISC-V architecture.

  • A developer from another field looking to transition their career into the system software field.

  • An undergraduate student aiming to pursue graduate studies in the field of system software (memory, file systems, operating systems).

Need to know before starting?

  • Computer Architecture

  • C Language

  • Operating System

Hello
This is austinkim

6,335

Learners

242

Reviews

96

Answers

4.9

Rating

22

Courses

Global Author & Linux System Software Developer (Arm, RISC-V Architecture)

A global author who has written unprecedented books on 'Arm Architecture (Armv8-A, Armv7-A)' and the 'Linux Kernel' in the domestic system software field (both books were selected as Excellent Academic Books by the National Academy of Sciences of the Republic of Korea), and is the first in Korea to author the book (in English) "Reverse Engineering Armv8-A Systems" through an international publisher (Packt). Above all, he is an active developer who is most well-versed in the latest system software trends (electric vehicles, system semiconductors-system software). He is also an educator who is most actively engaged in spreading knowledge within the system software field.

  • Author of the book (English) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Packt Publishing)

  • Author of 'Structure and Principles of Arm Architecture for System Software Development' (2024 National Academy of Sciences Outstanding Book Award)

  • Author of 'Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Outstanding Scholarly Book Award)

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' internal instructor (including domestic and overseas developers) - (2020–Present)

I can confidently say that I am an educator who can explain the Linux kernel and Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.

Lecture Inquiries: austindh.kim@gmail.com

Main Roadmap 🎯

'Arm for System Software Developers - basic course'

'Arm for System Software Developers - advanced course'

Linux kernel for system software developers - basic course

More

Curriculum

All

91 lectures ∙ (11hr 33min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

9 reviews

5.0

9 reviews

  • heecheolsong님의 프로필 이미지
    heecheolsong

    Reviews 21

    Average Rating 5.0

    5

    31% enrolled

    • mist14093016님의 프로필 이미지
      mist14093016

      Reviews 5

      Average Rating 5.0

      5

      31% enrolled

      • chungwoopark1091님의 프로필 이미지
        chungwoopark1091

        Reviews 2

        Average Rating 5.0

        5

        31% enrolled

        • dlee8103님의 프로필 이미지
          dlee8103

          Reviews 2

          Average Rating 5.0

          5

          100% enrolled

          • mikeseohyungjin5975님의 프로필 이미지
            mikeseohyungjin5975

            Reviews 4

            Average Rating 5.0

            Edited

            5

            31% enrolled

            As a current developer, this is a helpful lecture that covers only the essential points and is an excellent course. The process of being able to practice the content that is essential to know in order to reach the ranks of experts through trace32 is difficult to find worldwide, and it was very helpful.

            austinkim's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!

            $93.50