Embedded software application là chương trình chuyên dụng trong các thiết bị không phải PC (hoặc một bộ phận của microchip hoặc một bộ phận của ứng dụng khác nằm trên chip) để điều khiển các chức năng cụ thể của thiết bị.
Không như các ứng dụng PC có thể được cài đặt trên nhiều hệ thống máy tính và được sửa đổi để cung cấp các mức chức năng khác nhau, embedded software có các yêu cầu và khả năng phần cứng cố định.
Nó được tạo riêng cho thiết bị cụ thể mà nó chạy trên đó, với các hạn chế về xử lý và bộ nhớ gắn trực tiếp với thông số kỹ thuật của thiết bị đó.
Các hệ thống phần mềm nhúng phổ biến trong cuộc sống hàng ngày và được tìm thấy trên khắp công nghệ tiêu dùng, công nghiệp, ô tô, hàng không vũ trụ, y tế, thương mại, viễn thông và quân sự.
Các ví dụ phổ biến về các tính năng dựa trên phần mềm nhúng bao gồm:
Mặc dù hai thuật ngữ này đôi khi được sử dụng thay thế cho nhau, nhưng “firmware” thực chất là một loại embedded software.
Embedded software được sử dụng cho một chức năng cụ thể góp phần vào mục đích chung của thiết bị, còn firmware đóng vai trò như một hệ điều hành (OS) tối giản cung cấp hướng dẫn cho các chức năng điều khiển, giám sát và thao tác dữ liệu của thiết bị.
Thông thường, firmware được phát triển cùng với phần cứng (hardware) của thiết bị (thiết kế chip) để tối ưu hóa các hoạt động tiêu thụ điện năng, tốc độ và bảo mật.
Sau khi hoàn thiện firmware và hardware, các ứng dụng embedded software được phát triển để thực thi các chức năng trong thành phẩm hoặc hệ thống.
Để giúp bạn phân biệt giữa hai phần mềm này, hãy nhớ:
Tất cả firmware đều là embedded software, nhưng không phải embedded software nào cũng là firmware.
Các bộ phận phần cứng trong thiết bị đang chạy embedded software được gọi là “embedded system” (hệ thống nhúng).
Một số ví dụ về các bộ phận phần cứng được sử dụng trong hệ thống nhúng là mạch cấp nguồn, bộ xử lý trung tâm, thiết bị bộ nhớ flash, bộ định thời và cổng giao tiếp nối tiếp.
Trong giai đoạn thiết kế ban đầu của thiết bị, phần cứng tạo nên hệ thống nhúng – và cấu hình của nó trong thiết bị – sẽ được quyết định.
Sau đó, embedded software được phát triển từ đầu để chạy độc quyền trên phần cứng đó với cấu hình chính xác đó.
Điều này làm cho thiết kế phần mềm nhúng trở thành một lĩnh vực rất chuyên biệt, đòi hỏi kiến thức sâu sắc về khả năng phần cứng và lập trình máy tính.
Hệ thống nhúng thường được phân loại theo 2 cách:
Khi dựa trên các yêu cầu về hiệu suất và chức năng, có bốn loại hệ thống nhúng chính:
Khi dựa trên độ phức tạp của kiến trúc phần cứng của hệ thống, có ba loại hệ thống nhúng chính:
Mặc dù có nhiều loại hệ thống nhúng, chúng đều có chung các tính năng và đặc điểm thiết kế
Nguồn từ automation.siemens.com