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

/

Embedded IoT

Armv7-A Architecture Overview for New Developers (Taught by the Author)

The basics of system software, the core of the latest Arm architecture (Armv7-A), are properly captured by the author of "Structure and Principles of Arm Architecture for System Software Development"!

31 learners are taking this course

  • austinkim
기술면접
입문자
임베디드리눅스
취업준비
ARM Architecture
armv7
cpu-architecture

What you will learn!

  • Characteristics of Arm Architecture and Arm Processors

  • Processing of Registers and Assembly Instructions

  • Software stacks that run at each exception level and processor mode

  • Types and Operation of Exceptions

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

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

  • The Operating Principles of Barriers, Caches, and Virtual Memory Systems

<Notice>

Arm Architecture Full Author Direct Lecture Roadmap

This lecture <Armv7-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.

In the latest system software
The most important Arm architecture

The CPUs that run on most devices, except desktop computers, are Arm processors. For a long time, Arm architecture has been a must-learn topic for embedded developers. The popular Arm architectures can be broadly classified into Armv7-A and Armv8-A architectures. Among them , the 32-bit-based (Armv7-A) Arm processor (Cortex-A9, Cortex-A15) is still used in many diverse product lines (digital TV, IoT devices, electric vehicles-autonomous driving, telematics) .

If you are new to the Armv7 architecture ?

If you are a learner who is learning Arm architecture for the first time, you may feel overwhelmed by the vast amount of material. In addition, if you are a job seeker or a junior developer, you often have to prepare for a technical interview within 1-2 weeks. This course has organized the optimal curriculum so that beginners in Arm architecture can learn the core concepts in a short period of time .

Of course, a deep learning process is important to systematically learn the Arm architecture . In fact, I wrote Wow, the full course lecture below (total of 60 hours) has been chosen by many students.

🔹 If you want to learn systematically, pay attention to the lectures below!

Target students 💁‍♂

This lecture - Armv7-A Architecture Overview lecture has been created for the following expected students.

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

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

System software administrators who want to understand the core features of Armv7-A and manage projects.

Differentiating Points of the Lecture

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

In the technical interview of a system software developer, there is a high possibility that questions about the Armv7-A architecture will be asked. 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 Armv7-A architecture.

2⃣ A summary of what you need to know in on-site development

If you are 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 Armv7-A architecture are vast. The related reference documentation is over 1000 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 Armv7-A architecture that must be known are well summarized.

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 article introduces the Arm processor while explaining the process of developing system semiconductors. It also introduces the basic functions that make up the Armv7-A architecture.

Describes the structure of registers and provides an easy-to-understand explanation of how registers are organized in the Armv7-A architecture.

We will cover the CPSR register and SPSR register, which are the core registers that make up the Armv7-A architecture, in detail. We will explain the fields that make up each register in an easy-to-understand manner.

We will explain the basic structure of general-purpose registers in an easy-to-understand manner while practicing with the TRACE32 program.

The relationship between the values of the CPSR register and the processor mode is specifically explained through TRACE32 debugging.

Explains why you need to know assembly commands well with various examples (bootloader). Also explains how assembly commands are used in real projects.

Analyze the basic format and example instruction routines of assembly instructions defined in the Armv7-A architecture.

We will analyze assembly instructions in detail in various ways and explain how each assembly instruction works in an easy-to-understand manner.

Explains in detail how assembly instructions work while debugging directly with the TRACE32 program.

Introducing the core of the Armv7-A architecture, the processor mode. It explains the concept of privilege level related to the processor mode in a concrete and easy-to-understand manner.

Describes the features of each processor mode supported by Armv7-A and covers User mode. It specifically explains what software is actually running in User mode.

This article explains in detail the Supervisor mode in which the RTOS or Linux kernel runs. It also explains specifically how the Supervisor is utilized in real-world projects.

We explain the basic workings of exceptions and review the exception vector table defined in Armv7-A.

This section provides a detailed step-by-step explanation of how exceptions are handled in Armv7-A.

We will analyze in detail how actual exceptions are handled in software. We will explain in detail the relevant assembly instructions and exception vector table.

Explains how IRQ interrupt exceptions are handled in Armv7-A from a software perspective.

Through debugging practice with the TRACE32 program, we will explain in an easy-to-understand way how an exception is triggered when executing the SVC instruction.

We will explain the operating principles of the exception in detail by practicing the Undefined Instruction exception directly with the TRACE32 program.

Introduces why you should learn the Arm Procedure Call Standard (AAPCS), a convention for branching into subroutines like functions. Also explains the basic operating principles in an easy-to-understand manner.

Introduces registers related to AAPCS. Explains which registers are used to store arguments and return values passed to functions.

The operating principles of AAPCS are explained in an easy-to-understand way by practicing the BL, B, and BLX commands directly with the TRACE32 program.

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

Explains in detail how the SMC command, which is the core of TrustZone, works.

An easy-to-understand explanation of the basic concepts of memory models and what normal memory is.


This section details the concept of memory reordering and the memory barriers provided by Armv7-A.

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)


  • 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 Armv7-A architecture better than anyone else in the country.

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 codes.

  • The TRACE32 program used in this lecture (debugging practice) 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 looking to build expertise in system software, including system semiconductors (fabless) and the electric vehicle sector (autonomous driving, infotainment).

  • Developers in other fields looking to transition their careers to the system software field

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

  • An undergraduate student aiming to attend graduate school in the field of system software (memory, file systems, operating systems).

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

Need to know before starting?

  • Microprocessor

  • CPU

  • Embedded

  • C language

  • Operating System

  • Computer Architecture

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

75 lectures ∙ (9hr 17min)

Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

$42.90

austinkim's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!