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
Giới thiệu về Hệ thống Nhúng và C++
- Tổng quan về kiến trúc hệ thống nhúng
- Thách thức của phát triển phần mềm nhúng
- Sự phù hợp của C++ cho vi điều khiển và các nền tảng nhúng
- Cân bằng giữa trừu tượng hóa, hiệu suất và các ràng buộc về tài nguyên
Môi trường Phát triển C++ Nhúng
- Cài đặt chuỗi công cụ phát triển nhúng (toolchain)
- Biên dịch, công cụ chẩn đoán lỗi (debugger) và hệ thống xây dựng (build systems)
- Làm việc với thiết bị đích
- Phát triển và triển khai ứng dụng nhúng
Lập trình Hướng đối tượng cho Hệ thống Nhúng
- Nguyên tắc thiết kế hướng đối tượng
- Lớp và đối tượng trong môi trường tài nguyên hạn chế
- Nhốt hóa (Encapsulation) và thiết kế module
- Áp dụng hiệu quả các kỹ thuật hướng đối tượng trong ứng dụng nhúng
Các Tính năng C++ Nâng cao cho Phát triển Nhúng
- Kế thừa và đa hình
- Hàm ảo và các cân nhắc về chi phí thời gian chạy (runtime overhead)
- Template và việc tránh mở rộng mã không cần thiết
- Hàm inline và tối ưu hiệu suất
Quản lý Bộ nhớ và Tối ưu Tài nguyên
- Ràng buộc bộ nhớ trong hệ thống nhúng
- Các cân nhắc về việc sử dụng stack và heap
- Chiến lược quản lý bộ nhớ động
- Tránh phân mảnh bộ nhớ và phình mã (code bloat)
Xử lý Lỗi và Các Cân nhắc về An toàn
- Xử lý ngoại lệ trong môi trường nhúng
- Thiết kế phần mềm đáng tin cậy và có thể dự đoán được
- Kỹ thuật lập trình phòng thủ (defensive programming)
- Các cân nhắc về C++ cho hệ thống quan trọng về an toàn
Thư viện Tiêu chuẩn C++ và Việc Sử dụng trong Hệ thống Nhúng
- Chọn các tính năng thư viện tiêu chuẩn phù hợp
- Tối thiểu hóa việc sử dụng tài nguyên
- Các thư viện tùy chỉnh và các lựa chọn thay thế thân thiện với hệ thống nhúng
- Viết mã hiệu quả và dễ bảo trì
Khởi động, Tương tác Phần cứng và Chẩn đoán Lỗi
- Tuần tự khởi động ứng dụng nhúng
- Các quy trình khởi tạo (initialisation routines)
- Chẩn đoán lỗi các ứng dụng C++ trên phần cứng đích
- Chẩn đoán các vấn đề về hiệu suất và thời gian chạy
Lập trình Thời gian thực và Hệ điều hành
- Nền tảng của hệ thống thời gian thực
- Làm việc với hệ điều hành thời gian thực (RTOS)
- Điều phối tác vụ (task scheduling) và các ràng buộc về thời gian
- Phát triển các ứng dụng phản hồi nhanh và tất định (deterministic)
Tương tác giữa C và C++
- Tích hợp các cơ sở mã C và C++
- Gọi thư viện C từ C++
- Quản lý các dự án nhúng dùng nhiều ngôn ngữ
- Chiến lược chuyển đổi từ C sang C++
Mô hình hóa Hướng đối tượng và UML
- Áp dụng UML cho thiết kế phần mềm nhúng
- Mô hình hóa các lớp và thành phần hệ thống
- Chuyển đổi thiết kế thành mã nhúng hiệu quả
- Cải thiện khả năng bảo trì thông qua thiết kế có cấu trúc
Xưởng Thực hành Ứng dụng C++ Nhúng
- Phát triển một ứng dụng nhúng bằng C++
- Áp dụng các kỹ thuật tối ưu hóa và an toàn
- Kiểm thử và chẩn đoán lỗi trên thiết bị đích
- Rà soát các thực hành tốt nhất và các bước tiếp theo
Yêu cầu
- Hiểu biết chung về C++
21 Giờ
Đánh giá (2)
Giảng viên đã thực sự điều chỉnh khóa đào tạo phù hợp với trình độ của chúng tôi và dành rất nhiều thời gian và công sức để đảm bảo bài trình bày được điều chỉnh một cách phù hợp.
Nicolas Guerette-Berthiaume - Trilliant
Khóa học - C++ for Embedded Systems
Dịch thuật bằng máy
Tính tương tác, thời gian cho lập trình độc lập. Tôi học dễ hơn nếu có cơ hội tự tìm ra câu trả lời thay vì chỉ được nói. Việc đào tạo được lên kế hoạch tốt cũng là một điểm cộng lớn, chúng tôi giữ các giờ nghỉ uống cà phê và khóa học không làm mất sự tập trung của tôi. Người hướng dẫn có kiến thức sâu rộng về C++, chúng tôi cảm thấy có thể hỏi bất cứ điều gì.
Barna Szecsi - GIS Europe SE
Khóa học - C++ for Embedded Systems
Dịch thuật bằng máy