Thời gian thực cứng có nhiều việc phải làm với cách phần mềm của bạn hoạt động như thế nào so với phần cứng của chính nó. Khi yêu cầu nếu một cái gì đó là khó khăn thời gian thực nó phải được áp dụng cho hệ thống hoàn chỉnh (Phần cứng, RTOS và ứng dụng). Điều này có nghĩa là thời gian thực cứng hoặc mềm là vấn đề thiết kế hệ thống.
Khi tải vượt quá đặc điểm kỹ thuật, hệ thống thời gian thực cứng sẽ không thành công (hy vọng với chỉ báo lỗi đúng) trong khi hệ thống thời gian thực mềm với tải thấp sẽ cho kết quả thời gian thực khó. Quá trình xử lý phải diễn ra đúng lúc và mức độ xử lý trước/sau có thể thực hiện là khóa thực sự đối với thời gian thực cứng/mềm.
Trong một số ứng dụng thời gian thực, một số mất dữ liệu không phải là lỗi, nó chỉ ở dưới một mức nhất định, một lần nữa là tiêu chí hệ thống.
Bạn có thể tạo đầu vào cho bảng và có một ứng dụng nhỏ đếm chúng và kiểm tra dữ liệu ở mức nào sẽ bị mất. Nhưng điều đó mang lại cho bạn một đánh giá cụ thể cho hệ thống đang chạy ứng dụng đó. Ngay sau khi bạn bắt đầu thực hiện nhiều việc xử lý tải tính toán của bạn tăng lên và bây giờ bạn có một giới hạn thời gian thực cứng khác.
Bảng này sẽ chạy bộ lập lịch xương trần sẽ mang lại hiệu suất thời gian thực khó dự đoán lớn cho hầu hết các tác vụ. Chạy một RTOS đầy đủ với tải tính toán nặng, bạn có thể chỉ nhận được thời gian thực mềm.
Edit after comment
Cách hiệu quả nhất và dễ dàng nhất tôi đã sử dụng để đo lường hiệu suất phần mềm của tôi (giả sử bạn sử dụng một schedular) là bằng cách sử dụng một bộ đếm thời gian phần cứng chạy tự do trên bảng và thời gian đóng dấu bắt đầu và kết thúc của chu kỳ của tôi của tôi . Hoặc nếu bạn chạy một tem thời gian RTOS đầy đủ, bạn mua lại và chuyển đổi. Tiết kiệm thời gian Max của bạn và chạy trung bình trên các giá trị trong một giây. Nếu trung bình của bạn là khoảng 50% và bạn tối đa là trong vòng 20% trung bình của bạn, bạn là OK. Nếu không, đó là thời gian để cấu trúc lại ứng dụng của bạn. Khi ứng dụng của bạn tăng thời gian chu kỳ sẽ tăng lên. Bạn có thể theo dõi hiệu quả của tất cả các thay đổi phần mềm trong thời gian chu kỳ của bạn.
Một cách khác là sử dụng bộ hẹn giờ phần cứng tạo ra gián đoạn theo chu kỳ. Nếu bạn đang trong thời gian thiết lập lại ngắt. Nếu bạn bỏ lỡ thời hạn bạn đã ngắt tín hiệu xử lý một thất bại.Tuy nhiên điều này sẽ chỉ cung cấp cho bạn một cảnh báo khi ứng dụng của bạn mất nhiều thời gian nhưng nó phụ thuộc vào phần cứng và ngắt nên bạn không thể bỏ lỡ.
Các giải pháp này cũng loại bỏ yêu cầu treo lên một phạm vi để giám sát đầu ra vì thông tin thời gian có thể được hiển thị trong bất kỳ loại thiết bị đầu cuối nào bằng tác vụ nền. Nếu dễ giám sát, bạn sẽ theo dõi nó thường xuyên tránh giải quyết các vấn đề về thời gian ở cuối nhưng ngay khi chúng được giới thiệu.
Hy vọng điều này sẽ giúp
BTW, bạn có thể gọi hỗ trợ. Tôi đã nhận được "Grant" 3 lần rồi. Anh ấy khá hữu ích. –
Sử dụng mảng cổng cho bit thời gian thực cứng. Đó là những gì nó cho. –
mũ của những gì chúng tôi nhận ra. Bây giờ sử dụng một bảng khác, chạy VxWorks –