[Series] [Embbeded System] [Part 1]
Follow this series for my progress in self-studying Embedded Programming!
1. Hệ thống nhúng là gì?
Theo định nghĩa tổng quan từ Internet, hệ thống nhúng có thể được định nghĩa là một hệ thống tính toán được thiết kế để phục vụ một mục đích chuyên biệt. Hoặc, hệ thống nhúng là một hệ thống (phụ) tính toán (computing embedded subsystem) mang một chức năng nhất đinh trong một hệ thống lớn hơn.
Ví dụ: GPS navigator trên xe hơi, ABS (anti-lock breaking system), etc
Không giống như các máy tính lớn với chức năng chung và đa dạng
(multimedia, data processsing, AI training, computing, network server, etc), hệ thống nhúng được tối ưu hóa để tăng hiệu suất cho một công việc nhất định.
Ví dụ, máy tính cầm tay 😊, điện thoại di động, đồ gia dụng, etc
Hệ thống nhúng bao gồm phần cứng (Hardware) và cả phần mềm (Software):
Hardware: Chipset, chip SoC, MCU, sensors, actuators, etc
Software: OS/RTOS (Linux distro, Android, QNX, Autosar, Tizen OS, FreeRTOS, etc)
Đặc tính:
Kích thước nhỏ (Small size)
Giá thành rẻ (Low per-unit cost)
Sử dụng ít năng lượng (Low Power consumption)
2. Ứng dụng:
Smart City, Smart home, Industry 4.0
Automotive, Nông nghiệp, logistics, năng lượng
…
3. Kĩ năng cần cho lập trình nhúng:
Ngôn ngữ lập trình C/C++
MCU: kiến trúc, model
Ngoại vi (Peripherals): RAM, ROM, DMA, Timers, etc
Chuẩn giao tiếp (Interfaces): I2C, SPI, UART, RTC, etc
Hệ thống máy tính (OS)
Kiến thức về Linux
Đọc hiểu datasheet
…
4. SW Layered Model (giản lược):
[Application]
[Middleware/Utilities]:{RFS, IPC, network, RTOS, logger, console, etc}
[Drivers]:{HAL, Device Drivers, BSP, etc}
[HW]
Hiện tại mình đang ở middleware và có ý định tiến xuống sâu hơn (đang vọc ở HAL/Android) 😊
(to be continued)
Reference:
Wikipedia, Youtube, Viblo
Khoa học - Công nghệ
/khoa-hoc-cong-nghe
Bài viết nổi bật khác
- Hot nhất
- Mới nhất