강의

멘토링

커뮤니티

BEST
Hardware

/

Embedded IoT

システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 2部 著者直講 (2024年版)

システムソフトウェアの基本中の基本、最新のArmアーキテクチャ(Armv8-A, Armv7-A)の核心を「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者がきちんと押さえます!

저자 직강
이론 중심
armv8
armv7
Hardware Hacking
Embedded
ARM Architecture
cpu-architecture
cortex-a

学習した受講者のレビュー

受講後に得られること

  • Armアーキテクチャ(Armv8-A, Armv7-A)の基本動作原理を把握できます。

  • Armアーキテクチャ(Armv8-A, Armv7-A)の例外の詳細な動作原理について深く理解できます。

  • Armv7-A/Armv8-Aで定義されたAAPCSをよく理解できます。

  • エクセプションとAAPCSを活用してメモリアボート性の問題をデバッグする方法を理解できます。

📢 受講前のご案内

本講義はシステムソフトウェア開発のためのArmアーキテクチャの構造と原理 1部講義に続く2番目の講義です。スムーズな理解のために最初の講義から順次受講されることをお勧めいたします

<お知らせ>

0. 受講生300名突破30%割引クーポン発行

受講生300名突破(1、2部)を記念して30%割引クーポンを発行します。ありがとうございます。先着100名です。

1. 2024年最新講義リニューアル

最新のArmアーキテクチャの機能と実戦プロジェクトにすぐに適用できる有益なコンテンツを発掘して、以下の講義を追加しました。(3時間30分追加)

  • TRACE32プログラムデバッグコンテンツ: 教育用TRACE32シミュレータープログラムを「Inflearn講義資料」からダウンロードできます。TRACE32シミュレータープログラムを直接活用して、講義で説明するデバッグプロセス(アセンブリ命令語を含む)を直接フォローしてデバッグすることができます。

  • デバッグ実習講義: Armv7-A例外(35分)、Armv8-A例外(2時間)、AAPCS(60分)

  • メモリダンプ: 例外デバッグ用3件提供

継続的に受講生の皆様にお役に立てるコンテンツを発掘し、カリキュラムをアップデートする予定です。

2. Armアーキテクチャ全体 著者直講講義ロードマップ

今回の講義<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 2部 著者直講>はロードマップ'システムソフトウェア開発者のためのArm - basic course'に含まれる講義です。


体系的にArmアーキテクチャ(Armv8-A、Armv7-A)を学びたい方は、ロードマップ(全講義30%割引)を活用されると良いでしょう。参考までに、Armアーキテクチャロードマップ(著者直講全体)はBasic Course上級コース2つで構成されています。


最新のシステムソフトウェアにおける
最も重要なArmアーキテクチャ

スマートフォンはもちろん、AI用SoCシステム半導体、電気自動車Automotive(自律走行、インフォテインメント)そしてクラウドサーバーおよびMacBookで使用されるArmプロセッサは全てArmv8-A基盤64ビットCortex-Aプロセッサ(Cortex-A53、Cortex-A57、Cortex-A72など...)です。現在システムソフトウェア業界で最も多く必要とされる基盤知識が要求される内容がArmv8-Aアーキテクチャと言えるでしょう。

ところで、最新のArmアーキテクチャであるArmv8-AとArmv7-Aアーキテクチャがあまりにも難しく感じられましたか?


システムソフトウェア開発者、組み込みシステム(BSP)プログラマー注目!🙋‍♂

✅ システム半導体、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野でのジュニア開発者

✅ システム半導体、電気自動車分野のようなシステムソフトウェア開発分野で働きたい就職準備生

✅ システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学希望者

✅ システムソフトウェア分野にキャリアチェンジを目指す他分野の開発者

多くのLinux組み込み開発者を志望する方々は、コンピュータアーキテクチャやオペレーティングシステムを学びます。そしてCS理論もある程度勉強します。最近注目されているシステム半導体と電気自動車システムソフトウェア開発者は、Linuxデバイスドライバ、RTOSまたはブートローダを分析します。しかしそれだけでは何か物足りないということを自ら感じます。専門システムソフトウェア開発者になるために必ずArmアーキテクチャを知る必要があるという事実を知っていますが、いざArmスペック文書を開いた瞬間、簡単ではない道のりであり独学は難しいという判断をすることになります。

Armアーキテクチャの核心を
分かりやすく説明いたします!

  • 1⃣ Armアーキテクチャの核心中の核心である例外と関数呼び出し規約であるAAPCSに関する核心理論を理解することができます。

  • 2⃣ Armアーキテクチャを構成する主要な内容をコードレベルで再体験し、Armアーキテクチャに対する理解レベルがはるかに高くなります。

  • 3⃣ Armアーキテクチャがサポートする多様な機能を積極的に活用することで、高い安定性と性能を保証されるシステムプログラム(ドライバ、ブートローダ)を開発することができます。

  • 4⃣ 実戦プロジェクト開発に必要な各種理論及び事例を自ら理解することができます。

システムソフトウェア開発の核心は、CPUおよびコンピュータアーキテクチャと言っても過言ではありません。IT業界で最も必要とされるCPUプロセッサである、最新Armアーキテクチャ(Armv8-A、Armv7-A)に関する核心理論を分かりやすく説明しました!

Armアーキテクチャが難しい理由は、Armアーキテクチャをハードウェアプロセッサの観点からのみ学ぶからです。この講義は、コード分析と具体的な事例紹介により、Armアーキテクチャを構成する内容が実際にどのように使用されるかを説明します。この講義が実力のあるシステムソフトウェア開発者になるための中枢的な役割を果たします。

著者直講!本にない内容まで
具体的に説明します。

書籍『Armアーキテクチャの構造と原理』(2024年大韓民国学術院優秀図書賞選定の内容だけでなく、書籍では扱わないArmアーキテクチャに関するデバッグ実習および様々な事例を具体的に説明します。

  • ✅ 40%: 本の核心内容

  • ✅ 40%: Armアーキテクチャ関連主要ケーススタディ、コードレビュー

  • ✅ 20%: デバッグ実習 - TRACE32

講義内容 📕

CPUアーキテクチャにおけるエクセプションとは何かを紹介し、Armスペックをレビューしながらエクセプションの基本動作方式を説明します。

実戦プロジェクトでArmアーキテクチャの例外を知る必要がある理由を詳しく説明します。

Armv7アーキテクチャの例外実行フローを段階別に説明し、例外をソフトウェアで処理する方式まで詳細に分析します。

Armv7アーキテクチャのメモリアボート - PrefetchまたはData Abortが処理される動作を詳細に説明します。IRQ割り込み例外を処理する実行フローを説明します。

Armv7アーキテクチャでSVC命令を実行すると発生するスーパーバイザーコール(ソフトウェア割り込み)例外の実行フローを説明します。例外の全体実行フローを整理します。

実際のData AbortとUndefined Instruction例外が発生する動作を大きな図で詳細に説明します。

Armv8アーキテクチャで定義された例外の特徴を紹介します。Armv8アーキテクチャ例外の種類と分類体系を説明します。

Armv8アーキテクチャにおけるSynchronous例外が処理される流れを説明します。

Armv8アーキテクチャにおいて、各段階でインタラプトが処理される実行フローを大きな図で説明します。この過程でアップデートされるレジスタとエクセプションハンドラを説明します。

割り込みコントローラーを紹介し、GICの全体構造を説明します。

GICの全体構造を大きな絵で説明し、GICのバージョン別主要機能を説明します。

GICで定義されたインタラプトソースとタイプを説明し、SMP(マルチコアシステム)でのインタラプトの処理方式を説明します。

ソフトウェア開発の観点から設計されたGICのプログラマーモデルを説明し、物理的なGICの構造について説明します。

ディストリビューターの構造とディストリビューターを制御する際に使用されるシステムレジスターについて説明します。CPU interfaceの構造とCPU interfaceを制御する際に使用されるシステムレジスターについて説明します。

IRQとFIQの核心概念を説明し、実行フローまで詳細に説明します。

GICをソフトウェアで制御するGICハンドラルーチン(Linuxカーネル、XENハイパーバイザー)について説明します。

CPUアーキテクチャにおける関数呼び出し規約とAAPCSを構成する主要機能を紹介します。

Armv7-Aアーキテクチャ:AAPCSの核心であるPUSH命令とPOP命令の動作方式を詳細に説明します。

Armv7-A アーキテクチャ: AAPCSの核心であるBL命令の実行フローと関連アセンブリ命令を詳細に説明します。

Armv8-Aアーキテクチャ:AAPCSの核心であるSTP命令の動作方式とBLアセンブリの動作方式を詳細に説明します。

Armv8-A: AAPCSに関連する知識を活用して実戦プロジェクトで問題を解決する方法を紹介します。スタックオーバーフローとスタック汚染を防ぐことができるスキルを詳細に説明します。



Armの原理を理解する近道は
仕様書を直接読んで理解すること!

初心者にとってArmは決して簡単ではありません。どんなに有益な内容でも理解するのが難しいからです。この講義は難しいArmアーキテクチャ理論により簡単にアプローチできるよう道を開くために企画されました。


書籍執筆・講義経験をもとに
誰よりも深く詳細に!


国内システムソフトウェア分野で前代未聞!「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出版社) - 2025年

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

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

  • 'プログラマース デブ コース: Linuxシステム及びカーネル専門家' メイン講師

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

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


国内で誰よりもArmアーキテクチャ(Armv8-A、Armv7-A)を構成する主要機能をよく説明できる教育者だと自信を持って申し上げることができます。

学習者が残したリアルな受講レビュー

<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1/2部 著者直講>


Q&A 💬

Q. システムソフトウェア開発者になるには、Armアーキテクチャを必ず学ぶ必要がありますか?

はい、必ず学ぶべきです。IT業界で最も多く使用されているCPUがArmプロセッサです。ハードウェアを制御するプログラミングを行うシステムソフトウェア開発者は、Armアーキテクチャに関連する内容をしっかりと理解していなければ問題解決が可能な場合が多いためです。Armアーキテクチャをよく知らなければ、単純なシステム設定作業だけを行う可能性があります。

Q. 非専攻者ですが、Armアーキテクチャを学ぶことはできるでしょうか?

非専攻者でもこの講義の内容をしっかり聞けば、Armアーキテクチャの基本原理を十分に理解することができます。「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」本のベータリーダーの中にも非専攻者が多数いました。最初はArmアーキテクチャの内容を読んですぐに理解するのは難しかったですが、本を2〜3回読んで大部分のArmアーキテクチャを理解しました。この講義は本の内容をより詳しく具体的に説明するのでこの講義を受講されると非専攻者でもArmアーキテクチャをよく理解できるでしょう。

Q. セキュリティソフトウェア開発者になるには、この講義を受講する必要がありますか?

V3のようなソフトウェアを開発したいなら、cpu-architectureに関する理論は必須です。カーネルドライバー開発者に進んだ後、ArmアーキテクチャのようなCPUアーキテクチャは必ず知っておく必要があります。リバーシングをはじめ、各種攻撃/防御技法の核心を学ぶには、Armアーキテクチャの理論を知らずには試すことすら困難です。

Q. C言語、データ構造程度しか勉強していません。それでもこの講義を受講できますか?

はい、聞くことができます。この他に、オペレーティングシステムやRTOSに関する内容を知っていれば、講義を素早く学習するのに役立つことがあります。ただし、本講義は予備知識がなくても受講に困難がないよう、段階的に案内いたします。

事前知識よりも、次のような姿勢の方がより重要です。

  • 継続的に講義を聞く努力

  • よく知らない内容を聞いたときに悩み、考える訓練

  • 継続的に復習する習慣

こんな方に
おすすめです

学習対象は
誰でしょう?

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

  • システムソフトウェア分野へキャリアチェンジを考えている他分野の開発者

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

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

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

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

  • コンピュータ構造

  • オペレーティングシステム

  • C言語

  • 組み込み

  • CPU

  • マイクロプロセッサー

こんにちは
です。

6,018

受講生

200

受講レビュー

89

回答

4.9

講座評価

22

講座

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (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

カリキュラム

全体

130件 ∙ (20時間 37分)

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

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

受講レビュー

全体

13件

5.0

13件の受講レビュー

  • rousalome6394님의 프로필 이미지
    rousalome6394

    受講レビュー 4

    平均評価 5.0

    5

    51% 受講後に作成

    システムソフトウェア開発者としてARMプロセッサを知る必要があり、仕様文書を見てグーグルをしました。不慣れな用語がわからず、ARMプロセッサが難しすぎて学ぶことを何度もあきらめました。ところで、この講義を聞いてみると、全く違う世界に出会った感じです。説明を簡単にして知らなかったすべての用語や流れが理解し、ぎっしり詰まった部分がまとめられました。 ARMを学ぼうとする開発者にこの講義を強くします!

    • austinkim
      知識共有者

      良い評価ありがとうございます。もし気になる点があれば、いつでもQ/Aとして残してください。

  • mikeseohyungjin5975님의 프로필 이미지
    mikeseohyungjin5975

    受講レビュー 4

    平均評価 5.0

    5

    5% 受講後に作成

    1. ARMアーキテクチャについて驚くほど深い知識に感銘を受けました。 2. ARMスペックがとても難解で難しいのですが、講義に出てくるようにlinux kernelコードを見ながら身につけて理解が上手ですね。 全体的に開発者への愛情が感じられてよかったです。

    • austinkim
      知識共有者

      良い評価と励ましありがとうございます。もし気になる点があれば、いつでもQ/Aとして残してください。 これから私の講義を "本当によく聞いた"という確信を差し上げるために最善を尽くします。

  • grapesgun0624님의 프로필 이미지
    grapesgun0624

    受講レビュー 4

    平均評価 5.0

    5

    82% 受講後に作成

    単に理論を注入するのではなく、理論が適用された実際のカーネルコードの例と講師が実務で経験した事例を通じて講義していただき、理解も上手くなり、頭にも知識が長く残りました。良い講義を通して、多くの組込み開発者が生まれてくれるように努力していただきありがとうございます。

    • austinkim
      知識共有者

      良い評価ありがとうございます。もし気になる点があれば、いつでもQ/Aとして残してください。 今後私の講義を "本当によく聞いた"という確信を差し上げるために最善を尽くします。

  • 16099195815님의 프로필 이미지
    16099195815

    受講レビュー 2

    平均評価 5.0

    5

    30% 受講後に作成

    • dlemrtn800751님의 프로필 이미지
      dlemrtn800751

      受講レビュー 3

      平均評価 5.0

      5

      100% 受講後に作成

      ¥16,410

      austinkimの他の講座

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

      似ている講座

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