Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Hardware

/

Embedded IoT

デバッグで学ぶRISC-Vアーキテクチャ -2部

オープンソースベースの最新CPUアーキテクチャであるRISC-Vの主要概念と実用的なヒントをわかりやすく詳細に説明します。

  • austinkim
시스템반도체
이론 실습 모두
하드웨어
cpu-architecture
cpu
riscv

こんなことが学べます

  • 技術面接において、RISC-Vに関する質問にうまく答え、説明できます。

  • RISC-Vを構成する中核機能であるエクセプション(Exception)、インターラプトコントローラー、Calling Conventionの動作原理を学ぶことができます。

  • TRACE32シミュレータープログラムを使用して、イクセプション(Exception)、インタラプトコントローラー、Calling Conventionといった機能をデバッグで実習できます。

  • LinuxカーネルのようなOSカーネルでRISC-Vアーキテクチャがどのように活用されているか知ることができます。

  • RISC-Vベースで実行されるブートローダーやLinuxカーネルのスタートアップコードを分析できます。

<お知らせ>

2025年最新講義リニューアル

最新のRISC-Vアーキテクチャの機能と実践プロジェクトに直接適用できる有益なコンテンツを発掘し、以下の講義を追加しました。

  • 「Synchronous アクセプションの仕組み」セッションを追加 (4 講義) - 07/23 (2025)

最新のシステムソフトウェア業界で
浮上するRISC-Vアーキテクチャ

最近、オープンソースベースのCPUアーキテクチャであるRISC-Vアーキテクチャが浮上しています。 ITに関するメディア記事やニュースを見ると、次のような内容をすぐに確認できます。

  • nVidia、Intel、Qualcommなどのビッグテク企業でRISC-Vベースの製品(チップセット)を開発している。

  • 国内にRISC-Vを活用した多様なチップを設計するスタートアップ会社が増えており、RISC-Vデバイスベース製品を開発する割合が高まっている。

  • AI半導体を設計する際、RISC-VベースのCPUアーキテクチャを多く活用する。

  • 2026年までに150億個のデバイスがRISC-Vベースで発売される予定だ。

  • 大学院(プロセッサ設計)ではRISC-V CPUを設計できるツールキットを使って様々な研究を進めている。

組み込みおよびシステムソフトウェア企業でRISC-V CPUアーキテクチャを活用して製品を開発する割合が高まっています。だから就労生は技術面接でもRISC-Vの準備をしなければならない状況です。

講義の背景

入門者の立場では、RISC-Vアーキテクチャは学ぶのが難しいです。その理由は次のとおりです。

  • RISC-Vを構成する膨大な内容の中で何が重要なのか分からない

  • RISC-Vを構成する内容の中で、どの機能が実戦プロジェクトに活用されるのか分からない

  • RISC-V仕様書をいくら頑張って読んでもすぐに理解しにくい


  • RISC-Vを説明する用語自体が何を意味するのかわかりにくい


Armアーキテクチャと比較して、RISC-Vアーキテクチャに関連するデータは十分ではなく、RISC-Vを具体的に簡単に説明するデータが不足しているのが現実です。新開発者を含むシステムソフトウェア開発者の方々がRISC-Vを学ぶ過程で経験する困難を解消するために講義を製作することになりました。

講義の構成と1部、3部講義ロードマップ

今回の講義は、RISC-V全体の講義リストのうち、RISC-Vの中核機能である2部の内容を取り上げます。

RISC-Vアーキテクチャの完全なレッスンは、ロードマップ - 「システムソフトウェア開発者向けのRISC-Vアーキテクチャ」のレッスンで確認できます。

講義の核心差別化ポイント

1.TRACE32シミュレータプログラム(教育用)によるRISC-Vアーキテクチャのデバッグ

RISC-Vアーキテクチャ(レジスタ、アセンブリ命令、Privilegeモード)を学ぶショートカットは何ですか?すぐに直接デバッグ実習をする方法です。

この講義を受講すれば、教育用TRACE32シミュレータプログラムを「Inflearn講義資料」からダウンロードして直接TRACE32シミュレータプログラムを活用し、RISC-Vアーキテクチャのレジスタ、アセンブリ命令、Privilegeモードの実習を直接行うことができます。

参考までに、システムソフトウェアの開発全体に、TRACE32デバッガと関連プログラムは広く使用されています。 TRACE32 プログラムは、ライセンスが必要な場合に実行できます。

2. RISC-Vボードから抽出した5つのカーネルメモリダンプを提供

システムソフトウェア開発の過程で要求される最も重要な能力は、問題解決能力です。この中で、クラッシュ問題を分析し解決する能力が最も必要です。このレッスンでは、最も人気のあるRISC-Vボードの1つであるVision-Five 2から抽出した5つのカーネルクラッシュメモリダンプをデバッグしながら、ExceptionとCalling conventionのデバッグ実習を行います。講義を受講する方は、TRACE32プログラムに加えて5つのメモリダンプを受け取り、直接受付とCalling conventionをデバッグできます。

3.核心内容を厳選して簡単に説明

入門者の方は、RISC-Vを学ぶときに初めてリファレンス文書を入手して分析することが多いですが、入門者の立場でRISC-Vのどの内容を先に学ぶべきかを感じにくいです。何をまずよく学ばなければならないのか分かりにくいからです。今回の講義では実務に適用できる、必ずよく知るべき内容を厳選して説明します。たとえば、RISC-Vベースのデバイスから受け取ったメモリダンプとカーネルログを開き、レジスタやアセンブリ命令を簡単かつ詳細に説明します。

4.ソフトウェアとスタックと一緒に具体的な例を説明

RISC-Vはシステムソフトウェアの開発をよくしたいか、この分野に進出するために学ぶことがほとんどです。今回のレッスンでは、実践プロジェクトでRISC-Vがどのように活用されるかを説明します。

  • RISC-Vシステムでソフトウェアを実行する方法

  • RISC-Vシステムでどのプロセスで起動するか

  • RISC-Vシステムでどのようにデバッグとリバーシングを行うか

今回の講義を聞くと、RISC-Vアーキテクチャの内容とともに、自然に実戦感覚を早く身につけることができます。

5.Armアーキテクチャと比較してRISC-Vを説明

システムソフトウェア業界のエコシステムを見ると、2025年までにArmアーキテクチャを中心に組み込みおよびチップセット業界のエコシステムが構成されています。多くのシステムソフトウェア開発者は、ArmプロセッサやArmアーキテクチャに精通しています。このレッスンでは、RSIC-Vの重要な概念をArmアーキテクチャと一緒に説明します。

  • エクセプションの種類と処理方法

  • 割り込みコントローラの構造と処理方式

  • Calling Conventionの処理方法(使用されるレジスタと関連するアセンブリ命令)

教育者はArmアーキテクチャの本の著者なので、誰よりもRISC-VをArmアーキテクチャと比較しながら説明することができます。

こんなことを学びます📕

Exceptionの基本概念を詳細に説明し、RISC-Vアーキテクチャで定義されたExceptionの重要な機能(機能)を理解しやすく説明します。

RISC-Vアーキテクチャの重要な機能であるExceptionの実行フローについて説明します。また、マシンモードとユーザーモードで構成されたシステムでの取り扱いの処理方法について詳しく説明します。

RISC-V アーキテクチャで定義された - 取り込みを引き起こした原因を示す引用コード (Exception code) を説明し、メモリアボットで取り込みが処理されるフローチャートについて説明します。

ソフトウェア開発の観点から、エクセプションやクラッシュが発生したときの実行フローを詳しく説明します。

アセンブリ命令を1行1行分析しながら、Exceptionのどのような流れにつながるかを説明します。また、受け取りが引き起こされると、スタックがどのように処理するかを説明します。

T32デバッグ実践プログラムでアセンブリ命令を実行しながら、Exceptionを実践します。例外が発生すると、どのCSR(scause、mcause)レジスタが変更されるかを詳しく説明します。

TRACE32プログラムでExceptionを引き起こす練習をしながら、Linuxカーネルで処理されるExceptionハンドラについて詳しく説明します。

RISC-Vベースのボードから受け取ったメモリダンプを分析しながら、RISC-Vアーキテクチャのアクセプションの動作を説明します。カーネルログを分析し、コールスタックを分析します。

TRACE32プログラムを使用してページテーブルのデバッグ実習を進めます。これにより、エクセプションを引き起こした原因について具体的に把握します。

RISC-Vアーキテクチャで定義されている割り込みコントローラの基本的な動作方法について説明します。 PLICとCLICの構造をわかりやすく説明します。

割り込みに関するアクセプションコードをレビューし、PLIC(Platform Level Interrupt Controller)の構造を説明します。

PLICを構成するコアハードウェアコンポーネントについて説明し、PLICを制御するCSRレジスタについてわかりやすく説明します。

RISC-Vアーキテクチャで導入されたCalling Convention(関数呼び出し規約)について説明し、Calling Conventionをサポートするレジスタをレビューします。

関数に渡される引数の処理方法の大きな図を説明します。

RISC-V アーキテクチャの Calling convention (関数呼び出し規約) をサポートするアセンブリ命令を分析します。また、サンプルアセンブリ命令も分析します - c.sdsp命令解析

RISC-V アーキテクチャの Calling convention (関数呼び出し規約) をサポートするアセンブリ命令を分析します。また、サンプルアセンブリ命令も分析します - c.ldsp命令解析

RISC-V アーキテクチャの Calling convention (関数呼び出し規約) をサポートするアセンブリ命令を分析します。また、サンプルアセンブリ命令も分析します - c.ldsp命令解析


TRACE32 デバッグ実習で壊れたコールスタックを復元する実習を進めます。


TRACE32 デバッグ実習で、スタックオーバーフローで誘発されたメモリダンプ解析を行います。


本の執筆/講義の経歴に基づいて
誰よりも深く詳細に!

国内システムソフトウェア分野で専務後務限! 「Armアーキテクチャ(Armv8-A、Armv7-A)」と「Linuxカーネル」の本を書いた著者( 2冊の本とも大韓民国学術院優秀図書に選定であり、国内初で海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems 。何よりも最新のシステムソフトウェアトレンド(電気自動車、システム半導体 - システムソフトウェア)を最もよく知っている現代開発者です。また、システムソフトウェア分野で最も知識の伝播活動を活発にする教育者です。

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis'本(英語) 著者, (Packt 出版社)

  • 「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」( 2024年、大韓民国学術院優秀図書上著者

  • 「デバッグを通じて学ぶLinuxカーネルの構造と原理」2021年、大韓民国学術院優秀図書上)著者

  • 「プログラマスデブコース: Linuxシステムとカーネルの専門家」メインインストラクター

  • 2022年6月、韓国コンピュータ総合学術大会(KCC2022) - チュートリアル発表 [ftraceを利用してLinuxカーネルを征服する]

  • LG電子「Linuxカーネル」および「Armv8アーキテクチャ」社内講師(国内および海外開発者を含む) - (2020年~2024)

こんな方に
おすすめです

学習対象は
誰でしょう?

  • システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で能力を培いたいジュニア開発者

  • システム半導体(ファブレス)、電気自動車の分野でシステムソフトウェア開発をしたい就活生

  • RISC-Vアーキテクチャの機能を活用し、実務でどのようにデバッグするのか知りたいシステムソフトウェア開発者(システム半導体、電気自動車)

  • システムソフトウェア分野へキャリアを転換しようとする他分野の開発者

  • システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生

前提知識、
必要でしょうか?

  • コンピュータ構造

  • C言語

  • OS

こんにちは
です。

5,430

受講生

148

受講レビュー

84

回答

4.9

講座評価

21

講座

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

강의문의 : austindh.kim@gmail.com

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

カリキュラム

全体

91件 ∙ (11時間 33分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

3件

5.0

3件の受講レビュー

  • 이기상님의 프로필 이미지
    이기상

    受講レビュー 3

    平均評価 5.0

    5

    100% 受講後に作成

    • 박정모님의 프로필 이미지
      박정모

      受講レビュー 3

      平均評価 4.3

      5

      100% 受講後に作成

      많은 도움이 됐습니다.

      • sunny75님의 프로필 이미지
        sunny75

        受講レビュー 94

        平均評価 5.0

        5

        100% 受講後に作成

        2025/06/03/화 16:58 정말 좋은 강의를 들었습니다. stack 정보를 가지고, 디버깅을 할 수 있다는 것을 이제서야 이해 했네요. 즐거운 하루 보내세요. 감사합니다.

        ¥14,311

        austinkimの他の講座

        知識共有者の他の講座を見てみましょう!

        似ている講座

        同じ分野の他の講座を見てみましょう!