C++ cho kỹ sư hệ thống nhúng
  • Mở đầu
    • Lời tựa và cách dùng sách
  • Phần 0 — Nền tảng và câu chuyện
    • 1. Vì sao C++ cho hệ thống nhúng
    • 2. Từ ngôn ngữ máy đến C++
    • 3. Chi phí của trừu tượng
    • 4. Bản đồ ngành và định hướng nghề nghiệp
  • Phần 1 — Môi trường và công cụ
    • 5. Môi trường phát triển và chương trình đầu tiên
    • 6. Biên dịch chéo, bộ nhớ và gỡ lỗi
  • Phần 2 — C++ cơ bản
    • 7. Kiểu dữ liệu, biến và số học an toàn
    • 8. Hàm, luồng điều khiển và xử lý lỗi cơ bản
    • 9. Con trỏ, tham chiếu và const đúng chỗ
    • 10. Mảng, chuỗi và std::span
    • 11. Bố trí dữ liệu, thao tác bit và bit_cast
  • Phần 3 — OOP cho nhúng
    • 12. Class, bất biến và RAII nâng cao
    • 13. Kế thừa và tổ hợp: is-a hay has-a
    • 14. Đa hình động và thiết kế giao diện driver
    • 15. Template cơ bản và đa hình tĩnh (CRTP)
  • Phần 4 — C++ hiện đại
    • 16. auto, lambda và callback không tốn heap
    • 17. std::array, optional, variant và string_view
    • 18. Move semantics và smart pointer trong nhúng
    • 19. constexpr, concepts và xử lý lỗi không exception
  • Phần 5 — Bộ nhớ và cấp thấp
    • 20. Bố cục bộ nhớ chương trình: .text, .data, .bss, stack, heap
    • 21. volatile và Memory-Mapped I/O
    • 22. Cấp phát tĩnh, std::pmr và placement new
  • Phần 6 — Nhúng thực chiến
    • 23. GPIO driver bằng C++: kết hợp MMIO và template
    • 24. UART, ring buffer và ngắt (ISR) an toàn
    • 25. SPI, I2C và thiết kế lớp trừu tượng phần cứng (HAL)
    • 26. Máy trạng thái hữu hạn (FSM) cho firmware
    • 27. RTOS cơ bản với C++: task, hàng đợi, mutex
    • 28. Giao tiếp C và C++: extern \"C\", name mangling, liên kết
  • Phần 7 — Chất lượng và hiệu năng
    • 29. Unit test host-based và giả lập phần cứng
    • 30. Phân tích tĩnh và các chuẩn an toàn: MISRA C++, AUTOSAR, CERT
    • 31. Tối ưu kích thước code và tốc độ
    • 32. ETL và thư viện container/callable không heap
  • Phần 8 — Định hướng và phụ lục
    • 33. Rust cho nhúng: so sánh với C++
    • 34. Zig và các đề xuất Safety Profiles cho C++
    • 35. TinyML và xu hướng AI trên thiết bị nhúng
    • 36. Phụ lục: Cheat sheet và tổng hợp lỗi thường gặp
  • Mã nguồn
    • Code mẫu trên GitHub

C++ cho kỹ sư hệ thống nhúng

Từ cơ bản đến nâng cao. Học C++ hiện đại cho hệ thống nhúng: từ nền tảng ngôn ngữ cấp thấp, bộ nhớ, driver, RTOS đến định hướng Rust/Zig.

Bắt đầu đọc →

Mã nguồn: https://github.com/phamtuanchip/cpp_book