강의

멘토링

커뮤니티

BEST
Hardware

/

Embedded IoT

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

システムソフトウェアの基本中の基本、最新Armアーキテクチャ(Armv8-A、Armv7-A)の核心を「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者がしっかりと解説します!

難易度 初級

受講期間 無制限

  • austinkim
  • Austin Kim
Hardware Hacking
Hardware Hacking
Embedded
Embedded
ARM Architecture
ARM Architecture
cpu-architecture
cpu-architecture
cortex-a
cortex-a
Hardware Hacking
Hardware Hacking
Embedded
Embedded
ARM Architecture
ARM Architecture
cpu-architecture
cpu-architecture
cortex-a
cortex-a

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

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

5.0

5.0

ym0914

5% 受講後に作成

エクセプション、割り込み、呼び出し規約まで大きな絵を描きにくい内容を簡単に説明していただき、現業でもお手伝いをいただいております。

5.0

토끼야놀자

82% 受講後に作成

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

5.0

간절한개발자

51% 受講後に作成

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

受講後に得られること

  • 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シミュレータープログラムを「インフラーン講義資料」からダウンロードできます。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 CourseAdvanced 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)プログラマー注目!🙋‍♂

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

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

✅ システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学希望者 trong lĩnh vực phần mềm hệ thống (bộ nhớ, hệ thống tệp, hệ điều hành) in system software fields (memory, file systems, operating systems)

✅ システムソフトウェア分野にキャリアチェンジしようとする他分野の開発者 sang lĩnh vực phần mềm hệ thống into system software

多くの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アーキテクチャにおける例外(Exception)とは何かを紹介し、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,220

受講生

233

受講レビュー

93

回答

4.9

講座評価

22

講座

グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)

国内のシステムソフトウェア分野において前例のない!「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出版), (Packt Publishing)

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

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

  • 「Programmers Dev Course:Linuxシステムおよびカーネル専門家」メイン講師

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

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

韓国国内で誰よりもリ눅스カーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。

講義に関するお問い合わせ:austindh.kim@gmail.com

主要ロードマップ 🎯

'システムソフトウェア開発者のためのArm - basic course'

'システムソフトウェア開発者のためのArm - advanced course'

システムソフトウェア開発者のためのLinux kernel - basic course

カリキュラム

全体

130件 ∙ (20時間 37分)

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

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

受講レビュー

全体

16件

5.0

16件の受講レビュー

  • 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として残してください。 今後私の講義を "本当によく聞いた"という確信を差し上げるために最善を尽くします。

  • 16267551265님의 프로필 이미지
    16267551265

    受講レビュー 10

    平均評価 4.9

    5

    30% 受講後に作成

    • yerinjeon9731님의 프로필 이미지
      yerinjeon9731

      受講レビュー 2

      平均評価 5.0

      5

      30% 受講後に作成

      ¥16,225

      austinkimの他の講座

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

      似ている講座

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