
Khóa học Embedded Linux
Làm chủ mọi lớp của hệ thống Linux nhúng, từ bộ nạp khởi động và nhân hệ điều hành đến hệ thống tập tin gốc và trình điều khiển thiết bị. Khóa học này cung cấp cho bạn các kỹ năng thực hành để xây dựng, cấu hình và triển khai các hệ thống Linux nhúng cấp sản xuất trên phần cứng thực. Cho dù bạn đang bước chân vào lĩnh vực kỹ thuật nhúng hay đang nâng cao chuyên môn của mình, thì đây là lộ trình kỹ thuật hoàn chỉnh nhất hiện có.
Bạn sẽ học được gì:
Bạn sẽ học cách thiết lập chuỗi công cụ biên dịch chéo, cấu hình và xây dựng nhân hệ điều hành Linux, cũng như tạo các hệ thống tập tin gốc tối thiểu bằng BusyBox. Bạn sẽ làm việc với U-Boot để quản lý toàn bộ trình tự khởi động nhúng và viết trình điều khiển thiết bị Linux cho GPIO, I2C, SPI và các ngoại vi điều khiển bằng ngắt. Khóa học bao gồm Yocto Project và Buildroot để tạo image tự động, cùng các kỹ thuật tối ưu hóa hệ thống như giảm thời gian khởi động, giảm thiểu dung lượng bộ nhớ và tăng cường bảo mật. Các chủ đề nâng cao bao gồm Linux thời gian thực với PREEMPT_RT, gỡ lỗi từ xa bằng GDB và các chiến lược cập nhật qua mạng cho các triển khai sản phẩm.
Bạn học thực tế như thế nào Khóa học Embedded Linux
Bạn thực hành như thế nào Khóa học Embedded Linux
Dành cho doanh nghiệp muốn đào tạo đội ngũ
Với Dedika dành cho doanh nghiệp, khóa học đi kèm với các bài tập và ví dụ thực tế phù hợp với nhu cầu riêng của công ty bạn.
Nội dung khóa học
8 Chương • 38 Bài họcThời gian từ 4 đến 360 giờ (bạn quyết định)
Chương 1ẨnẨn chi tiếtXem chi tiếtNền tảng Linux và Hệ thống Nhúng
Nền tảng Linux và Hệ thống Nhúng
Bài học 1 • Kiến thức Cơ bản về Dòng lệnh Linux
Hướng dẫn cách điều hướng shell, quản lý tệp và các lệnh điều khiển tiến trình. Những kỹ năng này là điều kiện tiên quyết cho mọi bài thực hành trong khóa học.
Bài học 2 • Nhân Hệ điều hành Linux và Kiến trúc Hệ điều hành
Giải thích vai trò của nhân Linux, thiết kế nguyên khối và sự phân tách không gian người dùng/không gian nhân. Cung cấp bối cảnh cho công việc cấu hình nhân sau này.
Bài học 3 • Khái niệm Cốt lõi về Hệ thống Nhúng
Định nghĩa hệ thống nhúng, các ràng buộc của chúng và cách chúng khác biệt với máy tính đa năng. Thiết lập vốn từ vựng được sử dụng xuyên suốt khóa học.
Bài học 4 • Tổng quan về Phần cứng Nhúng
Khảo sát các bộ xử lý nhúng phổ biến, loại bộ nhớ và bus ngoại vi. Đặt nền tảng cho các quyết định phần mềm dựa trên thực tế phần cứng gặp phải trong các chương sau.
Chương 2ẨnẨn chi tiếtXem chi tiếtBiên dịch Chéo và Thiết lập Toolchain
Biên dịch Chéo và Thiết lập Toolchain
Bài học 1 • Kiểm tra và Gỡ lỗi Toolchain
Xác minh tính chính xác của toolchain bằng các tệp nhị phân kiểm tra và công cụ readelf. Ngăn chặn các lỗi cấu hình sai phổ biến trước khi xây dựng nhân và rootfs.
Bài học 2 • Kiến trúc và Thành phần Toolchain
Xác định binutils, trình biên dịch, thư viện C và trình gỡ lỗi là các thành phần của toolchain. Giải thích mối quan hệ máy chủ-mục tiêu trọng tâm của biên dịch chéo.
Bài học 3 • Biên dịch Chéo Ứng dụng
Trình bày cách biên dịch chương trình C và C++ cho mục tiêu sử dụng cross-toolchain. Giới thiệu các mẫu biên dịch chéo với Makefile và CMake.
Bài học 4 • Xây dựng Toolchain với Crosstool-NG
Hướng dẫn cấu hình và xây dựng toolchain tùy chỉnh bằng Crosstool-NG. Tạo ra một tạo phẩm toolchain có thể tái tạo được sử dụng trong các bài thực hành tiếp theo.
Chương 3ẨnẨn chi tiếtXem chi tiếtKhái niệm về Bootloader và U-Boot
Khái niệm về Bootloader và U-Boot
Bài học 1 • Quy trình Nạp và Phục hồi
Hướng dẫn ghi ảnh bootloader vào bộ nhớ NAND, NOR và eMMC. Bao gồm các chiến lược phục hồi khi bo mạch không khởi động được.
Bài học 2 • Cấu hình và Xây dựng U-Boot
Hướng dẫn từng bước chọn defconfig, tùy chỉnh cài đặt và biên dịch chéo U-Boot. Tạo ra tệp nhị phân bootloader sẵn sàng để nạp vào mục tiêu.
Bài học 3 • Shell U-Boot và Script Khởi động
Sử dụng shell tương tác U-Boot để tải ảnh hệ thống và thiết lập đối số khởi động. Tự động hóa quá trình khởi động bằng script được lưu trong môi trường hoặc trên phương tiện lưu trữ.
Bài học 4 • Trình tự Khởi động Nhúng
Theo dõi trình tự cấp nguồn từ mã ROM qua bootloader đến nhân. Thiết lập mô hình khởi động phân lớp được tham chiếu trong tất cả các công việc liên quan đến khởi động sau này.
Bài học 5 • Kiến trúc và Mã nguồn U-Boot
Khám phá cấu trúc thư mục, gói hỗ trợ bo mạch và hệ thống Kconfig của U-Boot. Chuẩn bị cho học viên khả năng điều hướng và sửa đổi mã nguồn U-Boot một cách tự tin.
Chương 4ẨnẨn chi tiếtXem chi tiếtCấu hình và Xây dựng Nhân Linux
Cấu hình và Xây dựng Nhân Linux
Bài học 1 • Quản lý Mã nguồn và Phiên bản Nhân
Giới thiệu các bản phát hành kernel.org, nhánh ổn định và nhân từ nhà cung cấp. Hướng dẫn sao chép và điều hướng cây mã nguồn nhân một cách hiệu quả.
Bài học 2 • Hệ thống Xây dựng và Đầu ra của Nhân
Giải thích hệ thống Kbuild, cờ biên dịch chéo và các tạo phẩm đầu ra. Học viên xây dựng zImage, Image và device tree blob cho mục tiêu của mình.
Bài học 3 • Cấu hình Nhân với Kconfig
Sử dụng menuconfig và tệp defconfig để kích hoạt các trình điều khiển và hệ thống con cần thiết. Hướng dẫn cách giảm kích thước nhân một cách có hệ thống cho các mục tiêu nhúng.
Bài học 4 • Mô-đun Nhân và Tải Động
Hướng dẫn xây dựng mô-đun ngoài cây và trong cây, insmod, modprobe và depmod. Cho phép tải trình điều khiển trong thời gian chạy mà không cần xây dựng lại toàn bộ nhân.
Bài học 5 • Triển khai và Kiểm thử Nhân
Chuyển ảnh nhân sang mục tiêu qua TFTP hoặc thẻ SD và khởi động nó. Xác thực khởi động thành công thông qua phân tích đầu ra bảng điều khiển serial.
Chương 5ẨnẨn chi tiếtXem chi tiếtXây dựng Hệ thống Tệp Gốc
Xây dựng Hệ thống Tệp Gốc
Bài học 1 • Xây dựng Rootfs Tối thiểu với BusyBox
Cấu hình và biên dịch chéo BusyBox để cung cấp các tiện ích cốt lõi trong một tệp nhị phân duy nhất. Tạo ra một khung rootfs khép kín cho bo mạch mục tiêu.
Bài học 2 • Quản lý Thư viện và Phụ thuộc
Xác định các phụ thuộc thư viện dùng chung và sao chép chúng vào khu vực staging rootfs. Ngăn ngừa lỗi thời gian chạy do thiếu thư viện trên mục tiêu.
Bài học 3 • Hệ thống Init và Khởi động Hệ thống
So sánh BusyBox init, SysVinit và systemd cho các trường hợp sử dụng nhúng. Cấu hình inittab và script rcS để khởi chạy dịch vụ khi khởi động.
Bài học 4 • Cấu trúc và Tiêu chuẩn Hệ thống Tệp Gốc
Giải thích Tiêu chuẩn Phân cấp Hệ thống Tệp (FHS) và các thư mục bắt buộc để khởi động Linux. Cung cấp bản thiết kế cấu trúc cho tất cả các bài tập xây dựng rootfs.
Bài học 5 • Đóng gói và Triển khai Rootfs
Tạo ảnh cpio initramfs, ext4 và squashfs từ thư mục staging. Triển khai và gắn kết rootfs trên bo mạch mục tiêu.
Chương 6ẨnẨn chi tiếtXem chi tiếtHệ thống Xây dựng: Yocto Project và Buildroot
Hệ thống Xây dựng: Yocto Project và Buildroot
Bài học 1 • Kiến trúc và Luồng Công việc Buildroot
Giới thiệu luồng công việc hướng menuconfig của Buildroot để tạo toolchain, nhân và rootfs. Trình bày cách tạo mẫu nhanh cho các dự án bị ràng buộc tài nguyên.
Bài học 2 • Khái niệm Cốt lõi của Yocto Project
Giải thích các layer, recipe, BitBake và kiến trúc hệ thống xây dựng OpenEmbedded. Thiết lập mô hình tư duy cần thiết cho mọi công việc tùy chỉnh Yocto.
Bài học 3 • Tạo và Tùy chỉnh Yocto Layer
Tạo một layer tùy chỉnh, viết recipe và thêm nó vào ảnh Yocto. Trình bày mẫu mở rộng được sử dụng trong các dự án Yocto thực tế.
Bài học 4 • Tùy chỉnh Gói Buildroot
Tạo recipe gói tùy chỉnh và overlay để thêm phần mềm độc quyền vào ảnh. Mở rộng Buildroot vượt ra ngoài bộ gói mặc định của nó.
Bài học 5 • Tạo Ảnh và Tạo SDK
Xây dựng một ảnh hoàn chỉnh có thể khởi động và SDK phát triển ứng dụng với Yocto. Cho phép các nhà phát triển ứng dụng nhắm mục tiêu nền tảng mà không cần xây dựng lại ảnh.
Chương 7ẨnẨn chi tiếtXem chi tiếtTrình điều khiển Thiết bị và Giao diện Phần cứng
Trình điều khiển Thiết bị và Giao diện Phần cứng
Bài học 1 • Device Tree và Mô tả Phần cứng
Viết tệp mã nguồn device tree để mô tả cấu trúc liên kết phần cứng cho nhân. Liên kết trình điều khiển với các nút phần cứng bằng chuỗi tương thích và thuộc tính.
Bài học 2 • Ngắt và DMA trong Trình điều khiển
Đăng ký trình xử lý ngắt và cấu hình truyền DMA trong trình điều khiển. Giải quyết các yêu cầu về độ trễ và thông lượng phổ biến trong các ngoại vi nhúng.
Bài học 3 • Phát triển Trình điều khiển Thiết bị Ký tự
Triển khai trình điều khiển ký tự với các thao tác open, read, write và ioctl. Trình bày mẫu đăng ký trình điều khiển và thao tác tệp hoàn chỉnh.
Bài học 4 • Khái niệm Cơ bản về Mô hình Trình điều khiển Linux
Giải thích mô hình trình điều khiển-thiết bị-bus, kobject và biểu diễn sysfs. Cung cấp khung khái niệm cho tất cả quá trình phát triển trình điều khiển trong chương này.
Bài học 5 • Giao diện Trình điều khiển GPIO, I2C và SPI
Sử dụng API hệ thống con GPIO, I2C và SPI của nhân để giao tiếp với ngoại vi. Bao gồm cả phương thức truy cập trong trình điều khiển nhân và không gian người dùng qua sysfs/chardev.
Chương 8ẨnẨn chi tiếtXem chi tiếtTối ưu Hóa Hệ thống và Tăng cường cho Sản phẩm
Tối ưu Hóa Hệ thống và Tăng cường cho Sản phẩm
Bài học 1 • Chiến lược Cập nhật Qua Mạng
Triển khai cơ chế cập nhật ngân hàng kép và delta để cập nhật firmware an toàn trên thực địa. Đảm bảo khả năng khôi phục và tính toàn vẹn của bản cập nhật trong các triển khai sản phẩm.
Bài học 2 • Tăng cường Bảo mật cho Linux Nhúng
Áp dụng rootfs chỉ đọc, khởi động an toàn và kiểm soát truy cập để tăng cường hệ thống. Giảm bề mặt tấn công cho các sản phẩm nhúng được kết nối.
Bài học 3 • Tối ưu Hóa Dung lượng Bộ nhớ
Giảm kích thước nhân, kích thước rootfs và mức sử dụng bộ nhớ thời gian chạy thông qua phân tích có hệ thống. Áp dụng các kỹ thuật tinh giản, nén và cắt bớt cấu hình.
Bài học 4 • Đo lường và Giảm Thời gian Khởi động
Lập hồ sơ trình tự khởi động bằng bootchart và dấu thời gian nhân để tìm điểm nghẽn. Áp dụng các tối ưu hóa có mục tiêu để đạt được mục tiêu khởi động dưới giây hoặc khởi động nhanh.
Bài học 5 • Kỹ thuật Quản lý Điện năng
Cấu hình điều chỉnh tần số CPU, trạng thái tạm ngưng và ngắt điện ngoại vi. Kéo dài tuổi thọ pin và giảm tỏa nhiệt trong các thiết kế nhạy cảm với điện năng.
Chứng chỉ hợp lệ của bạn sau khi hoàn thành
Khóa học này dành cho bạn:
Kỹ sư phần sụn: sẵn sàng chuyển từ vi điều khiển lõi trần sang hệ thống trên chip chạy Linux.
Sinh viên tốt nghiệp khoa học máy tính: tìm kiếm kiến thức chuyên sâu thực hành về hệ thống nhúng vượt xa chương trình đại học.
Nhà phát triển IoT: cần kiểm soát toàn diện các thiết bị mà phần mềm của họ đang chạy trên đó.
Người đam mê điện tử: muốn hiểu những gì đang vận hành bên trong các máy tính nhúng đơn bo của họ.
Kỹ sư DevOps: mở rộng sang các mục tiêu nhúng và quy trình CI tích hợp phần cứng.
Người chuyển đổi nghề nghiệp: chuyển từ phát triển phần mềm máy tính cá nhân hoặc web sang phát triển sản phẩm nhúng.
Những gì học viên của chúng tôi nói
Các bài học của bạn thật hoàn hảo. Tôi đã mua gói một năm và cuối cùng cũng có cơ hội theo dõi nhiều chủ đề mà tôi quan tâm mà không cần phải chuyển sang nền tảng khác... cảm ơn vì tất cả những gì các bạn đã làm, tôi đã giới thiệu các bạn cho những người khác...

Tôi thích cách các bài học đi thẳng vào vấn đề và cách tôi có thể chuyển đổi chương và bỏ qua những nội dung mà tôi không cần.

Tôi thích nội dung và cách trình bày cũng như phiên âm video, điều này giúp tăng tốc quá trình học!

Nền tảng nhanh chóng, dễ sử dụng. Sự đa dạng của nội dung và các video bổ sung giúp ích rất nhiều cho việc học tập.

Các chương trình đào tạo nổi bật
Câu hỏi thường gặp
Dedika là ai?
Chứng chỉ có giá trị tại Việt Nam không?
Các khóa học có miễn phí không?
Khối lượng học của các khóa học là bao nhiêu?
Các khóa học có hình thức như thế nào?
Các khóa học hoạt động như thế nào?
Thời lượng của các khóa học là bao lâu?
Chi phí hoặc giá của các khóa học là bao nhiêu?
Khóa học EAD hay khóa học trực tuyến là gì và hoạt động như thế nào?
Khóa học PDF




















