강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Learning RISC-V Architecture Through Debugging - Part 2

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

(5.0) 9 reviews

73 learners

Level Basic

Course period Unlimited

  • austinkim
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 effectively answer and explain questions related to RISC-V in technical interviews.

  • You can learn the operating principles of Exception, Interrupt Controller, and Calling Convention, which are core features that make up RISC-V.

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

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

  • You can analyze the startup code of bootloaders or Linux kernels running on RISC-V based systems.

1. To commemorate the launch of Korea's first RISC-V course, we are issuing a 30% discount coupon (first come, first served for 100 people).

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

2. 2025 Latest Course Renewal

I've discovered useful content about the latest RISC-V architecture features that can be directly applied to real-world projects, and have added the following lectures.

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

Emerging in the latest system software industry
RISC-V Architecture

Recently, RISC-V architecture, an open source-based CPU architecture, has been emerging. If you look at IT-related press articles and news, you can immediately see the following:

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

  • The number of startup companies designing various chips using RISC-V is increasing domestically, and the proportion of developing RISC-V device-based products is growing.

  • When designing AI semiconductors, RISC-V-based CPU architectures are widely utilized.

  • By 2026, 15 billion devices are expected to be released based on RISC-V.

  • In graduate schools (processor design), various research is being conducted using toolkits that can design RISC-V CPUs.

Embedded and system software companies are increasingly developing products utilizing the RISC-V CPU architecture. As a result, job seekers need to prepare for RISC-V in technical interviews as well.

Background of Creating This Course

For beginners, the RISC-V architecture is difficult to learn. The reasons are as follows:

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

  • I don't know which features among the components that make up RISC-V are actually used in real-world projects

  • Even if you read the RISC-V specification documents diligently, they are difficult to understand right away


  • It's difficult to understand what the terms used to explain RISC-V actually mean


The reality is that compared to the Arm architecture, there are not enough resources related to the RISC-V architecture, and there is a lack of materials that explain RISC-V in a concrete and easy-to-understand way. This course was created to address the difficulties that system software developers, including junior developers, experience in the process of learning RISC-V.

Course Structure and Roadmap for Parts 1 and 3

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

You can find the complete RISC-V architecture course in the roadmap - 'RISC-V Architecture for System Software Developers' course.

Key Differentiating Points of the Course

1. Debugging RISC-V Architecture with TRACE32 Simulator Program (Educational)

What's the shortcut to learning RISC-V architecture (registers, assembly instructions, Privilege modes)? It's through hands-on debugging practice.

If you take this course, you can download the educational TRACE32 simulator program from 'Inflearn course materials' and directly practice RISC-V architecture registers, assembly instructions, and Privilege modes using the TRACE32 simulator program.

For reference, TRACE32 debuggers and related programs are widely used throughout system software development. TRACE32 programs require a license to run.

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

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

3. Carefully selected core content explained in an easy-to-understand way

Beginners often start learning RISC-V by obtaining and analyzing reference documents, but from a beginner's perspective, it's difficult to get a sense of what content to learn first in RISC-V. This is because it's hard to know what to learn well first. In this course, we carefully select and explain content that can be applied in practice and must be thoroughly understood. For example, we open memory dumps and kernel logs obtained from RISC-V-based devices and explain registers and assembly instructions in an easy and detailed manner.

4. Explained with concrete examples alongside software and stack

Most people learn RISC-V because they want to excel at system software development or enter this field. This course explains how RISC-V is utilized in real-world projects through various examples.

  • How software runs on RISC-V systems

  • How the boot process works in RISC-V systems

  • How to perform debugging and reversing in RISC-V systems

By taking this course, you can quickly develop practical skills naturally along with understanding the RISC-V architecture.

5. Explaining RISC-V in Comparison with Arm Architecture

Looking at the system software industry ecosystem, as of 2025, the embedded and chipset industry ecosystem is structured around the Arm architecture. Many system software developers are familiar with Arm processors and Arm architecture. This course explains the core concepts of RISC-V alongside the Arm architecture.

  • Types of exceptions and how they are handled

  • The structure and handling method of interrupt controllers

  • Calling Convention handling methods (registers used and related assembly instructions)

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

Here's what you'll learn 📕

The basic concepts of exceptions are explained in detail, and the key features defined in the RISC-V architecture are explained in an easy-to-understand manner.

It 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 systems consisting of machine mode and user mode.

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

From a software development perspective, it provides a detailed explanation of the execution flow when exceptions and crashes occur.

We analyze the assembly instructions line by line and explain the flow of how exceptions are triggered. We also explain how exceptions are handled in the stack when they occur.

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

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

While analyzing memory dumps received from RISC-V based boards, we explain how exceptions work in the RISC-V architecture: analyzing kernel logs and call stacks.

We will conduct a hands-on debugging session on page tables using the TRACE32 program. Through this, we will specifically identify the cause that triggered the exception.

Explains the basic operation of interrupt controllers defined in the RISC-V architecture. Provides an easy-to-understand explanation of the structure of PLIC and CLIC.

Review the exception code related to interrupts and explain the structure of the PLIC (Platform Level Interrupt Controller).

Explains the core hardware components that make up the PLIC and provides an easy-to-understand explanation of the CSR registers that control the PLIC.

This section explains the Calling Convention introduced in the RISC-V architecture and reviews the registers that support the Calling Convention.

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

We analyze assembly instructions that support the Calling convention in RISC-V architecture. We also analyze example assembly instructions - c.sdsp instruction analysis

Analyzing assembly instructions that support the Calling convention of the RISC-V architecture. Also analyzing example assembly instructions - c.ldsp instruction analysis

Analyze assembly instructions that support the Calling convention of the RISC-V architecture. Also analyze example assembly instructions - c.ldsp instruction analysis


Through TRACE32 debugging practice, we will restore a corrupted call stack.


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


Based on book writing/teaching experience,
deeper and more detailed than anyone else!

In the field of system software in Korea, unprecedented! An author who wrote books on 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel' (both books selected as excellent books by the National Academy of Sciences of the Republic of Korea), and the first in Korea to publish "Reverse Engineering Armv8-A Systems" (in English) through an international publisher (Packt), a global author. Above all, a current industry developer who best understands the latest system software trends (electric vehicles, system semiconductors - system software). Also an educator who is most actively engaged in knowledge dissemination activities in the system software field.

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' author (Packt Publishing)

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

  • Author of 'Learning Linux Kernel Structure and Principles through Debugging' (2021 National Academy of Sciences Outstanding Book Award)

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

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

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' in-house instructor (domestic and international developers included) - (2020~2024)

Recommended for
these people

Who is this course right for?

  • A junior developer who wants to build capabilities in system software fields including system semiconductors (fabless) and electric vehicle areas (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 utilizing the features of RISC-V architecture

  • Developers from other fields looking to transition their career into systems software

  • An undergraduate student aiming for graduate school in the systems software field (memory, file systems, operating systems)

Need to know before starting?

  • Computer Architecture

  • C language

  • Operating System

Hello
This is

6,220

Learners

233

Reviews

93

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

Curriculum

All

91 lectures ∙ (11hr 33min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

9 reviews

5.0

9 reviews

  • heecheolsong님의 프로필 이미지
    heecheolsong

    Reviews 19

    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.

            $93.50

            austinkim's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!