Xin lưu ý: Câu hỏi này đặc biệt đề cập đến hai RTOS nhưng chung chung hơn và có thể được trả lời bởi bất kỳ ai đã viết mã C cho RTOS nhúng trước đó và phần mềm của họ chạy trực tiếp trên MCU.
Tôi quan tâm đến việc tìm hiểu thêm về RTOS nhúng và viết các ứng dụng cho chúng. Tôi hiện đang xem Embox và RIOT vì chúng là nguồn mở, hiện đại, hoạt động và dường như có tài liệu tuyệt vời. Mục tiêu của tôi có hai giai đoạn: Giai đoạn 1 là tìm ra cách biên dịch và flash các hệ điều hành này vào MCU (có thể là AVR hoặc ARM). Giai đoạn 2 là sau đó viết một chương trình C đơn giản (về cơ bản là một daemon không đầu), sẽ phát triển theo thời gian như một "ứng dụng sở thích". Sau đó, tôi sẽ flash / triển khai chương trình này tới cùng MCU, từ đó triển khai thành công một appstack bao gồm Embox / RIOT và ứng dụng của tôi nằm trên nó.
Trước khi tôi đi vào bất kỳ con đường nào dẫn đến ngõ cụt, tôi tình cờ thấy bài viết này thực hiện khá tốt việc giải thích lý do tại sao các ứng dụng thời gian thực, được viết bằng C / trình biên dịch và flash vào MCU, không thực sự cần RTOS bên dưới chúng .
Vì vậy, bây giờ tôi thực sự bối rối, và đang đặt câu hỏi về một số hiểu biết cơ bản của tôi về lý thuyết điện toán. Tôi đoán tôi đang cố gắng đưa ra quyết định về việc có nên sử dụng Embox / RIOT ngay từ đầu hay không:
- Tiếp tục khóa học và đi với một "ngăn xếp ứng dụng" trên MCU của cả hai ứng dụng OS +; hoặc là
- Hãy chú ý đến cảnh báo của bài viết và chỉ cần đi với một MCU chạy ứng dụng của tôi "kim loại trần"
Rõ ràng, trước đây là công việc nhiều hơn, và vì vậy tốt hơn là có một lý do tốt / tiền chi trả cho việc đi theo con đường đó. Vì vậy, tôi hỏi: những lợi ích thực sự mà các RTOS nhúng này (và tương tự) cung cấp cho các nhà phát triển ứng dụng MCU / C là gì? Ứng dụng C nào của tôi có thể được hưởng lợi từ (có lẽ bằng cách không phát minh lại bánh xe?) Bằng cách sử dụng RTOS? Những gì đã mất bằng cách bỏ RTOS và đi kim loại trần?
Tôi đang yêu cầu các ví dụ cụ thể ở đây, không phải sự cường điệu về phương tiện truyền thông bạn nhận được khi bạn truy cập mục wikipedia cho RTOSes ;-)