Lập trình nhúng

Lập trình C cho hệ thống nhúng (Phần 1 - Các kiến thức cơ bản)

Cập nhật872
0
0 0 0 0

1. Quy trình phát triển phần mềm

Thông thường nhà sản xuất sẽ cung cấp các công cụ dùng để phát triển phần mềm cho các dòng VĐK của họ. Đối với dòng kiến trúc ARM thì nổi tiếng nhất là 2 phần mềm IAR và KEIL. Các bộ công cụ này đều chứa các thành phần như editor, asembler, compiler và simutator. Ngoài ra nó còn có thể download và debug. Quá trình phát triển phần mềm cho hệ thống nhúng sử dụng Keli như hình dưới.

Ban đầu, người phát triển sử dụng Editor để soạn thảo ra source code (có thể là Assembly, C, C++..). Tiếp theo, ta sử dụng Asembler hay compiler để chuyển source code này thành object code mà máy có thể hiểu được. Compiler cũng tạo ra các listing file thể hiện địa chỉ và object code tương ứng với mỗi lệnh máy.
thi-truong-phan-mem-lap-trinh-nhung
2. Sử dụng C để lập trình nhúng

Ngôn ngữ C được dùng để viết hệ điều hành UNIX bởi Dennis Ritchie vào năm 1971.

2.1. Ưu điểm của C

Một trong những ưu điểm lớn nhất của C là nó không bị ràng buộc bởi một phần cứng hay một hệ thống cụ thể. Điều này khiến cho người phát triển có thể sử dụng để viết chương trình và chạy mà không cần thay đổi cho từng hệ thống riêng biệt . Việc build để chạy cho các hệ thống khác nhau phụ thuộc vào trình biên dịch. Chẳng hạn, chúng ta có thể viết chương trình C sau đó sử dụng các trình biên dịch build và chạy trên windows cũng như Linux. C cũng được gọi là một ngôn ngữ middle-level bởi nó kết hợp giữa ngôn ngữ bậc cao và cũng có thể truy cập rất sâu vào hệ thống như ngôn ngữ bậc thấp (chẳng hạn thông qua con trỏ hay các hàm Assembly nhúng vào chương trình). Để tạo ra mã máy hiệu quả (eficient high level) không những cần có thiết kế chương trình tốt mà còn cần chú ý đến các chi tiết cài đặt nhỏ, đặc biệt là đối với hệ thống nhúng.
thi-truong-phan-mem-lap-trinh-nhung
2.2. Nhược điểm của C

Code lớn và không hiệu quả bằng assembly Không hỗ trợ trực tiếp kiểu stack Khó viết các hàm xử lý ngắt.

2.3. Một số lưu ý khi phát triển phần mềm nhúng

Đặc điểm đối với hệ thống nhúng:
ROM và RAM hạn chế. Lập trình phụ thuộc phần cứng. Cần đáp ứng chính xác về thời gian (hàm xử lý ngắt, tác vụ…) Nhiều kiểu pointer (far/rom/ui/paged/…) Một số keywords và token đặc biệt (@, interrupt, tiny,..)

Để phát triển tốt phần mềm nhúng bằng ngôn ngữ C cần nắm vững.
Thiết kế kiến trúc phần mềm hợp lý. Thành thạo sử dụng các tool và debugging Data types native support Các thư viện chuẩn. Phân biệt rõ về simple code với eficient code.


Xem thêm các bài viết liên quan khác: Lập trình nhúng

Xem thêm nhiều bài viết hay tại:
Cổng thông tin toàn diện về phần mềm
Cổng thông tin VHRO - giải pháp quản lý nhân sự online

NguồnLinkedin
Lượt xem25/06/2021
0 0 0 0
Chia sẻ bài viết

Tin Nổi bật

Tin xem nhiều

Trang chủ Liên hệ Tìm kiếm Tài khoản Danh mục
Hệ thống đang xử lý
Thông tin liên hệ của quý khách đã được gửi đến cho chúng tôi. Chúng tôi sẽ nhanh chóng tiếp nhận và phản hồi thông tin cho quý khách trong thời gian thích hợp nhất. Đóng