Raspberry Pi 3 có hỗ trợ RTOS không?


12

Tôi mới đến thế giới RTOS. Tôi đang dự định sử dụng một số RTOS trên Raspberry Pi 3 (có thể là FreeRTOS). Bất cứ ai có thể đề nghị RTOS nào sẽ tốt cho người mới bắt đầu?

Vì họ chưa phát hành một bảng dữ liệu trên BCM2837, nên thậm chí có thể tải RTOS lên Raspberry Pi 3 không?

Điều này sẽ giúp?


1
Chắc chắn không có lý do tại sao bạn không thể tải RTOS lên RPi. Tuy nhiên, yêu cầu đề xuất một HĐH cụ thể là ngoài chủ đề.
Chenmunka

1
Ai đó có thể biết tại sao bạn cần RTOS không? Điều gì sẽ cung cấp cho bạn mà bất kỳ hệ điều hành khác sẽ không? Các yêu cầu thời gian thực mà bạn phải đáp ứng là gì? Bạn có thể làm rõ những gì làm cho một RTOS tốt cho người mới bắt đầu?
joan

1
@Chenmunka "RTOS nào tốt nhất cho RPi?" ("Dành cho người mới bắt đầu" hoặc nói cách khác) sẽ không có chủ đề như ý kiến. Đây là loại, nhưng tiêu đề có nghĩa đen là "Raspberry pi 3 có hỗ trợ RTOS không?" -> Như bạn chỉ ra, có lẽ là có. Nếu phần còn lại của câu hỏi thực sự có ý nghĩa, RTOS là gì, thì không sao - đó chắc chắn là bản chất của bất kỳ câu trả lời thực tế nào, tôi nghĩ vậy. Có ít nhất một ... loại.
goldilocks

@joan Tôi cần RTOS cho các giải pháp nhúng cho các ứng dụng ô tô. Vì tôi mới sử dụng RTOS, tôi đã tự hỏi liệu nó có thể dựa vào phần cứng có sẵn (rpi-3) ở nhà không .
cát

Hãy nhìn vào lõi Ultibo. Nó có thể chỉ là những gì bạn cần. ultibo.org
avra

Câu trả lời:



5

Cho đến bây giờ tôi đã thử nghiệm RTOS sau mà không thành công cho raspberry pi 3, điều đó sẽ giúp ai đó không mất thời gian (tôi lãng phí 3 tháng): FreeRTOS, Xenomai, RTEMS, BitThunder, ChibiOS / RT

Đối với HĐH RISC, đây không phải là RTOS.

Người duy nhất tôi có thể chạy trên raspberry pi 3 cho đến bây giờ là kernel của Fuchsia OS (Magenta), nhưng nó ở giai đoạn trước và tài liệu thấp

Một cách khác là tự xây dựng RTOS cho bạn, vâng, có thể, sử dụng ULTIBO CORE và làm theo các hướng dẫn sau: - http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal- lập trình trong cpt1 / - https://www.youtube.com/watch?v=TCfpb8M0weQ


1
Tôi đã sử dụng Xenomai 2.6.5 trên Raspberry Pi 3 (sử dụng mã từ github.com/margro/linux ).
steviethecat

4

ARM, họ ISA được các bộ xử lý Broadcom sử dụng trên tất cả các mẫu Raspberry Pi hiện tại, dựa trên RISC , trong đó RISC OS được viết. Hệ điều hành RISC Tôi nghĩ rằng chiếm ưu thế trên các thiết bị ARM trong thập kỷ đầu tiên của họ, vì cùng một công ty công nghệ có trụ sở tại Anh (Acorn) đã thiết kế cả hệ điều hành ARM và RISC. Trên thực tế, ARM ban đầu là viết tắt của "Acorn RISC machine" và một phần lý do Raspberry Pi được gọi là vì nó là truyền thống ở Anh về việc đặt tên cho hệ thống máy tính theo tên trái cây hoặc hạt.

Hệ điều hành RISC không phải là một hệ điều hành thời gian thực thực sự, tuy nhiên, nó sử dụng đa tác vụ hợp tác , nghĩa là bạn có thể chạy một quy trình có thể tự nguyện từ chối đầu hàng chính nó sang quy trình khác. Những hậu quả này có thể tôi không biết, nhưng tôi sẽ cho rằng:

  • Bạn có thể có được những thứ được cấu hình để cho phép điều này mà không gặp vấn đề gì, nhưng nó có thể liên quan đến những hạn chế về những gì HĐH có thể thực hiện (ví dụ, liên quan đến kết nối mạng).

  • Bối cảnh chuyển sang chế độ kernel sẽ chỉ xảy ra do các cuộc gọi hệ thống được thực hiện bởi quá trình để hoàn thành các mục tiêu của nó.

Điều đó khá gần với chức năng thời gian thực, tùy thuộc vào mức độ "thời gian thực" mà bạn cần có. Hơn nữa, có một số xác nhận rằng RISC OS chạy trên Pi 3 .


Cảm ơn vi đa trả lơi. Có vẻ như thực sự không cần thiết phải sử dụng một HĐH khác cho rpi-3 vì HĐH cư trú cũng là một thời gian thực. Ứng dụng của tôi nhắm đến phần cứng nhúng không thể có HĐH dựa trên linux như raspbian do hạn chế về bộ nhớ. Vấn đề là, tôi có thể tải RTOS khác có dung lượng bộ nhớ nhỏ trên rpi-3 chỉ để làm quen với thế giới RTOS không? Có bất kỳ giới hạn nào trên rpi-3 không?
cát

1
Tôi xin lỗi: Để giải thích, đây không phải là một diễn đàn thảo luận . Vui lòng tham quan lại và chú ý đến phần "Nhận câu trả lời cho các câu hỏi thực tế, chi tiết" . Có vẻ như bạn đã bỏ chi tiết ra khỏi câu hỏi của mình, mời người khác lãng phí thời gian của họ để cung cấp câu trả lời không phải là điều bạn đang tìm kiếm để bạn có thể thu hẹp câu hỏi sau đó . Đó không phải là cách SE hoạt động. Nếu bạn có một câu hỏi khác, hãy hỏi một câu hỏi khác. Đừng chỉnh sửa cái này để thay đổi nghĩa gốc hoặc tôi sẽ đóng nó lại. Cảm ơn bạn.
goldilocks

1
Tôi sẽ cho bạn một lời khuyên mặc dù: Nếu bạn đang tìm kiếm một HĐH sẽ chạy trên các hệ thống có bộ nhớ MB phụ, bạn nên tìm hiểu trước về các tùy chọn của mình. Chỉ cần chọn một hệ điều hành thời gian thực một cách ngẫu nhiên "để thực hành" có thể sẽ dạy cho bạn hoàn toàn không có gì về cái mà bạn cuối cùng phải thực sự sử dụng. Vì vậy, đừng lãng phí thời gian của bạn. Tìm hiểu những gì bạn cần sử dụng, sau đó hỏi xem bạn có thể sử dụng nó trên pi không, v.v.
goldilocks

0

Do định nghĩa của RTOS khác nhau trên ứng dụng, thông thường máy tính giả vờ đơn giản hơn nhiều, RISC OS là RTOS cho các ứng dụng phức tạp trung bình và không nhất thiết phải dành cho các ứng dụng phức tạp cao, mặc dù RTOS phức tạp cao Nghe có vẻ mâu thuẫn trong điều khoản. Ví dụ của Mahmoud Recentafa RABBAH đề cập đến không có HĐH và chạy một chương trình tác vụ đơn trực tiếp từ trình tải khởi động, cũng không phải là RTOS.

Cách duy nhất hợp lý để hiểu điều này là chia định nghĩa RTOS thành ba cấp độ:

  • Độ phức tạp thấp sẽ là một cái gì đó giống như máy giặt hoặc bộ ghi dữ liệu và có lẽ bạn nên sử dụng phần cứng đơn giản hơn, ví dụ như Arduino hoặc có thể là MCU đơn giản hơn, hoặc thậm chí chỉ là logic tuần tự, ngay từ đầu. Nó sẽ tiêu thụ ít năng lượng hơn và sẽ có rất ít phải lo lắng về: Không bao giờ làm mọi thứ phức tạp hơn mức phải có.

  • Độ phức tạp cao sẽ giống như một hệ thống đa tác vụ đầy đủ, mà RTOS không có. Có lẽ tốt hơn là chạy GUI của bạn trên một thiết bị riêng biệt, nếu bạn muốn điều đó. Độ phức tạp cao cũng có thể là giám sát các quy trình gọi các quy trình khác và một số phải được ưu tiên, nhưng một lần nữa, bạn nên sử dụng một số loại xử lý song song ở đó hoặc không thể đáp ứng trong thời gian thực.

  • Độ phức tạp trung bình sẽ là nơi bạn cần các giao diện mà một hệ điều hành bình thường có thể cung cấp, ví dụ như USB và có lẽ là một đầu ra màn hình nhỏ, nhưng bạn muốn xử lý một luồng dữ liệu và không bị gián đoạn bởi bất cứ điều gì. Điều này nghe có vẻ như cấp độ của một ứng dụng ô tô.

    Vì thế, bạn có thể biên dịch thứ gì đó mà không cần HĐH, sử dụng máy chủ để phát triển nó hoặc bạn có thể sử dụng phiên bản RISC OS khởi động trực tiếp vào BASIC và phát triển trên máy đích, thường dễ dàng hơn.

    Điều đó sẽ chạy một nhiệm vụ duy nhất có thể đủ nhanh để thăm dò ý kiến ​​cho một số sự kiện mà không bị gián đoạn bởi những thứ khác. Các ngắt phần cứng vẫn sẽ chạy trừ khi chúng bị vô hiệu hóa (khá dễ thực hiện) và những điều đó là cần thiết để làm cho màn hình / USB, v.v. Các ngắt phần cứng khác chạy bộ hẹn giờ và IO bạn có thể không sử dụng.

Một ưu điểm khác của HĐH RISC trong các ứng dụng RTOS là bạn chỉ có thể sử dụng các mô-đun bạn yêu cầu, một thứ không có ý nghĩa trong các ứng dụng GUI truyền thống và đã được sử dụng bởi ví dụ STD / AdvantageSix [1] mặc dù chúng sử dụng thuật ngữ "hệ thống nhúng" thay vì "RTOS". Ưu điểm mang lại là thiết kế đơn giản, yêu cầu năng lượng thấp hơn, sử dụng bộ nhớ thấp hơn và thời gian khởi động nhanh hơn (một số giao diện thiết bị I / O yêu cầu tự khởi động mini và HĐH phải tham gia vào điều này, mặc dù thời gian thường quá ngắn để nhận thấy ).

Tôi hy vọng rằng cả hai sẽ lấp đầy một số lỗ hổng trong thông tin ở trên và làm rõ những lỗ hổng trong kiến ​​thức của riêng tôi.

[1] http://www.THERagesix.co.uk/about_us.html (Các ví dụ khác từ bộ nhớ, không còn có sẵn trực tuyến.)

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.