RTOS cho Cortex M4 với ngăn xếp 802.15.4 / 6LoWPAN


8

Tôi đang đánh giá các hệ điều hành để sử dụng trong Dự án Internet of Things và tôi không biết cách tốt nhất để tiến hành.

Tôi đang sử dụng MCU TM4C123GH6PM với RAM 32k và bộ thu phát CC2520 802.15.4, thật tuyệt nếu hệ thống đã cung cấp trình điều khiển cho những người đó.

Hệ thống sẽ chạy một tác vụ (tương tác) vẽ màn hình dotmatrix và phản ứng với đầu vào của người dùng. Nó sẽ lưu trữ dữ liệu cấu hình và ứng dụng trên spi flash. Sẽ có một mạng lưới gồm nhiều mô-đun (dựa trên 802.15.4) để đồng bộ dữ liệu giữa các mô-đun, trích xuất dữ liệu cảm biến từ các mô-đun và chuyển chúng đến một cổng (rpl đến với tâm trí) và cũng phân phối các bản cập nhật firmware OtA trong một tin đồn- thích thời trang. Tất cả trong khi chạy một ứng dụng khá đói bộ nhớ là tốt.

Cho đến nay tôi đã xem xét các hệ thống này:


RIÊNG :

ưu

  • trừu tượng phần cứng tốt
  • dấu chân nhỏ
  • cộng đồng rất tích cực và hữu ích
  • đầy đủ ngăn xếp 802.15.4 / 6LoWPAN

khuyết điểm

  • không ổn định, vẫn đang trải qua những thay đổi cơ bản
  • vẫn chứa điều kiện cuộc đua / tai nạn
  • không hỗ trợ hệ thống tập tin
  • vài giao thức mạng

Contiki :

ưu

  • hệ thống trưởng thành, được sử dụng trong các sản phẩm thương mại
  • đầy đủ ngăn xếp 802.15.4 / 6LoWPAN với nhiều giao thức hữu ích
  • hỗ trợ hệ thống tập tin
  • hỗ trợ cc2520

khuyết điểm

  • sự phát triển đã trở nên cũ kỹ
  • cơ sở mã hóa 'trưởng thành', nhiều thối bit
  • cổng tiva c kém chất lượng
  • ít hỗ trợ cho các nền tảng hiện đại
  • lập lịch không ưu tiên có thể gây ra vấn đề với ứng dụng

FreeRTOS :

ưu

  • ít phức tạp thêm
  • dễ sử dụng, lập lịch đáng tin cậy
  • dự án trưởng thành, được sử dụng trong nhiều sản phẩm
  • rất nhiều cổng

khuyết điểm

  • không có hệ thống tập tin
  • không trừu tượng hóa phần cứng cho trình điều khiển / không trình điều khiển phần cứng
  • không có ngăn xếp mạng
  • sử dụng bộ nhớ động cao

NuttX :

ưu

  • Rất giàu tính năng, hầu như cảm thấy giống như Linux, nhưng vẫn còn nhỏ
  • hỗ trợ hệ thống tập tin
  • trừu tượng phần cứng tốt
  • Cổng Tiva C, nhiều cổng khác

khuyết điểm

  • hơi phức tạp
  • không hỗ trợ cho 802.15.4 / 6LoWPAN, chỉ là netstack 'cổ điển'

Kết luận của tôi sẽ là lấy những phần hay của Contiki (netstack, hệ thống tệp) và chuyển chúng sang FreeRTOS. Nhưng tôi không hoàn toàn thoải mái với một ngã ba như thế. Có lẽ tôi đã thêm lỗi và sẽ không thể đưa ra các bản sửa lỗi ngược dòng, ngoài ra tôi vẫn phải phát minh ra sự trừu tượng hóa phần cứng của riêng mình để có thể chuyển đổi MCU trong tương lai. Vì vậy, tôi đã kết thúc với hệ điều hành của riêng mình cho một thứ có vẻ như là một vấn đề mà nhiều người khác cũng nên có - trước đây ai đó đã làm điều đó chưa? (Ý tôi là tôi đã tìm thấy thứ gì đó, nhưng ý tưởng chạy toàn bộ contiki-os như một nhiệm vụ FreeRTOS khiến tôi không thoải mái)

Có thiếu điều gì không? Có lẽ nỗi đau sẽ đáng giá và tôi nên cố gắng đưa Contiki đến trạng thái chức năng trên phần cứng của mình? Hoặc có một hệ thống khác mà tôi đã bỏ lỡ sẽ giải quyết vấn đề của tôi?

Ngoài ra, tôi không chắc chắn liệu tôi có cần 6lowPan hay không, nhưng khi điều đó có nghĩa là có thể xây dựng trên các giao thức hiện có / tương thích với các hệ thống khác (ví dụ: Linux), tôi sẵn sàng nhận thêm chi phí.


1
running the entire contiki-os as a FreeRTOS task makes me uncomfortableĐó chỉ là .. wow! Tôi sẽ không bao giờ nghĩ về điều đó ..
m.Alin

Câu trả lời:


2

Nếu bạn chưa kết hôn với bộ xử lý cụ thể đó (hoặc đủ hiểu biết để sao chép / dán mã ra bằng mọi cách), tôi thường xuyên sử dụng MCU Freescale với CodeWar Warrior và Bộ xử lý chuyên gia. PEX bao gồm một số thành phần bao gồm FreeRTOS, MQX, FAT, v.v. Các thành phần bổ sung có thể được tải xuống và cuối cùng, nó chỉ là một trình tạo mã dựa trên GUI, do đó, như đã đề xuất, bạn có thể sao chép / dán mã C kết quả vào dự án của bạn.

Biên tập:

-MQX bao gồm ngăn xếp IP

-FNET

Gói lớn được biên dịch sẵn gồm nhiều thành phần hữu ích: http://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/


1

Bạn đang thiếu hệ điều hành mbed : nhập mô tả hình ảnh ở đây

ưu

  • được hỗ trợ trực tiếp (quảng bá) bởi nhà thiết kế cốt lõi - ARM Ltd.

khuyết điểm

  • dự kiến ​​phát hành ổn định đầu tiên (dự kiến) chỉ trong 15 tháng 11: -]

1

Nếu đây là cho mục đích thương mại, tôi khuyên bạn nên xem xét các tùy chọn không miễn phí, hỗ trợ là tất cả, nếu đó là một dự án cá nhân thì tôi có thể hiểu.

Vâng, có chi phí liên quan, nhưng với một số nhà phát triển RTOS, nó không lớn lắm, họ thực sự kiếm được tiền nhờ phát triển tùy chỉnh và giấy phép có thể miễn phí cho đến khi bạn bán hàng. Dưới đây là một liên kết đến một bài viết so sánh một số đối thủ cạnh tranh phải trả tiền:

So sánh hệ điều hành thời gian thực vi điều khiển

Tôi là người quản lý dự án và chúng tôi đã chuyển từ sử dụng trình điều khiển được cung cấp ST sang Unison. IIRC, việc cấp phép nhỏ đến mức đáng ngạc nhiên, và chúng tôi đã có một "thử nghiệm đầy đủ" cho đến khi chúng tôi bị thuyết phục, nhưng sự hỗ trợ trực tiếp nhất quán là điều thúc đẩy chúng tôi vượt lên, và điều thực sự giúp thúc đẩy sự phát triển của chúng tôi. Tôi nghĩ rằng họ đã hỗ trợ các chip không dây TI khác nhau, không chắc chắn về CC2520.

Anh chàng bán phần lớn thực sự có khả năng cá nhân và không niêm yết giá vì hai lý do, tôi đã nói 1) vì họ muốn nghe những gì bạn cần, họ thực sự muốn khách hàng quay lại và tham khảo truyền miệng, và 2) cạnh tranh.

FYI, trang web của Unison thực sự tồi tệ.

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.