
システムソフトウェア開発のすべて - システム半導体と電気自動車中心
austinkim
¥4,032
27%
¥2,932
入門 / Embedded
4.9
(23)
システムソフトウェア開発者になるために何を準備し、何を知るべきかを説明する講義です。システムソフトウェア開発プロセスを詳細に説明し、必要な力量を紹介します。IT業界で最も高い年俸を得るシステム半導体、電気自動車分野のシステムソフトウェア開発プロセスと開発エコシステムを詳細に扱います。
入門
Embedded
システムソフトウェアの基本中の基本、最新Armアーキテクチャ(Armv7-A)の核心を『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』の著者がしっかりとお教えします!
受講生 53名
難易度 入門
受講期間 無制限
ArmアーキテクチャとArmプロセッサの特徴
レジスタとアセンブリ命令の処理方式
例外レベル(Exception Level)とプロセッサモード別に実行されるソフトウェアスタック
例外(Exception)の種類と動作の仕組み
サブルーチン呼び出しのための規約であるAAPCS (Arm呼び出し規約)
TrustZoneを構成するノンセキュアワールドとセキュアワールドの概念
バリア、キャッシュ、そして仮想メモリシステムの動作原理
今回の講義<新人開発者のためのArmv7-A Architecture (著者直講)>は、ロードマップ 'システムソフトウェア開発者のためのArm - basic course' に含まれている講義です。
体系的にArmアーキテクチャ(Armv8-A, Armv7-A)を学びたい方は、ロードマップ(全講義30%割引)を活用することをお勧めします。ちなみに、Armアーキテクチャのロードマップ(著者直講 全体)は Basic Courseと Advanced Course の2つで構成されています。
デスクトップコンピュータを除くほとんどのデバイスで実行されるCPUはArmプロセッサです。これまで組み込み開発者にとって、Armアーキテクチャは必ず学ばなければならないテーマでした。普及しているArmアーキテクチャを大きく分けると、Armv7-AとArmv8-Aアーキテクチャに分類できます。このうち、32ビットベース(Armv7-A)のArmプロセッサ(Cortex-A9, Cortex-A15)は、今でも多くの多様な製品群(デジタルTV、IoT機器、電気自動車-自動運転、テレマティクス)で使用されています。
Armアーキテクチャを初めて学ぶ方なら、膨大な量に負担を感じるかもしれません。また、就職活動中の方やジュニア開発者の方なら、1〜2週間以内に素早く技術面接の準備をしなければならないケースも多いでしょう。今回の講義は、Armアーキテクチャの入門者が短期間で核心概念を習得できるよう、最適なカリキュラムを構成しました。
もちろん、Armアーキテクチャを体系的に学ぶには、深みのある学習プロセスが重要です。実際、私が執筆した<Armアーキテクチャの構造と原理>と、以下のフルコース講義(計60時間分)は、多くの受講生に選ばれてきました。
🔹 体系的に学びたい方は、以下の講義に注目してください!
次のような受講生の方々のために、今回の講義「Armv7-Aアーキテクチャ Overview」を制作しました。
短時間でArmv7-Aアーキテクチャに関連する技術面接の対策をしなければならないシステムSW分野の就職準備生
Armv7-Aの核心的な内容を把握して、実務を早く習得したい新人およびジュニア開発者
Armv7-Aの核となる機能を理解し、プロジェクトを管理しようとしているシステムソフトウェア管理者
1⃣ 技術面接で出題される可能性のあるArmv7-Aアーキテクチャの主要機能を要約整理
システムソフトウェア開発者の技術面接において、Armv7-Aアーキテクチャに関する質問をされる可能性は非常に高いです。ほとんどの国内リナックスシステムソフトウェア開発者(ファブレス、組み込み開発)の要件として、Armアーキテクチャが明記されています。面接の準備時間は短い一方で、膨大なArmのスペック文書を分析するのは大きな負担となります。本講義を受講すれば、Armv7-Aアーキテクチャを構成する核心的な概念を短時間で把握することができます。
2⃣ 実務の開発で必ず知っておくべき内容を整理
現場のプロジェクトを進める際には、Armアーキテクチャをよく理解しておく必要があります。ブリングアップやデバッグを行う際、Armアーキテクチャを知らなければ開発を進めることが困難です。
Armv7-Aアーキテクチャを構成する機能は膨大です。関連するリファレンス文書は1000ページを超え、どの内容が実務プロジェクトで活用されるのかを把握するのは困難です。新人開発者の視点で必ず知っておくべきArmv7-Aアーキテクチャの実用的な機能を分かりやすくまとめました。
3⃣ 多様なケーススタディの紹介
Armアーキテクチャの核心的な内容を説明しながら、実践プロジェクトでどのような方法で開発業務を進めるかを扱います。また、学んだ内容が実際の現場のプロジェクトでどのように活用されるかについて、多様なケーススタディ(実践プロジェクトのイシュー)も説明します。さらに、Armアーキテクチャの主要機能が実装されたLinuxカーネルやブートローダーについても扱います。
今回の講義をしっかりと習得すれば、高級システムソフトウェア開発者として成長することができます。
より高い年収とポジションでキャリアをアップグレードされることを応援しています。
システム半導体を開発するプロセスを説明しながら、Armプロセッサについて紹介します。また、Armv7-Aアーキテクチャを構成する基本的な機能についても紹介します。
レジスタの構造を説明し、Armv7-Aアーキテクチャにおいてレジスタがどのように構成されているかを、具体的かつ分かりやすく解説します。
Armv7-Aアーキテクチャを構成するレジスタの中でも核心となる、CPSRレジスタとSPSRレジスタについて詳しく扱います。それぞれのレジスタを構成するフィールドを分かりやすく説明します。
TRACE32プログラムで実習しながら、汎用レジスタの基本構造を分かりやすく説明します。
CPSRレジスタの値とプロセッサモードの関係を、TRACE32デバッグを通じて具体的に説明します。
アセンブリ言語を熟知すべき理由を、さまざまな例(ブートローダー)とともに説明します。また、アセンブリ命令が実際のプロジェクトでどのように活用されているかを説明します。
Armv7-Aアーキテクチャで定義されたアセンブリ命令の基本フォーマットと、例題の命令ルーチンを分析します。
様々な方式でアセンブリ命令を詳細に分析し、それぞれのアセンブリ命令の動作方式を分かりやすく説明します。
TRACE32プログラムで直接デバッグしながら、アセンブリ命令の動作方式を詳細に説明します。
Armv7-Aアーキテクチャの核心中の核心であるプロセッサモードを紹介します。プロセッサモードに関連するPrivilege Levelの概念を、具体的かつ分かりやすく説明します。
Armv7-Aでサポートされている各プロセッサモードの特徴を説明し、Userモードについて取り上げます。Userモードで実際にどのようなソフトウェアが実行されるのかを具体的に説明します。
RTOSやLinuxカーネルが実行されるSupervisorモードについて詳細に説明します。実戦プロジェクトでSupervisorがどのように活用されているか具体的に説明します。
例外の基本動作原理を説明し、Armv7-Aで定義された例外ベクトルテーブルをレビューします。
Armv7-Aで処理される例外の処理方式を、段階別に詳しく説明します。
実際の例外がソフトウェア的にどのような方式で処理されるのかを詳細に分析します。関連するアセンブリ命令と例外ベクトルテーブルを詳細に説明します。
IRQ割り込み例外がArmv7-Aでどのように処理されるのか、ソフトウェアの観点から説明します。
TRACE32プログラムによるデバッグ実習を通じて、SVC命令を実行するとどのような方式でエクセプションが誘発されるのか、分かりやすく説明します。
Undefined Instructionエクセプションを実際にTRACE32プログラムで実習しながら、エクセプションの動作原理を具体的に説明します。
関数のようなサブルーチンへ分岐する規約であるAAPCS(Arm Procedure Call Standard)をなぜ学ぶべきかについて紹介します。また、基本的な動作原理を分かりやすく説明します。
AAPCSに関連するレジスタを紹介します。関数に渡される引数や戻り値が、どのレジスタを使用して保存されるかを説明します。
BL、B、BLX命令を実際にTRACE32プログラムで実習しながら、AAPCSの動作原理を分かりやすく説明します。
TrustZoneの核心概念(ノンセキュアワールド、セキュアワールド)と実行フローについて、分かりやすく説明します。
TrustZoneの核心であるSMC命令の動作方式を詳細に説明します。
メモリーモデルの基本概念と、ノーマルメモリーとは何かについて分かりやすく説明します。
メモリーリオーダリングの概念と、Armv7-Aで提供されるメモリーバリアについて詳細に説明します。
仮想メモリシステムを構成する要素と、仮想アドレスが処理される実行フローについて説明します。
国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の書籍を執筆した著者です。また、最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役の開発者であり、システムソフトウェア分野で最も活発に知識の普及活動を行っている教育者でもあります。
『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』(2024年、大韓民国学術院 優秀図書賞) 著者
'デバッグを通じて学ぶLinuxカーネルの構造と原理' (2021年、大韓民国学術院 優秀図書賞) 著者
'プログラマーズ・デブコース:Linuxシステムおよびカーネルエキスパート' メイン講師(1~2期)
LG電子 'Linuxカーネル' および 'Armv8アーキテクチャ' 社内講師(国内および 海外開発者を含む) - (2020年〜2024年)
国内で誰よりもArmv7-Aアーキテクチャを構成する主要機能をうまく説明できる教育者であると、自信を持って申し上げることができます。
<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 第1/2部 著者直講>

今回の講義は予備知識がなくても無理なくついていける講義です。
OSやコンピュータの構造に関する知識があれば、講義を理解するのに役立ちます。
講義ではC言語の基本文法は習得しているものと想定し、サンプルコードの紹介と説明を行います。
今回の講義で進行する(デバッグ実習)TRACE32プログラムは提供されません。
TRACE32教育用実習プログラムをダウンロードして、アセンブリ命令を詳細にデバッグしたい方は、すでに公開されている「システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 第1部/第2部」の著者直講義を受講してください。
学習対象は
誰でしょう?
システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で、自らの能力を高めていきたいジュニア開発者
システムソフトウェア分野へキャリアチェンジしようとしている他分野の開発者
Armアーキテクチャの機能を活用し、実務でどのようにデバッグを行うかを知りたいシステムソフトウェア開発者(システム半導体、電気自動車)
システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生
システム半導体(ファブレス)、電気自動車分野でシステムソフトウェア開発を志望している就活生
前提知識、
必要でしょうか?
マイクロプロセッサ
CPU
組み込み
C言語
オペレーティングシステム
コンピュータ構成論
キャリア認証
6,586
受講生
265
受講レビュー
102
回答
4.9
講座評価
23
講座
グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)
国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊とも大韓民国学術院の優秀図書に選定)であり、国内初めて海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems」の本(英語)を執筆したグローバル著者です。何よりも最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役の開発者です。また、システムソフトウェア分野で最も活発に知識の普及活動を行っている教育者でもあります。"Reverse Engineering Armv8-A Systems" (bằng tiếng Anh) thông qua nhà xuất bản nước ngoài (Packt). Trên hết, ông là một nhà phát triển đang làm việc thực tế, người nắm rõ nhất các xu hướng phần mềm hệ thống mới nhất (xe điện, bán dẫn hệ thống - phần mềm hệ thống). Ngoài ra, ông còn là một nhà giáo dục hoạt động tích cực nhất trong việc truyền bá kiến thức trong lĩnh vực phần mềm hệ thống.
Professional 知識共有者およびコンサルタント
LG電子 Linuxカーネルオープンソースチーム勤務(〜2026年5月)
'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 著書(英語) 著者、(Packt 出版社)
『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』(2024年、大韓民国学術院 優秀図書賞)著者))
『デバッグを通じて学ぶLinuxカーネルの構造と原理』 (2021年、大韓民国学術院 優秀学術図書賞) 著者)
'Programmers Dev Course: リナックスシステムおよびカーネル専門家' メイン講師
韓国国内で誰よりもリヌックスカーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。
講義に関するお問い合わせ : austindh.kim@gmail.com
'システムソフトウェア開発者のための Arm - basic course'
'システムソフトウェア開発者のためのArm - advanced course'
システムソフトウェア開発者のための Linux kernel - basic course
全体
75件 ∙ (9時間 17分)
1. 講座紹介
07:18
5. レジスタの基本概念
03:50
6. レジスタの概念 - CPUの変数
02:28
7. メモリ階層におけるレジスタとは
02:54
8. Armv7-Aアーキテクチャのレジスタ紹介
09:00
9. バンクド・レジスタの概念
05:40
10. CPSRレジスタ
08:04
11. SPSRsレジスタ
11:41
12. 汎用レジスタ(Register)デバッグ
08:47
13. PC(プログラムカウンタ)と実行フロー
08:27
15. バンクドレジスタの動作方式
13:41
16. CPSRレジスタのデバッグ
17:00
全体
2件
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!
期間限定セール、あと4日日で終了
¥38,500
30%
¥7,147