Lập trình hệ thống nhúng và ngôn ngữ của nó là gì

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Hệ thống là sự sắp xếp của nhiều đơn vị, được lắp ráp lại với nhau để hoạt động theo các chỉ dẫn đã cho. Hệ thống nhúng là sự kết hợp của cả phần cứng và phần mềm, thực hiện một nhiệm vụ cụ thể trong khoảng thời gian xác định (có nghĩa là nó chỉ thực hiện một tác vụ cụ thể như máy giặt). Ưu điểm chính của việc sử dụng hệ thống nhúng trong một ứng dụng là nó có thể giảm thiểu kích thước và chi phí cũng như cải thiện độ tin cậy và hiệu quả của nhiệm vụ. Bài viết này tổng quan về các ngôn ngữ phần mềm nhúng, hệ thống nhúng lập trình và chức năng của chúng.

Các thành phần của hệ thống nhúng

Sau đây là các thành phần của hệ thống nhúng




  • Phần cứng nhúng: Bộ điều khiển vi mô là trung tâm của hệ thống nhúng, nơi nhiều thiết bị ngoại vi được giao tiếp với phần cứng nhúng cho mục đích giao tiếp.
  • RTO được nhúng: Một hệ điều hành thời gian thực nhúng được sử dụng để thực hiện tất cả các hoạt động phức tạp (ar.
  • Trình điều khiển thiết bị: Nó hoạt động như một cầu nối giữa hệ điều hành và các thiết bị ngoại vi.
  • Ngăn xếp thông tin liên lạc: Nó được sử dụng để giao tiếp với các thiết bị bên ngoài.
  • Các ứng dụng được nhúng: Nó thực hiện chức năng được xác định trước của thiết bị nhúng.
Các thành phần hệ thống nhúng

Các thành phần hệ thống nhúng

Phần mềm nhúng

Phần mềm nhúng hoặc lập trình hệ thống nhúng là phần mềm máy tính, được sử dụng để điều khiển các thiết bị bằng cách cung cấp một bộ hướng dẫn. Nó cũng được đặt tên là phần sụn, các thiết bị khác nhau với các chức năng khác nhau có thể được lập trình bằng phần mềm nhúng, bằng cách duy trì các ràng buộc về thiết kế (như hạn chế về thời gian phản hồi, thời hạn nghiêm ngặt và dữ liệu đã xử lý) và lưu trữ dữ liệu cuối cùng trong ký ức (Ram / Rom).



Phần mềm được điều khiển hoặc khởi tạo bởi một giao diện máy. Phần mềm nhúng được tích hợp sẵn trong tất cả các thiết bị điện tử như ô tô, điện thoại, rô bốt, hệ thống an ninh , v.v. đơn giản để chạy trên 8-bit vi điều khiển sử dụng bộ nhớ lên đến vài KB. Nó giúp xử lý các hoạt động phức tạp và xác định khung tính toán chính xác.

Ngôn ngữ lập trình hệ thống nhúng

Phần mềm nhúng sử dụng hệ điều hành, là hệ điều hành thời gian thực thực hiện nhiều tác vụ cùng một lúc. Các chương trình nhúng được lập trình bằng C / C ++ , Ngôn ngữ Phyton và Java Scripts và được xử lý trên các hệ điều hành như Hệ điều hành Linux , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE, v.v. Lựa chọn ngôn ngữ lập trình đóng một vai trò quan trọng trong việc phát triển phần mềm nhúng, dựa trên các yếu tố nhất định như được hiển thị bên dưới,

  • Kích thước : Dung lượng bộ nhớ mà chương trình yêu cầu đóng một vai trò quan trọng, vì bộ xử lý nhúng (vi điều khiển) có một lượng ROM cụ thể (Bộ nhớ chỉ đọc) dựa trên ứng dụng của nó.
  • Tốc độ : Tốc độ thực hiện chương trình phải nhanh
  • Tính di động: Các bộ xử lý khác nhau có thể được biên dịch bằng một chương trình.
  • Thực hiện khó
  • Bảo trì là khó khăn.

Lập trình hệ thống nhúng bằng hợp ngữ

Lập trình hệ thống nhúng trong Hợp ngữ (đầu vào) và chuyển đổi thành ngôn ngữ cấp máy (đầu ra) bằng cách sử dụng trình hợp dịch có thể được giải thích bằng cách sử dụng ví dụ sau, trong đó chúng tôi thực hiện phép cộng hai số bằng cách sử dụng hai thanh ghi đặc biệt và lưu trữ kết quả trong một thanh ghi đầu ra.


Đầu vào

TẠI ĐÂY: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

THÊM A, R1

MOV P0, A

SIMP TẠI ĐÂY

Đầu ra

Địa chỉ Opcode Operand

0000 78 01
0002 79 02
0004 E8 -
0005 29 -
0006 F5 80
0008 80 00

Mã hội được sử dụng để phát triển mã hiệu quả về kích thước và tốc độ. Việc phát triển mã lớn hơn bằng hợp ngữ trở nên khó khăn, có thể dẫn đến chi phí phát triển phần mềm cao hơn và tính khả chuyển của mã không có. Do đó, để khắc phục nhược điểm này, chúng tôi sử dụng ngôn ngữ cấp cao như nhúng C .

Giới thiệu về C, C ++, Java và Embedded C

Lập trình C

Ngôn ngữ C là một ngôn ngữ hướng cấu trúc, được phát triển bởi Dennis Ritchie. Nó cung cấp ít truy cập bộ nhớ hơn bằng cách sử dụng trình biên dịch đơn giản và cung cấp dữ liệu hiệu quả theo hướng dẫn của máy. Chúng có thể áp dụng trong nhiều phạm vi từ hệ thống nhúng đến siêu máy tính.

Nhúng C

Embedded C là một phần mở rộng của ngôn ngữ C, được sử dụng để phát triển một hệ thống nhúng. Cú pháp tương tự như ngôn ngữ C (như hàm chính, khai báo hàm, khai báo kiểu dữ liệu, vòng lặp, v.v.). Sự khác biệt chính giữa ngôn ngữ C nhúng và ngôn ngữ C tiêu chuẩn là định địa chỉ đầu vào-đầu ra của phần cứng, hoạt động điểm cố định và không gian địa chỉ xử lý.

Việc sử dụng C trong hệ thống nhúng do những ưu điểm sau

  • Nó nhỏ và dễ học, hiểu và gỡ lỗi chương trình.
  • Tất cả các trình biên dịch C đều tương thích với tất cả các thiết bị nhúng
  • Nó là một bộ xử lý độc lập (nghĩa là nó không dành riêng cho một bộ vi xử lý hoặc vi điều khiển cụ thể).
  • Ngôn ngữ C sử dụng sự kết hợp của hợp ngữ và các tính năng của ngôn ngữ cấp cao
  • Nó khá hiệu quả, đáng tin cậy hơn, linh hoạt hơn, linh hoạt hơn giữa các nền tảng khác nhau.
  • Các chương trình được phát triển bằng C dễ hiểu, gỡ lỗi và bảo trì hơn.

So với ngôn ngữ cấp cao khác C mang lại tính linh hoạt hơn vì nó là ngôn ngữ hướng cấu trúc tương đối nhỏ và hỗ trợ bitwise cấp thấp thao tác dữ liệu .

C ++

Ngôn ngữ hướng đối tượng như C ++ không phải là tùy chọn để phát triển một chương trình hiệu quả trong môi trường ràng buộc nghiên cứu như các thiết bị nhúng. Các hàm ảo và xử lý ngoại lệ của C ++ là một số tính năng cụ thể không hiệu quả về không gian và tốc độ của hệ thống.

JAVA

Hệ thống nhúng có thể được lập trình bằng ngôn ngữ JAVA, sử dụng máy ảo JAVA (JVM) truy cập nhiều tài nguyên. Nó chủ yếu tìm thấy việc sử dụng trong các ứng dụng cao cấp (như điện thoại di động) và cung cấp tính di động trên các hệ thống để xử lý các ứng dụng. Nó không được ưu tiên cho các thiết bị nhúng nhỏ hơn.

Kiến trúc lập trình C nhúng và ví dụ

Kiến trúc lập trình C nhúng có thể được hiểu với một ví dụ về việc sử dụng 8051 bộ điều khiển vi mô , trong đó chức năng của nó là nhấp nháy bóng đèn LED được kết nối với PORT1 của bộ điều khiển và trình biên dịch được sử dụng là Keil C Compiler. Sau đây là mã cho Đèn LED chớp mắt.

#include // chỉ thị của bộ xử lý trước
Void delay (int) // khai báo hàm delay
Void main (void) // Hàm chính
{
P1 = 0x00 // port1 tắt nên đèn LED tắt và được lưu trữ trong reg51.h
while (1) // vòng lặp vô cực
{
P1 = OxFF //// port1 đang bật để đèn LED sáng
delay (1000) // gán độ trễ
P1 = 0X00 // port1 tắt
trì hoãn (1000)
}
}
Void delay (int d) // gán hàm trì hoãn
{
unsigned int i = 0 // biến được gán cục bộ
cho (d> 0 d-)
{
cho (i = 250 i> 0i–)
cho (i = 248 i> 0i–)
}
}

Ưu điểm

Sau đây là những ưu điểm của Phần mềm nhúng

  • Tải dữ liệu nhanh hơn
  • Chi phí thấp
  • Sử dụng ít tài nguyên hơn.

Nhược điểm

Sau đây là những nhược điểm của Phần mềm nhúng

  • Nâng cấp rất phức tạp
  • Mỗi lần đặt lại là cần thiết nếu có bất kỳ sự cố nào xảy ra
  • Khả năng mở rộng cho các giá trị nhỏ là khó khăn.

Các ứng dụng

Sau đây là các ứng dụng của Phần mềm nhúng

  • Ngân hàng
  • Ô tô
  • Đồ gia dụng
  • Xe hơi
  • Tên lửa, v.v.

Câu hỏi thường gặp

1). Phần mềm nhúng là gì?

Phần mềm nhúng hoặc lập trình hệ thống nhúng là phần mềm máy tính, được sử dụng để điều khiển các thiết bị bằng cách cung cấp các hướng dẫn.

2). Các chương trình được sử dụng trong phần mềm hệ thống nhúng là gì?

Các chương trình phần mềm hệ thống nhúng được lập trình bằng C hoặc C ++, Phyton và Java Scripts.

3). Sự khác biệt giữa hệ thống nhúng và hệ thống thông thường là gì?

Hệ thống nhúng là sự kết hợp giữa phần cứng và phần mềm, nơi nó được thiết kế cho một mục đích cụ thể. Các quy trình được xử lý tuần tự. Trong khi bộ xử lý thông thường là hệ điều hành thời gian thực của RTO, nó được yêu cầu khi có nhu cầu thực thi song song.

4). Các loại hệ thống nhúng khác nhau là gì?

Hệ thống nhúng được phân loại thành hai loại

  • Dựa trên các yêu cầu về hiệu suất và chức năng, chúng được phân loại thêm thành Thời gian thực, độc lập, nối mạng, di động.
  • Dựa trên hiệu suất của vi điều khiển, chúng được phân loại thêm thành quy mô nhỏ, quy mô trung bình và quy mô phức tạp

5). Các ứng dụng chính của hệ thống nhúng

Các ứng dụng chính của một hệ thống nhúng là

  • Máy giặt
  • Máy ảnh kĩ thuật số
  • Máy nghe nhạc, v.v.

Hệ thống nhúng là sự kết hợp của phần cứng và phần mềm. Ở đâu chương trình phần mềm nhúng được lập trình bằng C hoặc C ++, Phyton và Java Scripts. Chúng chạy trên hệ điều hành Linux, micro C / OS, QNX, v.v. Ngôn ngữ C là ngôn ngữ cơ bản để viết mã phần mềm nhúng. Vì vậy, đây là tổng quan về Phần mềm nhúng và kiến ​​trúc của nó được giải thích bằng cách sử dụng một chương trình.