강의

멘토링

커뮤니티

BEST
Hardware

/

Embedded IoT

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 - Phần 2 Giảng dạy trực tiếp của tác giả (Phiên bản 2024)

Những kiến thức cơ bản nhất của phần mềm hệ thống, những yếu tố cốt lõi của kiến trúc Arm mới nhất (Armv8-A, Armv7-A) sẽ được chính 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" giúp bạn nắm bắt một cách chuẩn xác!

(5.0) 13 đánh giá

255 học viên

저자 직강
이론 중심
armv8
armv7
Hardware Hacking
Embedded
ARM Architecture
cpu-architecture
cortex-a

Đánh giá từ những học viên đầu tiên

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

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

  • Có thể hiểu sâu sắc nguyên lý hoạt động chi tiết của ngoại lệ trong kiến trúc Arm (Armv8-A, Armv7-A).

  • Có thể hiểu rõ AAPCS được định nghĩa trong Armv7-A/Armv8-A.

  • Có thể hiểu cách debug sự cố memory abort bằng Exception và AAPCS.

📢 Thông báo trước khi học

Khóa học này là khóa học thứ hai tiếp nối sau 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 Phần 1. Để hiểu một cách trôi chảy, chúng tôi khuyến nghị bạn nên học tuần tự từ khóa học đầu tiên

0. Phát hành coupon giảm giá 30% khi vượt qua 300 học viên

Để 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.

1. Khóa học mới nhất được cập nhật năm 2024

Chúng tôi đã phát hiện và bổ sung các nội dung hữu ích về tính năng của kiến trúc Arm mới nhất có thể áp dụng ngay vào dự án thực tế thông qua khóa học dưới đây. (Bổ sung thêm 3 giờ 30 phút)

  • Nội dung debug chương trình TRACE32: Bạn có thể tải xuống chương trình mô phỏng TRACE32 dành cho giáo dục từ 'Tài liệu bài giảng Inflearn'. Bạn có thể trực tiếp sử dụng chương trình mô phỏng TRACE32 để thực hành theo quá trình debug (bao gồm cả lệnh assembly) được giải thích trong bài giảng.

  • Bài giảng thực hành debug: Exception Armv7-A (35 phút), Exception Armv8-A (2 giờ), AAPCS (60 phút)

  • Memory dump: Cung cấp 3 file để debug exception

Chúng tôi sẽ liên tục khám phá những nội dung hữu ích cho các học viên và cập nhật chương trình học.

2. Lộ trình học tập toàn diện về kiến trúc Arm do chính tác giả giảng dạy

Khóa học này là lộ trình'Arm cho nhà phát triển phần mềm hệ thống - khóa học cơ bản'được bao gồm trong khóa học.


Những ai muốn học kiến trúc Arm (Armv8-A, Armv7-A) một cách có hệ thống thì 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.

Tuy nhiên, bạn có cảm thấy kiến trúc Arm mới nhất Armv8-A và Armv7-A quá khó hiểu không?


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ú ý! 🙋‍♂

✅ Lĩnh vực phần mềm hệ thống bao gồm chất bán dẫn hệ thống, lĩnh vực xe điện (tự lái, infotainment) dành cho lập trình viên junior

Người chuẩn bị việc làm muốn làm việc trong lĩnh vực phát triển phần mềm hệ thống như bán dẫn hệ thống, xe điện

✅ Người mong muốn học 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)

✅ Dành cho các lập trình viên từ lĩnh vực khác muốn chuyển đổi sự nghiệp sang lĩnh vực phần mềm hệ thống

Nhiều người mong muốn trở thành nhà phát triển Linux embedded đều học về kiến trúc máy tính và hệ điều hành. Và họ cũng học lý thuyết CS ở một mức độ nhất định. Các nhà phát triển phần mềm hệ thống bán dẫn và xe điện đang nổi lên gần đây phân tích Linux device driver, RTOS hoặc bootloader. Nhưng chỉ với những điều đó thôi thì vẫn cảm thấy thiếu sót gì đó. Họ biết rằng để trở thành nhà phát triển phần mềm hệ thống chuyên nghiệp thì nhất định phải hiểu về kiến trúc Arm, nhưng ngay khi mở tài liệu đặc tả Arm ra thì lại nhận ra đây không phải con đường dễ dàng và việc tự học sẽ rất khó khăn.

Giải thích dễ hiểu về
những điều cốt lõi của kiến trúc Arm!

  • 1⃣ Có thể hiểu được lý thuyết cốt lõi về exception và quy ước gọi hàm AAPCS, những yếu tố then chốt nhất trong kiến trúc Arm.

  • 2⃣ Trải nghiệm lại các nội dung chính tạo nên kiến trúc Arm ở cấp độ code, giúp nâng cao đáng kể mức độ hiểu biết về kiến trúc Arm.

  • 3⃣ Có thể phát triển các chương trình hệ thống (driver, bootloader) đảm bảo độ ổn định và hiệu suất cao bằng cách tích cực tận dụng các tính năng đa dạng mà kiến trúc Arm hỗ trợ.

  • 4⃣ Bạn có thể tự hiểu các lý thuyết và trường hợp cần thiết để phát triển dự án thực tế.

Cốt lõi của phát triển phần mềm hệ thống có thể nói là CPU và kiến trúc máy tính. Chúng tôi đã giải thích một cách dễ hiểu lý thuyết cốt lõi về kiến trúc Arm mới nhất (Armv8-A, Armv7-A), bộ xử lý CPU được ngành IT cần nhất!

Lý do kiến trúc Arm khó học là vì chúng ta chỉ học kiến trúc Arm từ góc độ bộ xử lý phần cứng. Khóa học này sẽ giải thích cách các thành phần cấu thành kiến trúc Arm thực sự được sử dụng trong thực tế thông qua phân tích mã nguồn và giới thiệu các trường hợp cụ thể. Khóa học này sẽ đóng vai trò then chốt giúp bạn trở thành một nhà phát triển phần mềm hệ thống có thực lực.

Tác giả trực tiếp giảng dạy! Giải thích cụ thể
cả những nội dung không có trong sách.

Sách 『Cấu trúc và Nguyên lý của Kiến trúc Arm』(được chọn là 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 2024) không chỉ trình bày nội dung trong sách mà còn giải thích cụ thể các thực hành debug và các trường hợp đa dạng về kiến trúc Arm mà sách không đề cập đến.

  • ✅ 40%: Nội dung cốt lõi của cuốn sách

  • ✅ 40%: Nghiên cứu tình huống chính liên quan đến kiến trúc Arm, đánh giá mã nguồn

  • ✅ 20%: Thực hành debug - TRACE32

Nội dung bài giảng 📕

Giới thiệu về exception trong kiến trúc CPU là gì, và giải thích cách thức hoạt động cơ bản của exception thông qua việc xem xét đặc tả Arm.

Giải thích chi tiết lý do cần phải hiểu về exception của kiến trúc Arm trong các dự án thực tế.

Giải thích từng bước luồng thực thi exception trong kiến trúc Armv7 và phân tích chi tiết cách xử lý exception bằng phần mềm. ## 1. Tổng quan về Exception trong Armv7 Exception là các sự kiện làm gián đoạn luồng thực thi bình thường của processor, bao gồm: - Reset - Undefined Instruction - Software Interrupt (SWI) - Prefetch Abort - Data Abort - IRQ (Interrupt Request) - FIQ (Fast Interrupt Request) ## 2. Luồng thực thi Exception từng bước ### Bước 1: Phát hiện Exception - Processor phát hiện điều kiện exception - Kiểm tra mask bits trong CPSR để xác định exception có được phép hay không - Xác định loại exception và độ ưu tiên ### Bước 2: Lưu trữ Context hiện tại - Lưu địa chỉ return vào Link Register (LR) của mode exception - Sao chép CPSR hiện tại vào SPSR (Saved Program Status Register) của mode exception - Chuy

Armv7 kiến trúc xử lý memory abort - Mô tả chi tiết hoạt động xử lý Prefetch hoặc Data Abort. Giải thích luồng thực thi xử lý exception IRQ interrupt.

Trong kiến trúc Armv7, khi thực thi lệnh SVC sẽ kích hoạt exception supervisor call (software interrupt). Dưới đây là luồng thực thi của exception này: ## Luồng thực thi exception Supervisor Call ### 1. Kích hoạt Exception - Khi lệnh SVC được thực thi, processor sẽ tự động kích hoạt software interrupt - Exception này có độ ưu tiên cao và sẽ được xử lý ngay lập tức ### 2. Lưu trạng thái hiện tại - **Lưu Program Counter (PC)**: Địa chỉ lệnh tiếp theo sau SVC được lưu vào LR_svc (Link Register của chế độ Supervisor) - **Lưu CPSR**: Current Program Status Register được lưu vào SPSR_svc (Saved Program Status Register của chế độ Supervisor) - **Chuyển chế độ**: Processor chuyển từ chế độ hiện tại sang Supervisor mode ### 3. Thiết lập môi trường Supervisor - **Cập nhật CPSR**: - Bit mode được đặt thành 0b10011 (Supervisor mode) - IRQ và FIQ có thể bị disable tùy thuộc vào cấu hình - **Chuyển stack**: Sử dụng SP_svc (Stack Pointer của Supervisor mode) ### 4. Nhảy đến Exception Handler - PC được đặt thành địa chỉ SVC exception vector (thường là 0x00000008

Giải thích chi tiết bức tranh tổng thể về hoạt động thực tế gây ra các ngoại lệ Data Abort và Undefined Instruction.

Giới thiệu các đặc điểm của exception được định nghĩa trong kiến trúc Armv8. Giải thích các loại exception và hệ thống phân loại exception trong kiến trúc Armv8.

Giải thích luồng xử lý Synchronous exception trong kiến trúc Armv8.

Giải thích luồng thực thi xử lý interrupt theo từng giai đoạn trong kiến trúc Armv8 với bức tranh tổng thể. Trong quá trình này sẽ mô tả các thanh ghi được cập nhật và exception handler.

Giới thiệu bộ điều khiển ngắt và giải thích cấu trúc tổng thể của GIC.

Giải thích cấu trúc tổng thể của GIC theo bức tranh lớn và mô tả các tính năng chính theo từng phiên bản của GIC.

GIC에서 정의된 interrupt source và type을 giải thích và SMP(hệ thống đa lõi)에서 phương thức xử lý interrupt을 giải thích합니다.

Giải thích mô hình lập trình viên của GIC được thiết kế từ góc độ phát triển phần mềm và mô tả cấu trúc vật lý của GIC.

Giải thích cấu trúc của distributor và các system register được sử dụng để điều khiển distributor. Giải thích cấu trúc của CPU interface và các system register được sử dụng để điều khiển CPU interface.

Giải thích các khái niệm cốt lõi của IRQ và FIQ và mô tả chi tiết luồng thực thi.

Giải thích về routine xử lý GIC (GIC handler routine) điều khiển GIC bằng phần mềm (Linux kernel, XEN hypervisor).

Giới thiệu quy ước gọi hàm trong kiến trúc CPU và các chức năng chính cấu thành AAPCS.

Kiến trúc Armv7-A: Giải thích chi tiết cách thức hoạt động của lệnh PUSH và lệnh POP, là cốt lõi của AAPCS.

Kiến trúc Armv7-A: Giải thích chi tiết luồng thực thi của lệnh BL - cốt lõi của AAPCS và các lệnh assembly liên quan.

Kiến trúc Armv8-A: Giải thích chi tiết cách thức hoạt động của lệnh STP - cốt lõi của AAPCS và cách thức hoạt động của assembly BL.

Armv8-A: Giới thiệu cách giải quyết vấn đề trong dự án thực tế bằng cách sử dụng kiến thức liên quan đến AAPCS. Giải thích chi tiết các kỹ năng có thể ngăn ngừa stack overflow và stack corruption.



Con đường tắt để hiểu nguyên lý của Arm là
đọc và hiểu trực tiếp tài liệu đặc tả!

Đối với người mới bắt đầu, Arm không hề dễ dàng. Dù nội dung có hữu ích đến đâu cũng khó hiểu. Khóa học này được lên kế hoạch để mở ra con đường giúp bạn tiếp cận dễ dàng hơn với lý thuyết kiến trúc Arm khó hiểu.


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' (cả 2 cuốn sách đều được chọn là sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc), và là người đầu tiên tại Hàn Quốc viết sách "Reverse Engineering Armv8-A Systems" (tiếng Anh) thông qua nhà xuất bản nước ngoài (Packt), là một tác giả toàn cầu. Trên hết, đây là một nhà phát triển thực tế hiểu rõ nhất về 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). Đồng thời cũng 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.

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' tác giả sách (tiếng Anh), (nhà xuất bản Packt) - 2025

  • 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à nước ngoài) - (2020~2024)


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

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


Q&A 💬

Q. Để trở thành nhà phát triển phần mềm hệ thống, có nhất thiết phải học kiến trúc Arm không?

Vâng, nhất định phải học. CPU được sử dụng nhiều nhất trong ngành IT là bộ xử lý Arm. Các nhà phát triển phần mềm hệ thống lập trình để điều khiển phần cứng cần phải hiểu rõ về kiến trúc Arm để có thể giải quyết vấn đề trong nhiều trường hợp. Nếu không hiểu rõ về kiến trúc Arm, có khả năng chỉ có thể thực hiện những công việc cài đặt hệ thống đơn giản.

Q. Tôi không phải chuyên ngành, liệu có thể học kiến trúc Arm không?

Ngay cả những người không chuyên về lĩnh vực này cũng có thể hiểu đầy đủ các nguyên lý cơ bản của kiến trúc Arm nếu nghe kỹ nội dung của khóa học này. Trong số các beta reader của 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' cũng có nhiều người không chuyên. Ban đầu, việc đọc và hiểu ngay nội dung về kiến trúc Arm là khá khó khăn, nhưng sau khi đọc cuốn sách 2~3 lần, hầu hết đều hiểu được kiến trúc Arm. Khóa học này giải thích nội dung của cuốn sách một cách chi tiết và cụ thể hơn nênNếu bạn nghe khóa học nàyNgay cả những người không chuyên ngành cũng có thể hiểu rõ kiến trúc Arm.

Q. Tôi có cần phải học khóa học này để trở thành nhà phát triển phần mềm bảo mật không?

Nếu bạn muốn phát triển phần mềm như V3, thì lý thuyết về cpu-architecture là điều bắt buộc. Sau khi chuyển sang làm nhà phát triển kernel driver, bạn nhất định phải biết về kiến trúc CPU như kiến trúc Arm. Để học được cốt lõi của các kỹ thuật tấn công/phòng thủ bao gồm cả reversing, thì không biết lý thuyết về kiến trúc Arm sẽ khó có thể thử nghiệm.

Q. Tôi chỉ học C và cấu trúc dữ liệu thôi. Vậy tôi có thể nghe khóa học này không?

Vâng, có thể nghe được. Ngoài ra, nếu bạn có kiến thức về hệ điều hành hoặc RTOS thì sẽ giúp ích cho việc học khóa học một cách nhanh chóng. Tuy nhiên, khóa học này được hướng dẫn từng bước một cách cẩn thận để bạn có thể học mà không gặp khó khăn gì ngay cả khi không có kiến thức tiên quyết.

Thái độ như sau quan trọng hơn kiến thức nền tảng.

  • Nỗ lực kiên trì nghe giảng

  • Khi nghe những nội dung không rõ, hãy luyện tập suy nghĩ và cân nhắc

  • Thói quen ôn tập đều đặn

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

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

  • Lập trình viên junior 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 xe điện (lái tự động, thông tin giải trí).

  • Nhà phát triển từ lĩnh vực khác muốn chuyển nghề sang mảng phần mềm hệ thống.

  • Người tìm việc muốn phát triển phần mềm hệ thống cho bán dẫn hệ thống (fabless), ô tô điện.

  • Sinh viên đại học mong muốn học cao học về phần mềm hệ thống (bộ nhớ, hệ thống tệp, hệ điều hành)

  • Nhà phát triển phần mềm hệ thống (bán dẫn hệ thống, ô tô điện) quan tâm đến cách debug trong thực tế bằng cách khai thác 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

  • Bộ vi xử lý

Xin chào
Đây là

6,034

Học viên

204

Đá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ả

130 bài giảng ∙ (20giờ 37phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

13 đánh giá

5.0

13 đánh giá

  • 간절한개발자님의 프로필 이미지
    간절한개발자

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    51% đã tham gia

    시스템 소프트웨어 개발자로 ARM 프로세서를 알아야 해서 스펙 문서를 보고 구글링을 했습니다. 생소한 용어가 이해가지 않고, ARM 프로세서가 너무 어려워 배우기를 몇 번이나 포기했습니다. 그런데 이 강의를 듣고 나니 완전 다른 세상을 만난 느낌입니다. 설명을 쉽게 해서 몰랐던 모든 용어나 흐름이 이해가고 꽉막힌 부분이 정리됐습니다. ARM을 배우려는 개발자분들께 이 강의 강추합니다!

    • 김동현 (Austin Kim)
      Giảng viên

      좋은 평가 감사합니다. 혹시 궁금한 점이 있으면 언제든지 Q/A로 남겨주세요.

  • mikeseohyungjin님의 프로필 이미지
    mikeseohyungjin

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    5% đã tham gia

    1. ARM 아키텍쳐에 관해 놀랍도록 깊은 지식에 감명 받았습니다. 2. ARM 스펙가 굉장히 난해하고 어려운데, 강의에 나오는 대로 linux kernel 코드를 보면서 익히니 이해가 잘 가네요. 전체적으로 개발자에 대한 애정이 느껴져서 좋았습니다.. 강추합니다.

    • 좋은 평가와 격려 감사합니다. 혹시 궁금한 점이 있으면 언제든지 Q/A로 남겨주세요. 앞으로 제 강의를 "정말 잘 들었다"라는 확신을 드리기 위해 계속 최선을 다하겠습니다.

  • 토끼야놀자님의 프로필 이미지
    토끼야놀자

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    82% đã tham gia

    단순히 이론을 주입하는 것이 아니라, 이론이 적용된 실제 커널 코드 예시와 강사님께서 실무에서 겪으신 사례를 통해 강의해주셔서 이해도 잘되고 머리에도 지식들이 오래 남았습니다. 좋은 강의를 통해 많은 임베디드 개발자가 생겨날 수 있도록 힘써주셔서 감사합니다.

    • 좋은 평가 감사합니다. 혹시 궁금한 점이 있으면 언제든지 Q/A로 남겨주세요. 앞으로 제 강의를 "정말 잘 들었다"라는 확신을 드리기 위해 계속 최선을 다하겠습니다.

  • 백승헌님의 프로필 이미지
    백승헌

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    • DeukSoo LEE님의 프로필 이미지
      DeukSoo LEE

      Đánh giá 3

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      2.777.527 ₫

      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!