Có ai đã đánh giá NuttX RTOS chưa?


15

Trong khi đọc Tạp chí Người dùng Linux ngày hôm nay, tôi tình cờ thấy một chút lúng túng về NuttX RTOS. Tôi đã kiểm tra trang web của họ và khá ấn tượng với bộ tính năng của nó và khả năng đưa nó vào một chiếc 8052! Tôi thấy thú vị khi nó hỗ trợ POSIX, đây là điều mà tôi đã giúp đỡ cho một trong những khách hàng RTOS nội bộ của mình. Điều này có vẻ một chút tính năng phong phú hơn RTOS trong nhà.

Có ai khác nghe nói về NuttX và đã dùng thử chưa? Nếu vậy, làm thế nào để so sánh với các RTOS khác như FreeRTOS ?


1
Tôi mới bắt đầu chơi với RTOS và khi tôi hỏi ở đây tôi đã nhận được lời khuyên tuyệt vời, nhưng tôi có cảm giác rằng hầu hết người dùng ở đây không biết RTOS là gì. Tôi không có ý này theo cách xấu, tôi chỉ nghĩ rằng có thể có giá trị khi hỏi điều này trong các diễn đàn khác để tăng cơ hội nhận được câu trả lời tốt.
Kortuk

Dù sao tôi cũng phải thử :-) Bạn không bao giờ biết ai ẩn nấp ở đây :-)
Jay Atkinson

Vâng, tôi cũng đã hỏi câu hỏi lint ở đây. Không bao giờ đau để hy vọng cho một vết cắn.
Kortuk

Bắt đầu tiền thưởng! Quan tâm đến việc so sánh giữa RTOS.
tyblu

7
Tại sao có một cuộc bỏ phiếu để đóng về câu hỏi này? RTOS được sử dụng trong điện tử và robot mọi lúc.
Kellenjb

Câu trả lời:


17

Đã có thảo luận liên quan đến câu hỏi này ở đây: link

Trích đoạn: Bài viết trên Tạp chí Linux được đề cập ở đây: link

Tôi nghĩ rằng các cổng 8052 và M68HC12 là những lựa chọn đặc biệt tồi để mô tả NuttX vì cả hai đều có một số vấn đề và NuttX hiện đang ở phiên bản 5.16 với 63 bản phát hành.

Tôi đã điền vào cuộc phỏng vấn trong tab "Nhà xuất bản" ở đây: link ; có một nhận xét ở đó quá: liên kết .

Tài liệu mở rộng NuttX có sẵn ở đây: link .

Các vấn đề với các phần hcs12 và 8051 như sau:

8051 / 80c52: Kiến trúc này thực sự là thù địch RTOS. Nó có một ngăn xếp phần cứng nhỏ (128 byte trên 8051, 256 trên 80c52) tại một vị trí bộ nhớ chuyên dụng (địa chỉ 0). Để chuyển đổi tác vụ, bạn phải sao chép toàn bộ ngăn xếp của nhiệm vụ bị chặn từ địa chỉ chuyên dụng của nó sang một số vị trí lưu và sau đó sao chép toàn bộ ngăn xếp của nhiệm vụ được bắt đầu từ vị trí lưu của nó sang vị trí ngăn xếp chuyên dụng. YECH!

Và kể từ đó, ngăn xếp rất nhỏ. Nó rất, rất dễ dàng để vượt qua ngăn xếp - đặc biệt là trong quá trình xử lý ngắt.

Cổng NuttX 8051 hoàn chỉnh và hoạt động (ít nhất là lần cuối cùng tôi sử dụng nó). Nhưng để làm cho nó hữu ích, có lẽ bạn sẽ phải sao chép toàn bộ ngăn xếp trên mỗi ngắt cũng để giữ cho nó không bị tràn. Về cơ bản, tôi đã mất hứng thú vào thời điểm đó nhưng nếu ai đó thực sự có động lực sử dụng 8051, điều đó là có thể làm được (nếu có lẽ không được khuyên dùng tốt).

Điều tuyệt vời ở cổng 8051 là nó là một bài tập tuyệt vời trong việc đưa NuttX vào một vị trí bộ nhớ rất nhỏ. Cổng 8051 chạy trong 32Kb RAM - bao gồm RTOS, libc, thư viện trình biên dịch, chương trình thử nghiệm đáng kể, .data / .bss và heap. Và với một chút ký ức!

hcs12: Đây là một dự án mà tôi làm việc trong thời gian rảnh rỗi khi tôi không làm gì khác. Nó chỉ chưa hoàn thành và chưa sẵn sàng cho thời gian chính.


Liên quan đến việc so sánh với các RTOS khác, tôi thực sự không có câu trả lời hay, có thẩm quyền nào vì tôi không sử dụng các RTOS khác. Nhưng đây là sự hiểu biết ngây thơ của tôi:

FreeRTOS có hàng tấn lượt tải xuống và dung lượng rất nhỏ khoảng 4Kb. Đây là RTOS được lựa chọn cho các MCU thực sự nhỏ. Một cổng FreeRTOS được cung cấp bởi các nhà cung cấp silicon với mỗi MCU. Vì vậy, nó là sự lựa chọn mặc định RTOS.

Có hàng tá đối thủ cạnh tranh với FreeRTOS ngoài kia. ChiBIOS đến với tâm trí ngay lập tức. Đây là tất cả các lịch trình nhỏ của các loại khác nhau.

Để thực hiện một so sánh thực tế, một điều chúng ta cần làm trước tiên là xác định những gì chúng ta muốn nói về một RTOS: Nó chỉ là một trình lập lịch biểu? Hoặc nó là một tập hợp các tính năng hệ điều hành tiêu chuẩn - như bộ lập lịch, hệ thống tập tin, trình điều khiển thiết bị, quản lý bộ nhớ, mạng, v.v. Hầu hết hệ điều hành, Linux chẳng hạn, là môi trường phát triển đầy đủ, không chỉ là bộ lập lịch. NuttX là một hệ điều hành đầy đủ có cùng ý nghĩa với Linux. Dưới đây là một vài người khác:

RTEMS : Tôi đã làm việc với cái này. Nó đã tồn tại mãi mãi và sẽ rất ổn định. Nó to; nghĩ> 100kb. Tôi nghĩ rằng nó nhắm một chút trên thị trường MCU.

uCOS : Không bao giờ sử dụng nó, nhưng đây là RTOS trong một số bộ tải khởi động phổ biến, phải không? Ấn tượng của tôi là nó tương tự như RTEMS, nhưng tôi không thực sự biết tôi đang nói về cái gì.

Làm thế nào tôi có thể so sánh NuttX với những người đó: Chà, nó nhỏ hơn rất nhiều. Dấu chân bắt đầu là khoảng 20Kb. Một sự thú nhận đầy đủ tính năng là khoảng 10-20Kb nữa. Một điểm khác biệt so với các RTOS này là NuttX có định hướng rất chuẩn. Bạn có thể nghĩ về NuttX như một công việc nhỏ, giống như Linux. Hầu hết các mã biên dịch và chạy trên Linux cũng sẽ chạy trên NuttX (một số mã hệ thống như mã mạng hoặc trình nền có thể cần một số điều chỉnh).

Tôi nghĩ RTEMS tập trung nhiều hơn vào bộ vi xử lý; NuttX tập trung nhiều hơn vào các bộ điều khiển vi mô.


4

Cấp phép là một sự khác biệt cần lưu ý khi chọn RTOS nguồn mở. Đặc biệt nếu bạn có kế hoạch sử dụng RTOS trong một dự án giao hoán. Hầu hết các RTOS mã nguồn mở đều có giấy phép GPL được sửa đổi. Việc sửa đổi giấy phép thường chỉ định rằng bạn không phải có mã độc quyền liên kết với GPL RTOS (nhưng bạn vẫn phải phát hành các tệp RTOS với các sửa đổi của mình).

NuttX (và có lẽ những người khác) có giấy phép BSD không hạn chế, đã sửa đổi. Với giấy phép BSD, về cơ bản, bạn có thể lấy mã và sử dụng nó như thể nó không có nghĩa vụ nào khác ngoài việc giữ lại thông tin cấp phép và bản quyền trong các tệp.


Nutt, bạn có muốn tôi chỉnh sửa thông tin này thành câu trả lời khác của bạn không, có vẻ như chúng đi cùng nhau.
Kortuk

Chắc chắn, cảm thấy tự do. Rant khoảng 8051 và 80c52 và hc12 dường như cũng nằm ngoài bối cảnh ở đây.
patacongo

Tôi chỉ đảm bảo rằng bạn nhận ra rằng bạn có thể chỉnh sửa thêm. Vì bạn biết điều đó và cố tình làm điều đó, chúng tôi có thể để nó ở đây. Thông thường bạn chỉ có thể chỉnh sửa trong phần khác và sử dụng tiêu đề. Hãy cho tôi biết nếu tôi có thể giúp nếu bạn đổi ý.
Kortuk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.