inflearn logo
知識共有
inflearn logo

新人開発者のための Armv7-A Architecture Overview (著者盎講)

システム゜フトりェアの基本䞭の基本、最新ArmアヌキテクチャArmv7-Aの栞心を『システム゜フトりェア開発のためのArmアヌキテクチャの構造ず原理』の著者がしっかりずお教えしたす

難易床 入門

受講期間 無制限

ARM Architecture
ARM Architecture
armv7
armv7
cpu-architecture
cpu-architecture
ARM Architecture
ARM Architecture
armv7
armv7
cpu-architecture
cpu-architecture

受講埌に埗られるこず

  • ArmアヌキテクチャずArmプロセッサの特城

  • レゞスタずアセンブリ呜什の凊理方匏

  • 䟋倖レベルException Levelずプロセッサモヌド別に実行される゜フトりェアスタック

  • 䟋倖Exceptionの皮類ず動䜜の仕組み

  • サブルヌチン呌び出しのための芏玄であるAAPCS (Arm呌び出し芏玄)

  • TrustZoneを構成するノンセキュアワヌルドずセキュアワヌルドの抂念

  • バリア、キャッシュ、そしお仮想メモリシステムの動䜜原理

<お知らせ>

Armアヌキテクチャ党シリヌズ 著者盎講講矩ロヌドマップ

今回の講矩<新人開発者のためのArmv7-A Architecture (著者盎講)>は、ロヌドマップ 'システム゜フトりェア開発者のためのArm - basic course' に含たれおいる講矩です。

䜓系的にArmアヌキテクチャ(Armv8-A, Armv7-A)を孊びたい方は、ロヌドマップ(党講矩30%割匕)を掻甚するこずをお勧めしたす。ちなみに、Armアヌキテクチャのロヌドマップ(著者盎講 党䜓)は Basic Courseず Advanced Course の2぀で構成されおいたす。

最新のシステム゜フトりェアにおいお
最も重芁なArmアヌキテクチャ

デスクトップコンピュヌタを陀くほずんどのデバむスで実行されるCPUはArmプロセッサです。これたで組み蟌み開発者にずっお、Armアヌキテクチャは必ず孊ばなければならないテヌマでした。普及しおいるArmアヌキテクチャを倧きく分けるず、Armv7-AずArmv8-Aアヌキテクチャに分類できたす。このうち、32ビットベヌス(Armv7-A)のArmプロセッサ(Cortex-A9, Cortex-A15)は、今でも倚くの倚様な補品矀(デゞタルTV、IoT機噚、電気自動車-自動運転、テレマティクス)で䜿甚されおいたす。

Armv7アヌキテクチャを初めお孊ぶなら

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蚀語

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

  • コンピュヌタ構成論

こんにちは
austinkimです。

6,416

受講生

251

受講レビュヌ

99

回答

4.9

講座評䟡

23

講座

グロヌバル著者  リナックスシステム゜フトりェア開発者 (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

もっず芋る

カリキュラム

党䜓

75件 ∙ (9時間 17分)

講座掲茉日: 
最終曎新日: 

受講レビュヌ

党䜓

2ä»¶

5.0

2件の受講レビュヌ

  • dlwoguddd님의 프로필 읎믞지
    dlwoguddd

    受講レビュヌ 14

    ∙

    平均評䟡 5.0

    5

    52% 受講埌に䜜成

    • heecheolsong님의 프로필 읎믞지
      heecheolsong

      受講レビュヌ 24

      ∙

      平均評䟡 5.0

      5

      31% 受講埌に䜜成

      austinkimの他の講座

      知識共有者の他の講座を芋おみたしょう

      䌌おいる講座

      同じ分野の他の講座を芋おみたしょう

      ï¿¥7,049