강의

멘토링

컀뮀니티

Hardware

/

Embedded IoT

Armv8-A Architecture Overview for New Developers (Direct Lecture by the Author)

The author of "Arm Architecture: Structure and Principles for System Software Development" thoroughly covers the fundamentals of system software, focusing on the core of the latest Arm architecture (Armv8-A)!

(5.0) 1 reviews

77 learners

  • austinkim
임베디드늬눅슀
췚업쀀비
읎론 쀑심
ARM Architecture
Embedded
armv8
cpu-architecture

What you will learn!

  • Characteristics of Arm Architecture and Arm Processors

  • Processing of Registers and Assembly Instructions

  • Exception Level and Software Stack Executed at Each Exception Level

  • Types and Behavior of Exceptions

  • AAPCS (Arm Architecture Procedure Calling Standard), a convention for subroutine calls

  • The concepts of the Non-secure World and Secure World that constitute TrustZone.

  • Virtualization and the Operating Principles of Hypervisors

  • Barrier, Cache, and the Operating Principles of Virtual Memory Systems

<Notice>

Arm Architecture Full Author Direct Lecture Roadmap

This lecture <Armv8-A Architecture for New Developers (Author Direct Lecture)> is a roadmap 'Arm - basic course for system software developers' This lecture is included in .

If you want to learn Arm architecture (Armv8-A, Armv7-A) systematically, it is recommended to use the roadmap (30% discount on all lectures). For reference, the Arm architecture roadmap (all author lectures) is Basic Course and Advanced Course It consists of two parts.

System software developer
Essential Knowledge, Arm Architecture

The Arm processors used in AI semiconductors, electric vehicles (autonomous driving, infotainment), and smartphones as well as digital TVs are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc.). The Armv8-A architecture can be considered the most needed knowledge in the current system software industry .

Finished in 9 hours
Introduction to the Core Armv8-A Architecture


I have written a book explaining the Armv8-A architecture and have also produced over 60 hours of lectures for Inflearn.

However, it takes more than 3 months for someone who is learning Arm architecture for the first time to digest a lecture of more than 60 hours. Of course, the best way is to take the lectures step by step and learn Arm architecture systematically. However, in reality, job seekers and junior developers often have to prepare for technical interviews within 1-2 weeks . Reflecting the needs of these students, we launched a compact but essential introduction to the Armv8-A architecture .

Target students 💁‍♂

Job seekers in the system SW field who need to prepare for a technical interview related to the Armv8-A architecture in a short period of time

New and junior developers who want to quickly learn the core contents of Armv8-A

Managers in the system software field who want to manage projects by understanding the core features of Armv8-A.

Differentiating Points of the Lecture ⭐

1⃣ Summary of key features of the Armv8-A architecture that may come up in technical interviews

In the technical interview of system software developers, there is a high possibility that they will ask questions about the Armv8-A architecture. Most domestic Linux system software developers (fabless, embedded development) specify the Arm architecture as a requirement. The time to prepare for the interview is short, but it is a big burden to analyze the vast Arm specification document. If you listen to this lecture, you can quickly understand the core concepts that make up the Armv8-A architecture.

2⃣ A summary of things that new developers must know

When working on a real-world project, you need to know the Arm architecture well. If you don't know the Arm architecture when bringing up or debugging, it will be difficult to proceed with development.

The features that make up the Armv8-A architecture are vast. The related reference documentation is over 2000 pages long, and it is difficult to know which content is used in actual projects. From the perspective of a new developer, the practical features of the Armv8-A architecture that must be known are well organized.

3⃣ Introduction to various case studies

It covers the core content of the Arm architecture and how to proceed with development work in real projects. It also explains various case studies (real project issues) on how the learned content is applied to real projects. It also covers the Linux kernel and bootloader that implement the main functions of the Arm architecture.


If you successfully complete this course, you will be able to grow into an advanced systems software developer.

We wish you to upgrade your career with higher salary and position.

Learn about these things 📕

This course introduces the Arm processor while explaining the process of developing system semiconductors. It also introduces the basic functions that make up the Armv8-A architecture.

Describes the structure of registers and provides various examples of how registers are used.

Describes special registers and covers the execution flow in which they are modified.

We introduce the boot process and explain how assembly instructions are used in real-world projects. We then analyze the basic format and command routines of assembly instructions.


It analyzes assembly instructions in detail in various ways and explains the syntax of the instructions in an easy-to-understand manner.


Debug assembly instructions using TRACE32, a practical debugging program. Analyze assembly instructions and learn in detail how registers are used.

Explains the concepts of exception level and privilege level in an easy-to-understand manner.

Explains how software executes at different exception levels with various examples.

This section details how the exception level is set during booting. It explains how to check the exception level using assembly instructions.

It details the exception vector table and the execution flow through which exceptions are handled.

Interrupts are handled as a type of exception in the Armv8-A architecture. Here is a simple explanation of how IRQ interrupt exceptions are handled through various execution flows.

Describes the process by which an exception is triggered during the execution of a system call. It also describes the execution flow of an exception along with the exception vector table.

TRACE32 debugging practice details how the Arm core branches to the exception vector address when an exception is triggered.

Describes the basic core concepts and execution flow for AAPCS, which specifies how to branch to subroutines such as functions.

We'll explain how the stack is used from a software perspective and provide optimizations that can be applied directly to real-world projects.


An easy-to-understand explanation of the core concepts (non-secure world, secure world) and execution flow of TrustZone.

This explains the operating principle of Secure monitor call with TRACE32 debugging practice. It explains in detail the operation of entering EL3 when executing SMC instruction in EL1 and also analyzes in detail the operation method of exception caused in this process.

This explains the structure and virtualization functions of hypervisors, which are widely used in electric vehicle (Automotive) development.

This explains the process of entering the hypervisor from the guest OS through the hypervisor call, which is the core of the virtualization technique. It also explains the execution flow of receiving and processing an exception from the hypervisor.


This tutorial explains in detail how to enter EL2 (hypervisor) by executing HVC instructions in EL1 (guest OS) using TRACE32 debugging practice. It also explains in simple terms how exceptions that occur during this process work.

Explains the basic concepts of cache and provides an easy-to-understand explanation of the basic structure and policies of multi-level cache.


An easy-to-understand explanation of the memory model and memory barriers.

Describes the components that make up the virtual memory system and the execution flow through which virtual addresses are processed.

Based on my experience writing books and giving lectures
More in-depth and detailed than anyone else!

The author of the unprecedented 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel' books in the domestic system software field. He is also a working developer who knows the latest system software trends (electric vehicles, system semiconductors - system software) the best, and an educator who is most active in spreading knowledge in the system software field.

  • Author of 'Structure and Principles of Arm Architecture for System Software Development' ( 2024, Korean Academy of Sciences Outstanding Book Award )

  • Author of 'Learning the Structure and Principles of the Linux Kernel through Debugging' ( 2021, Korean Academy of Sciences Outstanding Book Award )

  • 'Programmers Dev Course: Linux System and Kernel Expert' Main Instructor (1st and 2nd sessions)

  • June 2022, Korea Computer Conference (KCC2022) - Tutorial presentation [Conquering the Linux Kernel using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' In-house Instructor ( including domestic and overseas developers ) - (2020~2024)

I can confidently say that I am the educator who can explain the key features of the Armv8-A architecture better than anyone else in Korea.

Vivid course reviews left by students

<Structure and Principles of Arm Architecture for System Software Development - Part 1/2 Author's Lecture>

Things to note before taking the class

Player Knowledge and Notes

  • This lecture is one that can be followed without any prior knowledge .

  • Knowing the structure of operating systems and computers will help you understand the lectures.

  • In this lecture, we assume that you know the basic grammar of the C language and introduce and explain example code.

  • The TRACE32 program used in this lecture is not provided.

    If you want to download the TRACE32 educational practice program and debug assembly instructions in detail, take the author's lecture on the structure and principles of the Arm architecture for developing distributed system software - Part 1/2.

Recommended for
these people

Who is this course right for?

  • Junior developer aspiring to build expertise in system software, including system semiconductors (fabless) and the electric vehicle sector (autonomous driving, infotainment).

  • A developer from another field looking to transition their career into system software.

  • A job seeker who wants to develop system software in the fields of system semiconductors (fabless) and electric vehicles.

  • A college student aiming to pursue graduate studies in the field of system software (memory, file systems, operating systems).

  • System software developers (system semiconductors, electric vehicles) who want to know how to debug in practice using the features of the Arm architecture.

Need to know before starting?

  • Microprocessor

  • CPU

  • Embedded

  • C language

  • Operating system

  • Computer Architecture

Hello
This is

5,835

Learners

183

Reviews

89

Answers

4.9

Rating

22

Courses

Ꞁ로벌 저자 & 늬눅슀 시슀템 소프튞웚얎 개발자 (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

Curriculum

All

71 lectures ∙ (8hr 31min)

Published: 
Last updated: 

Reviews

All

1 reviews

5.0

1 reviews

  • wjdrbs09140521님의 프로필 읎믞지
    wjdrbs09140521

    Reviews 1

    ∙

    Average Rating 5.0

    5

    31% enrolled

    説明が詳现で、難しいテヌマごずに簡単な䟋を挙げおくれるのがずおも良いです。

    $42.90

    austinkim's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!