Hệ thống nhúng - Công cụ & thiết bị ngoại vi
Trình biên dịch và lắp ráp
Trình biên dịch
Trình biên dịch là một chương trình máy tính (hoặc một tập hợp các chương trình) chuyển đổi mã nguồn được viết bằng một ngôn ngữ lập trình (ngôn ngữ nguồn) sang một ngôn ngữ máy tính khác (thường là định dạng nhị phân). Lý do phổ biến nhất để chuyển đổi là tạo một chương trình thực thi. Tên "trình biên dịch" chủ yếu được sử dụng cho các chương trình dịch mã nguồn từ ngôn ngữ lập trình cấp cao sang ngôn ngữ cấp thấp (ví dụ: hợp ngữ hoặc mã máy).
Trình biên dịch chéo
Nếu chương trình đã biên dịch có thể chạy trên máy tính có CPU hoặc hệ điều hành khác với máy tính mà trình biên dịch đã biên dịch chương trình, thì trình biên dịch đó được gọi là trình biên dịch chéo.
Trình biên dịch
Một chương trình có thể dịch một chương trình từ ngôn ngữ cấp thấp sang ngôn ngữ cấp cao được gọi là trình dịch ngược.
Chuyển đổi ngôn ngữ
Chương trình dịch các chương trình được viết bằng các ngôn ngữ cấp cao khác nhau thường được gọi là trình dịch ngôn ngữ, trình dịch nguồn sang nguồn hoặc trình chuyển đổi ngôn ngữ.
Một trình biên dịch có thể thực hiện các hoạt động sau:
- Preprocessing
- Parsing
- Phân tích ngữ nghĩa (Bản dịch theo hướng cú pháp)
- Tạo mã
- Tối ưu hóa mã
Thợ lắp ráp
Trình hợp dịch là một chương trình lấy các lệnh cơ bản của máy tính (được gọi là hợp ngữ) và chuyển đổi chúng thành một mẫu bit mà bộ xử lý của máy tính có thể sử dụng để thực hiện các hoạt động cơ bản của nó. Một trình hợp dịch tạo mã đối tượng bằng cách dịch các thuật ngữ hướng dẫn lắp ráp thành các mã quang, phân giải các tên tượng trưng cho các vị trí bộ nhớ. Hợp ngữ sử dụng một ký hiệu để đại diện cho mỗi hoạt động của máy cấp thấp (opcode).
Công cụ gỡ lỗi trong hệ thống nhúng
Gỡ lỗi là một quá trình có phương pháp để tìm và giảm số lượng lỗi trong một chương trình máy tính hoặc một phần cứng điện tử để nó hoạt động như mong đợi. Gỡ lỗi rất khó khi các hệ thống con được kết hợp chặt chẽ với nhau, bởi vì một thay đổi nhỏ trong một hệ thống con có thể tạo ra lỗi trong hệ thống con khác. Các công cụ gỡ lỗi được sử dụng trong hệ thống nhúng khác nhau rất nhiều về thời gian phát triển và tính năng gỡ lỗi của chúng. Chúng tôi sẽ thảo luận ở đây về các công cụ gỡ lỗi sau:
- Simulators
- Bộ khởi động vi điều khiển
- Emulator
Trình mô phỏng
Mã được kiểm tra cho MCU / hệ thống bằng cách mô phỏng nó trên máy tính chủ được sử dụng để phát triển mã. Trình mô phỏng cố gắng mô hình hóa hoạt động của bộ vi điều khiển hoàn chỉnh trong phần mềm.
Chức năng của Trình mô phỏng
Trình mô phỏng thực hiện các chức năng sau:
Xác định bộ xử lý hoặc họ thiết bị xử lý cũng như các phiên bản khác nhau của nó cho hệ thống đích.
Theo dõi thông tin chi tiết của một phần mã nguồn với các nhãn và các đối số tượng trưng khi quá trình thực thi diễn ra cho mỗi bước đơn lẻ.
Cung cấp trạng thái của RAM và các cổng mô phỏng của hệ thống đích cho mỗi bước thực thi đơn lẻ.
Theo dõi phản ứng của hệ thống và xác định thông lượng.
Cung cấp dấu vết đầu ra của nội dung của bộ đếm chương trình so với các thanh ghi của bộ xử lý.
Cung cấp ý nghĩa chi tiết của lệnh hiện tại.
Theo dõi thông tin chi tiết của các lệnh mô phỏng khi chúng được nhập từ bàn phím hoặc được chọn từ menu.
Hỗ trợ các điều kiện (lên đến 8 hoặc 16 hoặc 32 điều kiện) và các điểm ngắt không điều kiện.
Cung cấp các điểm ngắt và dấu vết cùng là công cụ kiểm tra và gỡ lỗi quan trọng.
Tạo điều kiện thuận lợi cho việc đồng bộ hóa các thiết bị ngoại vi bên trong và sự chậm trễ.
Bộ khởi động vi điều khiển
Một bộ khởi động vi điều khiển bao gồm:
- Bảng phần cứng (Bảng đánh giá)
- Lập trình viên trong hệ thống
- Một số công cụ phần mềm như trình biên dịch, trình hợp dịch, trình liên kết, v.v.
- Đôi khi, một phiên bản đánh giá giới hạn về kích thước mã và IDE của một trình biên dịch.
Một lợi thế lớn của các bộ công cụ này so với trình mô phỏng là chúng hoạt động trong thời gian thực và do đó cho phép xác minh chức năng đầu vào / đầu ra dễ dàng. Tuy nhiên, bộ dụng cụ khởi động là hoàn toàn đủ và là lựa chọn rẻ nhất để phát triển các dự án vi điều khiển đơn giản.
Trình giả lập
Trình mô phỏng là một bộ phần cứng hoặc một chương trình phần mềm hoặc có thể là cả hai mô phỏng các chức năng của một hệ thống máy tính (khách) trong một hệ thống máy tính khác (máy chủ), khác với hệ thống đầu tiên, để hành vi mô phỏng gần giống với hành vi của hệ thống thực (khách).
Mô phỏng đề cập đến khả năng của một chương trình máy tính trong một thiết bị điện tử để mô phỏng (bắt chước) một chương trình hoặc thiết bị khác. Mô phỏng tập trung vào việc tạo lại một môi trường máy tính ban đầu. Trình giả lập có khả năng duy trì kết nối chặt chẽ hơn với tính xác thực của đối tượng kỹ thuật số. Trình giả lập giúp người dùng làm việc trên bất kỳ loại ứng dụng hoặc hệ điều hành nào trên nền tảng theo cách tương tự như phần mềm chạy như trong môi trường gốc của nó.
Thiết bị ngoại vi trong hệ thống nhúng
Hệ thống nhúng giao tiếp với thế giới bên ngoài thông qua thiết bị ngoại vi của chúng, chẳng hạn như sau & phút;
- Giao diện truyền thông nối tiếp (SCI) như RS-232, RS-422, RS-485, v.v.
- Giao diện truyền thông nối tiếp đồng bộ như I2C, SPI, SSC và ESSI
- Bus nối tiếp đa năng (USB)
- Thẻ đa phương tiện (Thẻ SD, Đèn flash nhỏ gọn, v.v.)
- Các mạng như Ethernet, LonWorks, v.v.
- Các bus trường như CAN-Bus, LIN-Bus, PROFIBUS, v.v.
- imers như PLL (s), Capture / Compare và Time Processing Unit.
- IO rời rạc hay còn gọi là Đầu vào / Đầu ra Mục đích Chung (GPIO)
- Tương tự sang kỹ thuật số / Kỹ thuật số sang tương tự (ADC / DAC)
- Gỡ lỗi như các cổng JTAG, ISP, ICSP, BDM Port, BITP và DP9
Tiêu chí chọn bộ vi điều khiển
Trong khi chọn một bộ vi điều khiển, hãy đảm bảo rằng nó đáp ứng được nhiệm vụ trong tầm tay và tiết kiệm chi phí. Chúng ta phải xem liệu vi điều khiển 8 bit, 16 bit hay 32 bit có thể xử lý tốt nhất các nhu cầu tính toán của một tác vụ hay không. Ngoài ra, cần lưu ý những điểm sau khi chọn vi điều khiển:
Speed - Tốc độ cao nhất mà vi điều khiển có thể hỗ trợ là bao nhiêu?
Packaging- Đó là DIP 40 chân (Gói nội tuyến kép) hay QFP (Gói bốn phẳng)? Điều này quan trọng về không gian, lắp ráp và tạo mẫu cho sản phẩm cuối cùng.
Power Consumption - Đây là tiêu chí quan trọng đối với các sản phẩm chạy bằng pin.
Amount of RAM and ROM trên chip.
Count of I/O pins and Timers trên chip.
Cost per Unit - Đây là điều quan trọng về giá thành cuối cùng của sản phẩm mà bộ vi điều khiển sẽ được sử dụng.
Hơn nữa, hãy đảm bảo rằng bạn có các công cụ như trình biên dịch, trình gỡ lỗi và trình lắp ráp, có sẵn cùng với bộ vi điều khiển. Điều quan trọng nhất của tất cả, bạn nên mua một bộ vi điều khiển từ một nguồn đáng tin cậy.