강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Kiến trúc Arm: TrustZone [Bài giảng trực tiếp của tác giả phần 3-1]

Tác giả của "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ẽ trình bày một cách chuẩn xác về TrustZone, nền tảng của nền tảng phần mềm hệ thống và cốt lõi của kiến trúc Arm mới nhất (Armv8-A, Armv7-A)!

(4.4) 12 đánh giá

145 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • austinkim
ARM Architecture
ARM Architecture
armv8
armv8
armv7
armv7
trusted-execution-environment
trusted-execution-environment
assembly-language
assembly-language
ARM Architecture
ARM Architecture
armv8
armv8
armv7
armv7
trusted-execution-environment
trusted-execution-environment
assembly-language
assembly-language

Bạn sẽ nhận được điều này sau khi học.

  • Có thể nắm bắt nguyên lý hoạt động cơ bản của Trustzone trong kiến trúc Arm (Armv8-A, Armv7-A).

  • Bạn có thể biết cách Trustzone của kiến trúc Arm được dùng trong dự án thực tế.

  • Tổng quan, có thể nắm bắt luồng thực thi và cấu trúc liên quan đến Trustzone.

  • Trong phỏng vấn, tôi có thể trả lời tốt các câu hỏi liên quan đến Trustzone.

1. Phát hành coupon giảm giá 30% khi vượt qua 300 người

Để kỷ niệm việc vượt qua 300 học viên (phần 1,2), chúng tôi phát hành coupon giảm giá 30%. Cảm ơn các bạn. Chỉ dành cho 100 người đầu tiên.

2. Hướng dẫn lộ trình 🎯

Bài gi강 nàyLộ trình'Arm cho nhà phát triển phần mềm hệ thống - khóa học nâng cao'được bao gồm trong khóa học.


Những bạn muốn học kiến trúc Arm (Armv8-A, Armv7-A) một cách có hệ thống nên sử dụng lộ trình học (giảm giá 30% toàn bộ khóa học). Tham khảo, lộ trình kiến trúc Arm (toàn bộ khóa học trực tiếp từ tác giả) làBasic CourseKhóa học Nâng caoĐược cấu thành từ 2 phần.


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

Không chỉ smartphone mà cả SoC bán dẫn hệ thống cho AI, ô tô điện Automotive (tự lái, infotainment) và bộ xử lý Arm được sử dụng trong máy chủ cloud cũng như MacBook đều là bộ xử lý Cortex-A 64-bit dựa trên Armv8-A (Cortex-A53, Cortex-A57, Cortex-A72, v.v...). Có thể nói rằng kiến thức nền tảng được yêu cầu nhiều nhất trong ngành phần mềm hệ thống hiện tại chính là kiến trúc Armv8-A.


Các nhà phát triển phần mềm hệ thống, lập trình viên hệ thống nhúng (BSP) chú ý! 🙋‍♂

Nhưng trong các tính năng chính tạo nên kiến trúc Arm - quy tắc điều khiển bộ xử lý Arm bằng phần mềm, thì tính năng (Feature) được sử dụng nhiều nhất trong các dự án thực tế là gì? Chính là 'Trustzone'.

Đây cũng là câu hỏi thường xuất hiện trong phỏng vấn tuyển dụng nhà phát triển phần mềm hệ thống cho cả ứng viên có kinh nghiệm và ứng viên mới.


Cụ thể tại sao chúng ta cần học về Trustzone?

Thực tế, 'Trustzone' ban đầu được sử dụng như một tính năng mở rộng bảo mật, nhưng giờ đây hầu hết các bộ xử lý Arm đều kích hoạt 'Trustzone' làm mặc định để sử dụng. Các bộ xử lý Arm được sử dụng trong smartphone cũng như hệ thống infotainment và lái xe tự động của xe điện đều có Trustzone được kích hoạt.

Để hiểu toàn bộ cấu trúc của hệ thống, 'Trustzone' là một tính năng bắt buộc phải hiểu.



Khóa học trực tiếp từ tác giả với 12 năm kinh nghiệm làm kỹ sư hệ thống!

Tôi đã viết cuốn sách 'Cấu trúc và Nguyên lý của Kiến trúc Arm cho Phát triển Phần mềm Hệ thống' (chương 14) có đề cập chi tiết về 'Trustzone'. Tôi hy vọng bạn sẽ học tập sâu sắc về 'Trustzone' thông qua bài giảng trực tiếp của tác giả!

Tôi khuyên dùng cho những người như thế này

✅ Nhà phát triển phần mềm hệ thống muốn hiểu nguyên lý hoạt động của TrustZone trong kiến trúc Arm

✅ Nhà phát triển muốn biết các chức năng chính của TrustZone được sử dụng như thế nào trong các dự án thực tế

✅ Nhà phát triển bảo mật phát triển giải pháp bảo mật sử dụng TrustZone của Arm

Sau khi hoàn thành khóa học

  • Bạn có thể hiểu được các khái niệm cốt lõi của TrustZone.

  • Thông qua phân tích mã nguồn liên quan, có thể biết được TrustZone được triển khai theo cách thức nào.

  • Các nhà sản xuất chipset có thể biết được 5 tính năng cần thiết để thiết kế phần cứng sử dụng TrustZone.

  • Bạn có thể tự tin giải thích về Trust Zone trong buổi phỏng vấn.

Chúng ta sẽ học những nội dung như thế này

Xem xét chi tiết tài liệu đặc tả Arm và giải thích các thành phần cấu tạo của TrustZone.

Giải thích luồng thực thi của Non-secure World và Secure World trong kiến trúc Armv7 cùng với các lệnh assembly. Trong kiến trúc Armv7 với TrustZone, hệ thống được chia thành hai thế giới: **Non-secure World (Thế giới không bảo mật):** - Chạy hệ điều hành thông thường và ứng dụng người dùng - Có quyền truy cập hạn chế vào tài nguyên hệ thống - Không thể trực tiếp truy cập vào Secure World **Secure World (Thế giới bảo mật):** - Chạy Trusted OS và Trusted Applications - Có quyền truy cập đầy đủ vào tài nguyên hệ thống - Bảo vệ dữ liệu và mã nhạy cảm **Luồng chuyển đổi

Các tài liệu hoặc hội thảo khác liên quan đến kiến trúc Arm chỉ giải thích tập trung vào các khái niệm cơ bản của TrustZone.
Khóa học này khác biệt. Chúng tôi cùng đề cập đến nội dung có thể được áp dụng ngay vào phát triển thực tế trong công việc!


Chúng ta sẽ cùng nhau xem xét chi tiết bảng vector exception của kiến trúc Armv7 và mã handler liên quan đến chế độ monitor.

Giải thích chi tiết luồng thực thi của TrustZone trong kiến trúc Armv8 cùng với các lệnh assembly. Trong kiến trúc Armv8, TrustZone tạo ra hai thế giới thực thi riêng biệt: Secure World và Non-secure World. Luồng thực thi chuyển đổi giữa hai thế giới này thông qua các cơ chế bảo mật đặc biệt. **1. Khởi tạo hệ thống và Boot Process:** ```assembly // Boot ROM - Secure World (EL3) mrs x0, CurrentEL // Đọc Exception Level hiện tại cmp x0, #0xc // Kiểm tra EL3 (0xc = EL3) b.ne boot_error // Nếu không

Trong kiến trúc Armv8, chúng ta sẽ cùng tìm hiểu về exception handler, exception vector table và luồng thực thi của TrustZone. Đồng thời, chúng ta có thể học về nguyên lý hoạt động của TrustZone thông qua việc phân tích mã nguồn Arm-Trusted Firmware.

Dựa trên kinh nghiệm viết sách/giảng dạy
Sâu sắc và chi tiết hơn ai hết!

Trong lĩnh vực phần mềm hệ thống tại Hàn Quốc, đây là tác giả duy nhất! đã viết sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)' và 'Linux Kernel'. Đồng thời cũng là nhà phát triển đang làm việc hiểu rõ nhất về các xu hướng phần mềm hệ thống mới nhất (xe điện, chất bán dẫn hệ thống - phần mềm hệ thống), và là 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 lý kiến trúc Arm cho 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)

  • 'Học cấu trúc và nguyên lý của Linux kernel thông qua debugging' (2021, 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ả

  • 'Programmers Dev Course: Chuyên gia hệ thống Linux và kernel' Giảng viên chính

  • Tháng 6 năm 2022, Hội nghị Khoa học Máy tính Tổng hợp Hàn Quốc (KCC2022) - Bài thuyết trình hướng dẫn [Chinh phục nhân Linux bằng ftrace]

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


Tôi có thể tự tin nói rằng mình là một giáo viên có thể giải thích rõ ràng các tính năng chính tạo nên kiến trúc Arm (Armv8-A, Armv7-A) tốt hơn bất kỳ ai khác trong nước.

Đánh giá khóa học chân thực từ học viên


Những lưu ý trước khi học

Kiến thức tiên quyết và lưu ý

  • Tôi đã cấu trúc khóa học này để bạn có thể hiểu được TrustZone chỉ bằng cách chăm chỉ nghe giảng.

  • Trước khi học về TrustZone của Arm, bạn nên học các khái niệm cơ bản của kiến trúc Arm (chế độ hoạt động, mức exception) sẽ rất tốt.

  • Để hiểu luồng thực thi của TrustZone, bạn nên biết về khái niệm trap (exception) và interrupt.

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

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

  • Một nhà phát triển phần mềm hệ thống muốn nắm bắt nguyên lý hoạt động của TrustZone trên kiến trúc Arm.

  • Nhà phát triển bảo mật phát triển giải pháp bảo mật sử dụng TrustZone của Arm.

  • Nhà phát triển muốn biết cách các tính năng chính của TrustZone được áp dụng vào dự án thực tế.

  • Lập trình viên junior mong muốn phát triển năng lực trong lĩnh vực phần mềm hệ thống, bao gồm bán dẫn hệ thống (fabless) và lĩnh vực ô tô điện (tự lái, infotainment).

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

  • Nhà phát triển phần mềm hệ thống (bán dẫn hệ thống, xe điện) 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.

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

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

  • Hệ điều hành

  • Ngôn ngữ C

  • nhúng

  • CPU

Xin chào
Đây là

6,227

Học viên

233

Đánh giá

93

Trả lời

4.9

Xếp hạng

22

Các khóa học

Tác giả toàn cầu & Nhà phát triển phần mềm hệ thống Linux (Kiến trúc Arm, RISC-V)

Là tác giả vô tiền khoáng hậu trong lĩnh vực phần mềm hệ thống tại Hàn Quốc, người đã viết các cuốn sách về 'Kiến trúc Arm (Armv8-A, Armv7-A)' và 'Linux Kernel' (cả hai cuốn sách đều được Viện Hàn lâm Khoa học Quốc gia Hàn Quốc bình chọn là Sách ưu tú), đồng thời là tác giả toàn cầu đầu tiên tại Hàn Quốc viết cuốn sách tiếng Anh "Reverse Engineering Armv8-A Systems" thông qua nhà xuất bản nước ngoài (Packt). Trên hết, ông là một nhà phát triển đang làm việc thực tế, người nắm rõ nhất các xu hướng phần mềm hệ thống mới nhất (xe điện, bán dẫn hệ thống - phần mềm hệ thống). Ngoài ra, ông còn là một nhà giáo dục hoạt động 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ả cuốn sách (tiếng Anh) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Nhà xuất bản Packt), (Packt Publishing)

  • Tác giả cuốn 'Cấu trúc và nguyên lý của kiến trúc Arm dành cho phát triển phần mềm hệ thống' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2024))

  • Tác giả cuốn sách 'Cấu trúc và nguyên lý của nhân Linux học qua việc gỡ lỗi' (Giải thưởng Sách hay của Viện Hàn lâm Khoa học Quốc gia Hàn Quốc năm 2021))

  • Giảng viên chính của 'Programmers Dev Course: Chuyên gia Hệ thống Linux và Kernel'

  • Tháng 6 năm 2022, Hội nghị Tổng hợp Khoa học Máy tính Hàn Quốc (KCC2022) - Thuyết trình hướng dẫn [Chinh phục Linux Kernel bằng ftrace]

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

Tôi có thể tự tin khẳng định rằng mình là một giảng viên có khả năng giải thích về Linux Kernel và kiến trúc Arm (Armv8-A, Armv7-A) tốt hơn bất kỳ ai khác tại Hàn Quốc.

Liên hệ giảng dạy: austindh.kim@gmail.com

Lộ trình chính 🎯

'Arm dành cho nhà phát triển phần mềm hệ thống - khóa học cơ bản'

'Arm dành cho nhà phát triển phần mềm hệ thống - khóa học nâng cao'

Linux kernel dành cho nhà phát triển phần mềm hệ thống - khóa học cơ bản

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

Tất cả

25 bài giảng ∙ (3giờ 41phút)

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

Đánh giá

Tất cả

12 đánh giá

4.4

12 đánh giá

  • mist14093016님의 프로필 이미지
    mist14093016

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    32% đã tham gia

    • heecheolsong님의 프로필 이미지
      heecheolsong

      Đánh giá 19

      Đánh giá trung bình 5.0

      5

      32% đã tham gia

      • seogaewon7688님의 프로필 이미지
        seogaewon7688

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        32% đã tham gia

        • dlrbcnvk님의 프로필 이미지
          dlrbcnvk

          Đánh giá 19

          Đánh giá trung bình 4.9

          5

          32% đã tham gia

          • 16267551265님의 프로필 이미지
            16267551265

            Đánh giá 10

            Đánh giá trung bình 4.9

            5

            32% đã tham gia

            705.360 ₫

            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!