강의

멘토링

로드맵

Hardware

/

Embedded IoT

Tổng quan về Kiến trúc Armv7-A dành cho Nhà phát triển mới vào nghề (Bài giảng trực tiếp từ tác giả)

Nền tảng cơ bản của phần mềm hệ thống, tác giả của cuốn sách "Cấu trúc và nguyên lý của kiến trúc Arm để phát triển phần mềm hệ thống" sẽ giúp bạn nắm bắt được cốt lõi của kiến trúc Arm mới nhất (Armv7-A)!

34 học viên đang tham gia khóa học này

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

Dịch cái này sang tiếng Việt

  • Đặc điểm của kiến trúc Arm và bộ xử lý Arm

  • Xử lý thanh ghi và lệnh hợp ngữ

  • Các ngăn xếp phần mềm chạy theo từng cấp độ ngoại lệ (Exception) và chế độ bộ xử lý

  • Các loại ngoại lệ (Exception) và cách thức hoạt động

  • AAPCS (Quy ước gọi Arm), một quy ước cho việc gọi chương trình con.

  • Khái niệm về Non-secure World và Secure World cấu thành nên TrustZone

  • Nguyên lý hoạt động của rào cản, bộ nhớ đệm và hệ thống bộ nhớ ảo

<Thông báo>

Lộ trình bài giảng trực tiếp của tác giả về kiến ​​trúc Arm

Bài giảng này <Armv7-A Architecture for New Developers (Bài giảng trực tiếp của tác giả)> là một lộ trình 'Arm - khóa học cơ bản dành cho lập trình viên phần mềm hệ thống' Bài giảng này được bao gồm trong .

Nếu bạn muốn tìm hiểu kiến ​​trúc Arm (Armv8-A, Armv7-A) một cách có hệ thống, chúng tôi khuyên bạn nên sử dụng lộ trình (giảm giá 30% cho tất cả các bài giảng). Để tham khảo, lộ trình kiến ​​trúc Arm (bài giảng đầy đủ của tác giả) là Khóa học cơ bản Khóa học nâng cao Nó bao gồm hai phần.

Trong phần mềm hệ thống mới nhất
Kiến trúc Arm quan trọng nhất

CPU chạy trên hầu hết các thiết bị khác ngoài máy tính để bàn là bộ xử lý Arm. Trong một thời gian dài, kiến ​​trúc Arm đã là chủ đề bắt buộc phải học đối với các nhà phát triển nhúng. Kiến trúc Arm phổ biến có thể được phân loại thành kiến ​​trúc Armv7-A và Armv8-A. Trong số đó , bộ xử lý Arm (Cortex-A9, Cortex-A15) dựa trên 32 bit (Armv7-A) vẫn được sử dụng trong nhiều nhóm sản phẩm đa dạng (TV kỹ thuật số, thiết bị IoT, xe điện - lái xe tự động, tin học viễn thông) .

Nếu bạn mới làm quen với kiến ​​trúc Armv7 ?

Nếu bạn là người mới bắt đầu học kiến ​​trúc Arm, bạn có thể cảm thấy choáng ngợp trước khối lượng tài liệu khổng lồ. Ngoài ra, người tìm việc hoặc lập trình viên mới vào nghề thường phải chuẩn bị cho các cuộc phỏng vấn kỹ thuật một cách nhanh chóng, trong vòng một hoặc hai tuần. Khóa học này có chương trình giảng dạy tối ưu được thiết kế để giúp người mới bắt đầu học kiến ​​trúc Arm học các khái niệm cốt lõi trong thời gian ngắn .

Tất nhiên, quá trình học sâu rất quan trọng để tìm hiểu kiến ​​trúc Arm một cách có hệ thống . Thực ra, tôi đã viết Wow, toàn bộ bài giảng của khóa học bên dưới (tổng cộng 60 giờ) đã được nhiều sinh viên lựa chọn.

🔹 Nếu bạn muốn học một cách có hệ thống, hãy chú ý theo dõi các bài giảng dưới đây!

Học sinh mục tiêu 💁‍♂

Bài giảng này - Bài giảng Tổng quan về kiến ​​trúc Armv7-A được tạo ra dành cho những học viên dự kiến ​​sau đây.

Người tìm việc trong lĩnh vực phần mềm hệ thống cần chuẩn bị cho buổi phỏng vấn kỹ thuật liên quan đến kiến ​​trúc Armv7-A trong thời gian ngắn

Các nhà phát triển mới và cấp cơ sở muốn nhanh chóng tìm hiểu nội dung cốt lõi của Armv7-A

Quản trị viên phần mềm hệ thống muốn hiểu các tính năng cốt lõi của Armv7-A và quản lý các dự án.

Điểm khác biệt của bài giảng

1⃣ Tóm tắt các tính năng chính của kiến ​​trúc Armv7-A có thể xuất hiện trong các cuộc phỏng vấn kỹ thuật

Trong các cuộc phỏng vấn kỹ thuật dành cho các nhà phát triển phần mềm hệ thống, rất có thể các câu hỏi về kiến ​​trúc Armv7-A sẽ được hỏi. Hầu hết các nhà phát triển phần mềm hệ thống Linux trong nước (không có nhà máy, phát triển nhúng) đều chỉ định kiến ​​trúc Arm là yêu cầu bắt buộc. Bạn có ít thời gian để chuẩn bị cho buổi phỏng vấn, nhưng gánh nặng phân tích các tài liệu thông số kỹ thuật đồ sộ của Arm lại rất lớn. Bằng cách tham gia khóa học này, bạn sẽ có thể nhanh chóng hiểu được các khái niệm cốt lõi tạo nên kiến ​​trúc Armv7-A.

2⃣ Tóm tắt những điều bạn cần biết trong phát triển tại chỗ

Nếu bạn đang làm việc trên một dự án kinh doanh, bạn cần phải hiểu rõ về kiến ​​trúc Arm. Nếu bạn không biết về kiến ​​trúc Arm, sẽ rất khó để tiến hành phát triển, cho dù bạn đang đưa nó vào sử dụng hay gỡ lỗi nó.

Các tính năng tạo nên kiến ​​trúc Armv7-A rất đa dạng. Tài liệu tham khảo liên quan dài hơn 1000 trang và rất khó để biết nội dung nào đang được sử dụng trong các dự án thực tế. Đây là bản tóm tắt hay về các tính năng thực tế của kiến ​​trúc Armv7-A mà các nhà phát triển mới cần biết.

3⃣ Giới thiệu về các nghiên cứu tình huống khác nhau

Chúng tôi sẽ đề cập đến cốt lõi của kiến ​​trúc Arm và cách tiến hành công việc phát triển trong các dự án thực tế. Chúng tôi cũng giải thích nhiều nghiên cứu điển hình (vấn đề thực tế của dự án) về cách áp dụng những kiến ​​thức đã học vào các dự án thực tế. Chúng tôi cũng đề cập đến hạt nhân Linux và bộ nạp khởi động triển khai các tính năng chính của kiến ​​trúc Arm.


Nếu bạn hoàn thành khóa học này, bạn sẽ có thể trở thành một nhà phát triển phần mềm hệ thống nâng cao.

Chúng tôi mong muốn bạn thăng tiến trong sự nghiệp với mức lương và vị trí cao hơn.

Tìm hiểu về những điều này 📕

Bài viết này giới thiệu về bộ xử lý Arm đồng thời giải thích quá trình phát triển chất bán dẫn hệ thống. Ngoài ra, bài viết còn giới thiệu những tính năng cơ bản tạo nên kiến ​​trúc Armv7-A.

Mô tả cấu trúc của các thanh ghi và cung cấp lời giải thích dễ hiểu về cách các thanh ghi được tổ chức trong kiến ​​trúc Armv7-A.

Chúng tôi sẽ trình bày chi tiết về thanh ghi CPSR và thanh ghi SPSR, đây là những thanh ghi cốt lõi tạo nên kiến ​​trúc Armv7-A. Sau đây là lời giải thích dễ hiểu về các trường tạo nên mỗi thanh ghi.

Chúng tôi sẽ giải thích cấu trúc cơ bản của các thanh ghi đa năng theo cách dễ hiểu khi thực hành với chương trình TRACE32.

Mối quan hệ giữa các giá trị của thanh ghi CPSR và chế độ bộ xử lý được giải thích cụ thể thông qua gỡ lỗi TRACE32.

Giải thích lý do tại sao bạn cần phải biết rõ hướng dẫn lắp ráp bằng nhiều ví dụ khác nhau (bootloader). Ngoài ra, tài liệu này còn giải thích cách sử dụng hướng dẫn lắp ráp trong các dự án thực tế.

Phân tích định dạng cơ bản và các ví dụ về lệnh lắp ráp được xác định trong kiến ​​trúc Armv7-A.

Chúng tôi sẽ phân tích chi tiết các hướng dẫn lắp ráp theo nhiều cách khác nhau và giải thích cách thức hoạt động của từng hướng dẫn lắp ráp một cách dễ hiểu.

Giải thích chi tiết về cách hoạt động của hướng dẫn lắp ráp trong khi gỡ lỗi trực tiếp bằng chương trình TRACE32.

Giới thiệu chế độ bộ xử lý, một phần quan trọng của kiến ​​trúc Armv7-A. Giải thích khái niệm về Mức đặc quyền liên quan đến chế độ bộ xử lý theo cách cụ thể và dễ hiểu.

Mô tả các tính năng của từng chế độ bộ xử lý được Armv7-A hỗ trợ và bao gồm chế độ Người dùng. Nó mô tả cụ thể phần mềm nào thực sự đang chạy ở chế độ Người dùng.

Phần này trình bày chi tiết về chế độ Giám sát mà RTOS hoặc hạt nhân Linux chạy. Giải thích cụ thể cách sử dụng Supervisor trong các dự án thực tế.

Chúng tôi giải thích cách thức hoạt động cơ bản của ngoại lệ và xem xét bảng vectơ ngoại lệ được định nghĩa trong Armv7-A.

Phần này cung cấp giải thích chi tiết từng bước về cách xử lý ngoại lệ trong Armv7-A.

Chúng tôi sẽ phân tích chi tiết cách xử lý các ngoại lệ thực tế trong phần mềm. Tài liệu này trình bày chi tiết các hướng dẫn lắp ráp có liên quan và bảng vectơ ngoại lệ.

Giải thích cách xử lý ngoại lệ ngắt IRQ trong Armv7-A theo góc độ phần mềm.

Thông qua thực hành gỡ lỗi với chương trình TRACE32, chúng tôi sẽ giải thích một cách dễ hiểu về cách ngoại lệ được kích hoạt khi thực hiện lệnh SVC.

Chúng tôi sẽ giải thích chi tiết nguyên lý hoạt động của ngoại lệ này bằng cách thực hành ngoại lệ Undefined Instruction trực tiếp với chương trình TRACE32.

Giới thiệu lý do tại sao bạn nên tìm hiểu Chuẩn gọi thủ tục Arm (AAPCS), một quy ước để phân nhánh thành các chương trình con như hàm. Ngoài ra, tài liệu còn giải thích các nguyên tắc hoạt động cơ bản một cách dễ hiểu.

Giới thiệu các sổ đăng ký liên quan đến AAPCS. Mô tả những thanh ghi nào được sử dụng để lưu trữ các đối số và trả về các giá trị được truyền vào một hàm.

Nguyên lý hoạt động của AAPCS được giải thích theo cách dễ hiểu bằng cách thực hành các lệnh BL, B và BLX trực tiếp với chương trình TRACE32.

Giải thích dễ hiểu về các khái niệm cốt lõi (thế giới không an toàn, thế giới an toàn) và luồng thực thi của TrustZone.

Giải thích chi tiết về cách lệnh SMC, cốt lõi của TrustZone, hoạt động.

Giải thích dễ hiểu về các khái niệm cơ bản của mô hình bộ nhớ và bộ nhớ bình thường là gì.


Phần này trình bày chi tiết khái niệm về sắp xếp lại bộ nhớ và các rào cản bộ nhớ do Armv7-A cung cấp.

Mô tả các thành phần tạo nên hệ thống bộ nhớ ảo và luồng thực thi thông qua đó các địa chỉ ảo được xử lý.

Dựa trên kinh nghiệm viết sách và giảng bài của tôi
Sâu sắc và chi tiết hơn bất kỳ ai khác!

Chưa từng có trong lĩnh vực phần mềm hệ thống trong nước! Tôi là tác giả của các cuốn sách 'Arm Architecture (Armv8-A, Armv7-A)' và 'Linux Kernel' . Ông cũng là một nhà phát triển có hiểu biết sâu sắc nhất về các xu hướng phần mềm hệ thống mới nhất (xe điện, hệ thống bán dẫn - phần mềm hệ thống) và là một nhà giáo dục 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.

  • Tác giả của 'Cấu trúc và nguyên tắc của kiến ​​trúc Arm để phát triển phần mềm hệ thống' ( 2024, Giải thưởng sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc )

  • Tác giả của 'Learning the Structure and Principles of the Linux Kernel through Debugging' ( Giải thưởng Sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc năm 2021 )

  • 'Khóa học dành cho lập trình viên: Chuyên gia về hệ thống và hạt nhân Linux' Giảng viên chính (buổi 1 và 2)


  • Giảng viên nội bộ về 'Linux Kernel' và 'Armv8 Architecture' của LG Electronics ( bao gồm các nhà phát triển trong và ngoài nước ) - (2020~2024)

Tôi có thể tự tin khẳng định rằng tôi là nhà giáo dục có thể giải thích các tính năng chính của kiến ​​trúc Armv7-A tốt hơn bất kỳ ai khác trên cả nước.

Đánh giá khóa học sống động được để lại bởi học viên

<Cấu trúc và nguyên tắc của kiến ​​trúc Arm cho phát triển phần mềm hệ thống - Phần 1/2 Bài giảng của tác giả>

Những điều cần lưu ý trước khi tham gia lớp học

Kiến thức và ghi chú của người chơi

  • Bài giảng này có thể được theo dõi mà không cần bất kỳ kiến ​​thức nào trước đó .

  • Biết được cấu trúc của hệ điều hành và máy tính sẽ giúp bạn hiểu bài giảng.

  • Trong bài giảng này, chúng tôi giả định rằng bạn biết ngữ pháp cơ bản của ngôn ngữ C và giới thiệu cũng như giải thích các mã ví dụ.

  • Chương trình TRACE32 được sử dụng trong bài giảng này (thực hành gỡ lỗi) không được cung cấp.

    Nếu bạn muốn tải xuống chương trình thực hành giáo dục TRACE32 và hướng dẫn gỡ lỗi chi tiết, hãy tham khảo bài giảng của tác giả về cấu trúc và nguyên tắc của kiến ​​trúc Arm để phát triển phần mềm hệ thống phân tán - Phần 1/2.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Tôi là một nhà phát triển trẻ muốn phát triển các kỹ năng của mình trong lĩnh vực phần mềm hệ thống, bao gồm chất bán dẫn hệ thống (fabless) và lĩnh vực xe điện (lái xe tự động, hệ thống thông tin giải trí).

  • Chuyển đổi sự nghiệp sang lĩnh vực phần mềm hệ thống từ một nhà phát triển trong một lĩnh vực khác

  • Tôi là một nhà phát triển phần mềm hệ thống (bán dẫn hệ thống, xe điện) và muốn biết cách gỡ lỗi trong thực tế bằng cách tận dụng các tính năng của kiến trúc Arm.

  • Sinh viên đại học có mục tiêu học lên cao học trong lĩnh vực phần mềm hệ thống (bộ nhớ, hệ thống tập tin, hệ điều hành).

  • Tôi là một sinh viên mới tốt nghiệp muốn phát triển phần mềm hệ thống trong các lĩnh vực bán dẫn hệ thống (fabless) và xe điện.

Cần biết trước khi bắt đầu?

  • Vi xử lý

  • CPU

  • nhúng

  • Ngôn ngữ C

  • Hệ điều hành

  • Kiến trúc máy tính

Xin chào
Đây là

5,781

Học viên

173

Đánh giá

89

Trả lời

4.9

Xếp hạng

22

Các khóa học

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (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

Chương trình giảng dạy

Tất cả

75 bài giảng ∙ (9giờ 17phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

1.163.886 ₫

Khóa học khác của austinkim

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!