Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Hardware

/

Embedded IoT

Structure and Principles of Arm Architecture for System Software Development - Part 1 Author's Direct Lecture (2024 Version)

The author of "Arm Architecture: Structure and Principles for System Software Development" will properly guide you through the very foundation of system software and the core of the latest Arm architecture (Armv8-A, Armv7-A)!

(5.0) 21 reviews

359 learners

저자 직강
이론 중심
arm-architecture
ARM Architecture
cortex-a
Embedded
microprocessors

Reviews from Early Learners

What you will learn!

  • Arm Processor Introduction

  • Arm Architecture Learning Method

  • Register

  • Assembly instruction

  • Armv7: Operating Mode

  • Armv8: Exception Level

The most basic of system software basics,
The heart of the latest Arm architecture!

<Notice>

0. 30% discount coupon issued when 300 students enroll

To celebrate reaching 300 students (Part 1 and 2), we are issuing a 30% discount coupon. Thank you. First 100 people.

  • Coupon: 18267-3c7819cbb4a4

1. Latest lecture renewal in 2024

We've added the following lectures to explore the latest Arm architecture features and useful content that can be applied directly to real-world projects.

  • TRACE32 Program Debugging Content : You can download the educational TRACE32 simulator program from 'Inflearn lecture materials'. You can directly debug by following the debugging process (including assembly commands) explained in the lecture using the TRACE32 simulator program.
  • Added Debugging Practice Lectures : Register Practice (50 minutes), Assembly Instructions (60 minutes), Operation Modes and Exception Levels (60 minutes)

The lectures will continue to be renewed.

2. Arm Architecture Full Author Direct Lecture Roadmap

This lecture, <Structure and Principles of Arm Architecture for System Software Development - Part 1 Direct Lecture by the Author>, is included in the roadmap 'Arm for System Software Developers - Basic Course' .

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) consists of two courses: Basic Course and Advanced Course .


System semiconductors, automotive fields, etc.
If you are a system software developer
Arm architecture you must know.

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

But, did you find the latest Arm architectures, Armv8-A and Armv7-A, too difficult ?


Attention System Software Developers and Embedded System (BSP) Programmers!

Junior developers who want to develop their capabilities in the field of system software, including system semiconductors and electric vehicles (autonomous driving, infotainment). 

Job seekers who want to develop system software in fields such as system semiconductors and electric vehicles

College students aiming to advance to graduate school in the field of system software (memory, file system, operating system)

Developers from other fields who want to transition their careers into systems software.

Many Linux embedded developers learn computer architecture and operating systems. They also study CS theory to some extent. Recently, rising system semiconductor and electric vehicle system software developers analyze Linux device drivers, RTOS, or bootloaders. However, they feel that something is lacking . They know that they must know the Arm architecture to become a professional system software developer, but when they actually open the Arm specification document, they decide that it is not an easy path and that self-study is difficult.


The core of the Arm architecture
Let me explain it to you in an easy-to-understand way!

  • 1️⃣ You can understand the core theories such as the registers and assembly instructions of the Arm architecture, as well as the operation mode and exception level.
  • 2️⃣ You will experience the main contents of the Arm architecture again at the code level, and your level of understanding of the Arm architecture will increase significantly.
  • 3️⃣ By actively utilizing various functions supported by the Arm architecture, you can develop system programs (drivers, bootloaders) that are guaranteed high stability and performance.
  • 4️⃣ You can directly debug assembly instructions and related functions while practicing directly with the TRACE32 debugging program . You can understand various theories and cases necessary for developing real-world projects on your own.

It is no exaggeration to say that the core of system software development is CPU and computer architecture. We have easily explained the core theory of the latest Arm architecture (Armv8-A, Armv7-A) , the most needed CPU processor in the IT industry!

The reason why Arm architecture is difficult is because it is learned only from the perspective of the hardware processor. This lecture explains how the contents of the Arm architecture are actually used through code analysis and specific case introduction. This lecture will play a pivotal role in helping you become a capable system software developer.


TRACE32 simulator program (educational use) provided

What is the shortcut to learning Arm architecture? It is to practice by debugging yourself.

By taking this course, you can download the educational TRACE32 simulator program from 'Inflearn lecture materials' and use the TRACE32 simulator program to debug by following the debugging process (including assembly instructions) explained in the course. The related debugging lectures in the curriculum are as follows:

  • TRACE32 - Register Practice (2024 version)
  • TRACE32 - Practice debugging in action mode (2024 version)
  • TRACE32 - Assembly Instruction Debugging Practice (2024 version)
  • TRACE32 - Exception Level Debugging Practice (2024 version)

You can also follow the debugging related to operation mode and exception level.


Direct lecture from the author! Even the contents that are not in the book
Let me explain in detail.

In addition to the contents of the book 『Structure and Principles of Arm Architecture』 , it specifically explains debugging practices and various cases for the Arm architecture that are not covered in the book.

  • ✅ 40%: Core content of the book
  • ✅ 40%: Key case studies and code reviews related to Arm architecture
  • ✅ 20%: Debugging Practice - TRACE32

Main lecture contents

Introduces the Arm processor and Arm architecture along with the process of developing system semiconductors. Describes the profiles and families of Arm processors.

Introduces the registers of the Armv7-A architecture and explains their features.

This section covers banked registers among general-purpose registers (Armv7-A) in detail. It also explains in detail the main fields that make up the CPSR register, which contains the status information of the process.

An easy-to-understand and detailed explanation of the registers defined in the Armv8-A architecture.

Debug registers with the TRACE32 program. We will explain in detail how registers work by directly changing the values of registers defined in the Armv7-A and Armv8-A architectures. Of course, we will explain so that students can follow along and debug.


Describes the basic structure of assembly instructions and explains each assembly instruction in detail.

It goes beyond explaining the grammar of assembly instructions and goes into detail about how assembly instructions are used in actual projects.

I will explain by directly debugging assembly instructions using the TRACE32 program. I will explain in a way that students can debug along with arithmetic instructions (e.g. MOV, ADD, SUB) to branch instructions, bit operation instructions, and logical instructions (AND, ORR, EOR).


Introduces the operating modes that form the basis of Armv7-A and explains in detail the features of each. Explains what software is executed in each operating mode.

We describe the privilege levels associated with the operating modes and break down the bit fields in the CPSR register that determine the operating mode.

We will directly debug commands that change the operating mode with the TRACE32 program. We will also directly execute commands that cause exceptions and explain the process of causing exceptions through the debugging process. We will explain so that students can follow along and debug.


This article explains the concept of exception levels, one of the core features of the Armv8-A architecture, in an easy and detailed manner.

Through analysis of the specification document, we review the exception levels in detail and describe the software stack that is executed for each exception level.

We will practice reading exception levels with the TRACE32 program. We will also explain the process of changing exception levels by directly executing SVC and HVC commands and debugging them. Students can download the TRACE32 program and follow along to debug.


A shortcut to understanding how Arm processors work is to read and understand the Arm specification documents directly.
It is never easy for beginners. No matter how useful the content is, it is difficult to understand. This lecture is designed to open the way for you to approach the difficult theories of the Arm architecture more easily.


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

Unparalleled in the domestic system software field! Author of 'Arm Architecture (Armv8-A, Armv7-A)' and 'Linux Kernel' ( both books selected as excellent books by the Korean Academy of Sciences ) and global author who wrote the book "Reverse Engineering Armv8-A Systems" (English) through a foreign publisher (Packt) for the first time in Korea . Above all, he is a working developer who knows the latest system software trends (electric vehicles, system semiconductors - system software) the best. He is also an educator who is most active in knowledge dissemination in the field of system software.

  • Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis (Packt Publisher: English) - 2025
  • 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
  • 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 Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.


Vivid course reviews left by students


Q&A 💬

Q. Is it necessary to learn the Arm architecture to become a system software developer?

Yes, you should definitely learn it. The most widely used CPU in the IT industry is the Arm processor. System software developers who program to control hardware often need to have a good understanding of the Arm architecture to solve problems. If you don't know the Arm architecture well, you'll likely only be able to do simple system configuration work.

Q. I am not a major. Can I learn Arm architecture?

Even non-majors can fully understand the basic principles of the Arm architecture by listening to the contents of this lecture carefully. Among the beta readers of the book 'Structure and Principles of Arm Architecture for System Software Development', there were many non-majors. At first, it was difficult to read and understand the contents of the Arm architecture right away, but after reading the book 2-3 times, most of them understood the Arm architecture. This lecture explains the contents of the book in more detail and specifically, so even non-majors will be able to understand the Arm architecture well by listening to this lecture .

Q. Do I need to take this course to become a security software developer?

If you want to develop software like V3, the theory of CPU architecture is essential. After moving to kernel driver developer, you must know CPU architecture such as Arm architecture. If you want to learn the core of various attack/defense techniques including reversing, it is difficult to even try without knowing the theory of Arm architecture.

Q. I only studied the C language and data structures. Can I still take this course?

Yes, you can. You don't need any special pre-knowledge to take this course. The following attitude may be more important than pre-knowledge.

  • Effort to attend lectures consistently
  • Training to think and ponder when hearing something you don't know well
  • The habit of constant review

However, if you already have some knowledge of operating systems or RTOS, it may be helpful to understand this lecture.

Recommended for
these people

Who is this course right for?

  • Junior developer who wants to develop capabilities in the system software field, including system semiconductors (fabless) and electric vehicle fields (autonomous driving, infotainment)

  • Developer from another field seeking system software career.

  • A job seeker who wants to develop system software in the system semiconductor (fabless) and electric vehicle fields.

  • Undergraduate student aiming for graduate studies in system software (memory, file system, operating system)

  • System software developer (system semiconductor, electric vehicle) interested in practical debugging methods leveraging Arm architecture features.

  • A system software developer who wants to know how Armv8-A-based Arm processors operate in system semiconductors

  • A graduating student preparing a graduation project on an Arm-based system.

  • Graduate student working on a lab project in an Arm processor environment

Need to know before starting?

  • Computer Architecture

  • Operating System

Hello
This is

5,429

Learners

148

Reviews

84

Answers

4.9

Rating

21

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

165 lectures ∙ (22hr 9min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

21 reviews

5.0

21 reviews

  • rousalome6394님의 프로필 이미지
    rousalome6394

    Reviews 4

    Average Rating 5.0

    5

    31% enrolled

    After listening to the lecture, my head feels clearer and something feels like it has lifted. It is amazing that the main concepts of ARM, which had been vague until then, have been clearly organized. I was a little surprised at how much I have changed after listening to the lecture. Every time I read the ARM spec, it felt new, but now I can read the ARM spec document fluently. I also recommended it to my fellow developers because the content was immediately applicable to my project. I am glad to have listened to the life lecture and I hope more lectures are uploaded. Thank you so much for the great and informative lecture.

    • austinkim
      Instructor

      Thank you for your good evaluation and encouragement. If you have any questions, please leave them in Q/A at any time. I will continue to do my best to make sure that you "really listened to my lectures" in the future.

  • mikeseohyungjin5975님의 프로필 이미지
    mikeseohyungjin5975

    Reviews 3

    Average Rating 5.0

    5

    7% enrolled

    Starting from ARM history, ARM instructions, registers, exception levels, I am grateful for the very detailed and in-depth explanation of the essential basics of understanding ARM architecture! I have never seen a book with this kind of content, at least in Korea. I would like to recommend this book to anyone who is working on Linux kernel-related projects or is interested in ARM!

    • austinkim
      Instructor

      Thank you for your good evaluation and encouragement. If you have any questions, please leave them in Q/A at any time. I will continue to do my best to make sure that you "really listened to my lectures" in the future.

  • grapesgun0624님의 프로필 이미지
    grapesgun0624

    Reviews 4

    Average Rating 5.0

    5

    100% enrolled

    By learning ARM architecture through practical examples such as TRACE32, Linux kernel source, and XEN hypervisor source, the theories stayed in my head longer and I was able to watch the lectures with interest. I want to watch the third lecture soon, and I hope that there will be a practical lecture that covers not only theories but also actual programming. Thank you for the great lecture.

    • austinkim
      Instructor

      Thank you for your good evaluation. I expect it will be very helpful for practical work, especially since it contains many practical examples that can be used in various fields of system software. I plan to produce a lecture that proceeds with practical work later. Please note that the third lecture will be published in early January. Thank you. ^^

  • miraelim7446님의 프로필 이미지
    miraelim7446

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    • dlrbcnvk님의 프로필 이미지
      dlrbcnvk

      Reviews 17

      Average Rating 4.9

      5

      30% enrolled

      $102.30

      austinkim's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!