Cảm ơn bạn đã gửi yêu cầu! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
Cảm ơn bạn đã gửi đặt chỗ! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
Đề cương khóa học
1. Giới thiệu về Nhân Linux
- Tổng quan về Linux nhúng
- Kiến trúc nhân Linux
- Không gian người dùng so với không gian nhân
- Trách nhiệm của nhân
- Quy trình phát triển nhân
- Tổng quan về các nền tảng nhúng được hỗ trợ
2. Thiết lập Môi trường Phát triển
- Chuẩn bị máy trạm phát triển
- Khái niệm về biên dịch chéo
- Cài đặt các công cụ phát triển cần thiết
- Thiết lập bo mạch phát triển BeagleBone Black
- Cấu hình máy chủ nối tiếp (Serial console)
- Khởi động thiết bị đích
3. Tải về và Tìm hiểu Mã nguồn Nhân
- Cây mã nguồn nhân Linux
- Nhân ổn định so với nhân hỗ trợ dài hạn
- Tải về mã nguồn nhân
- Tìm hiểu cấu trúc mã nguồn
- Tài liệu tham khảo về nhân
- Quản lý phiên bản nhân
4. Cấu hình, Biên dịch và Khởi động Nhân
- Cấu hình nhân bằng menuconfig
- Chọn các tính năng của nhân
- Biên dịch chéo nhân
- Xây dựng ảnh nhân (kernel images)
- Cài đặt các module của nhân
- Tổng quan về trình khởi động (Bootloader)
- Khởi động nhân tùy chỉnh
5. Nền tảng Device Tree
- Mục đích của Device Tree
- Tệp nguồn Device Tree (DTS)
- Blob Device Tree (DTB)
- Khái niệm mô tả phần cứng
- Sửa đổi tệp Device Tree
- Xây dựng và triển khai Device Tree
6. Module Nhân Linux
- Kiến trúc module của nhân
- Xây dựng module nhân có thể nạp
- Nạp và gỡ module
- Tham số module
- Sự phụ thuộc của module
- Tương tác với các module của nhân
- Kỹ thuật gỡ lỗi module
7. Gỡ lỗi Nhân Linux
- Ghi log nhân với printk()
- Sử dụng dmesg
- Gỡ lỗi động
- Phân tích tình huống nhân sụp đổ (Kernel panic)
- Thông báo Oops
- Gỡ lỗi với GDB
- Các công cụ theo dõi hiệu suất cơ bản
8. Driver Thiết bị Ký tự
- Mô hình driver thiết bị Linux
- Thiết bị ký tự
- Đăng ký driver
- Các thao tác tệp
- Các thao tác đọc và ghi
- Giao diện IOCTL
- Quản lý bộ nhớ
- Dọn dẹp driver
9. Tích hợp Driver và Truy cập Phần cứng
- Thiết bị và driver nền tảng (Platform)
- Lập trình GPIO
- Xử lý ngắt
- Trình lập thời gian và công việc trì hoãn
- Truy cập thanh ghi phần cứng
- Hoạt động với bộ nhớ ánh xạ I/O (Memory-mapped I/O)
10. Kiểm soát Phiên bản với Git
- Cơ bản về Git
- Quản lý mã nguồn nhân
- Nhánh và gộp
- Tạo bản vá (patches)
- Xem xét các thay đổi
- Hợp tác trong phát triển nhân
11. Phòng Lab Phát triển Nhân Thực hành
- Cấu hình nhân tùy chỉnh
- Xây dựng và triển khai nhân
- Tạo module nhân đơn giản
- Phát triển driver thiết bị ký tự cơ bản
- Sửa đổi tệp Device Tree
- Gỡ lỗi các vấn đề nhân trên BeagleBone Black
12. Thực hành Tốt nhất và Tóm tắt
- Phong cách mã hóa nhân
- Viết driver dễ bảo trì
- Các bẫy phổ biến trong phát triển
- Các nguồn tài liệu tham khảo về nhân
- Quy trình đóng góp mã nguồn mở
- Xem xét lại các khái niệm chính
- Câu hỏi và trả lời
- Các bước tiếp theo trong phát triển nhân Linux
Yêu cầu
Hiểu biết cơ bản về việc sử dụng hệ thống GNU/Linux
14 Giờ
Đánh giá (2)
Kiến thức của người huấn luyện viên. Ông có thể trả lời tất cả các câu hỏi của tôi, thậm chí cả những câu hỏi về nền tảng của chúng tôi. Ông cũng tiếp tục hỗ trợ cho đến khi mọi người đều hiểu rõ nội dung.
James O'Donnell - Tennant Company
Khóa học - Embedded Linux Kernel and Driver Development
Dịch thuật bằng máy
I liked the hands-on nature of it.
Maurice Egan
Khóa học - Embedded Linux Kernel and Driver Development
Dịch thuật bằng máy