Nền:Mã thử nghiệm cho ứng dụng được nhúng
Tôi đang phát triển một dự án lớn bằng cách sử dụng Atmel AVR atmega2560. Dự án này chứa rất nhiều chức năng dựa trên phần cứng (7 thiết bị SPI, 2 I2C, 2 cổng RS485 MODBUS, rất nhiều I/O tương tự và kỹ thuật số). Tôi đã phát triển "trình điều khiển" cho tất cả các thiết bị này cung cấp vòng lặp ứng dụng chính với một giao diện để truy cập dữ liệu cần thiết.
Câu hỏi:
Dự án tôi đang phát triển cuối cùng sẽ phải đáp ứng các tiêu chuẩn SIL.
Tôi muốn có thể kiểm tra mã và cung cấp mức độ bao phủ mã tốt. Tuy nhiên tôi không thể tìm thấy bất kỳ thông tin nào để tôi bắt đầu về cách thiết lập một khung kiểm thử như vậy.
Ý tưởng là tôi có thể có một bộ kiểm tra tự động cho phép sửa lỗi trong tương lai và bổ sung tính năng để kiểm tra xem chúng có vi phạm mã hay không. Điều này là tôi không hiểu làm thế nào mã có thể được thử nghiệm trên chip.
Tôi có cần phần cứng để giám sát I/O trên thiết bị và mô phỏng các thiết bị được kết nối bên ngoài không? Bất kỳ con trỏ nào có thể được cung cấp sẽ được đánh giá cao.
--Steve
SRoe, tôi cũng đặc biệt khuyên bạn nên trừu tượng hóa logic lớp, thuật toán, chức năng, v.v. Phấn đấu để cô lập mã thực sự của phần cứng hoặc thiết bị cụ thể thành một số lượng nhỏ các mô-đun. Điều này sẽ giúp bạn dễ dàng theo lời khuyên của Aaron hơn. Nó cũng sẽ cải thiện khả năng thử nghiệm của các bit phần cứng riêng biệt. –
Bạn nên chạy thử nghiệm đơn vị trên phần cứng đích thực sau khi chạy trên máy chủ, nhưng giả sử truy cập phần cứng bên ngoài. Điều này bắt lỗi trình biên dịch và phần cứng trên nền tảng đích. Nó thậm chí có thể được yêu cầu cho mức SIL cao hơn. – starblue