- Back to Home »
- Linux Basic »
- Hệ thống nhúng là gì
Saturday, April 11, 2015
Định nghĩa
Theo Wikipedia
Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó. Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói chung. Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất. Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn. Hệ thống nhúng rất đa dạng, phong phú về chủng loại. Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn.
Vậy có thể thấy rằng rất nhiều các thiết bị điện tử phục vụ cuộc sống hằng ngày là các hệ thống nhúng, và thường được đặt tên theo đúng chức năng riêng biệt mà chúng được thiết kề: Tivi (xem truyền hình), tủ lạnh (làm lạnh thực phẩm), máy giặt (giặt quần áo), điện thoại (liên lạc viễn thông), máy nghe nhạc...
Kiến trúc hệ thống nhúng
Thiết bị được chia làm 2 phần chính:
Hardware:
+ Soc (Microcontroller / Processor, GPU, DSP, ...)
+ Memory (RAM, ROM, Flash, Hard Disk, ...)
+ Peripherals ( Monitor, remote, button, keyboard, mouse, ...)
Software:
+ Lớp trên - Ứng dụng ( thường được viết bằng HTML5, Adobe Flash, Java, C/C++)
+ Lớp dưới - {Middleware, OS , Device Driver}, thường được viết bằng C. Hệ điều hành có thể là Linux Embedded, WinCE, RTOS (FreeRTOS, QNX, ...), ..., trong trường hợp của chúng ta là Linux Embedded.
Ví dụ:
Điện thoại Galaxy của Samsung có:
Hardware:
+ Soc Broadcom (CPU-ARM Cortex, GPU-Mali400MP)
+ Memory ( RAM samsung 1G, Flash 8G)
+ Peripheral ( Màn hình AMOLED Touch screen, Home button, ...)
Software:
+ Lớp trên - ứng dụng ( viết bằng java)
+ Lớp dưới chạy hệ điều hành Android (nhân Linux)
Công việc của một kỹ sư hệ thống nhúng là làm toàn bộ phần software, tuy nhiên trong blog này chủ yếu tập trung vào phần Application và Device Driver.