RTOS untuk Cortex M4 dengan tumpukan 802.15.4 / 6LoWPAN


8

Saya mengevaluasi sistem operasi untuk digunakan dalam Proyek Internet of Things dan saya tidak tahu apa cara terbaik untuk melanjutkan.

Saya menggunakan MCU TM4C123GH6PM dengan 32k RAM dan transceiver CC2520 802.15.4, akan lebih baik jika sistem sudah menyediakan driver untuk mereka.

Sistem akan menjalankan satu tugas (interaktif) yang menarik layar dotmatrix dan bereaksi terhadap input pengguna. Ini akan menyimpan konfigurasi dan data aplikasi pada spi flash. Akan ada mesh beberapa modul (berdasarkan 802.15.4) untuk menyinkronkan data antara modul, mengekstrak data sensor dari modul dan meneruskannya ke gateway (rpl datang ke pikiran) dan juga mendistribusikan pembaruan firmware OtA dalam gosip- seperti fashion. Semua sambil menjalankan aplikasi yang agak haus memori juga.

Sejauh ini saya telah melihat ke dalam sistem ini:


RIOT :

pro

  • abstraksi perangkat keras yang baik
  • jejak kaki kecil
  • komunitas yang sangat aktif dan membantu
  • 802.15.4 / 6LoWPAN stack penuh

kontra

  • tidak stabil, masih mengalami perubahan mendasar
  • masih mengandung kondisi balapan / crash
  • tidak ada dukungan sistem file
  • beberapa protokol jaringan

Contiki :

pro

  • sistem matang, digunakan dalam produk komersial
  • 802.15.4 / 6LoWPAN stack penuh dengan banyak protokol yang bermanfaat
  • dukungan sistem file
  • dukungan cc2520

kontra

  • pembangunan telah menjadi basi
  • basis kode 'dewasa', banyak bit busuk
  • port tiva c berkualitas buruk
  • sedikit dukungan untuk platform modern
  • penjadwalan non-preemptive dapat menyebabkan masalah dengan aplikasi

FreeRTOS :

pro

  • sedikit kompleksitas tambahan
  • mudah digunakan, penjadwal yang andal
  • proyek matang, digunakan dalam banyak produk
  • banyak port

kontra

  • tidak ada sistem file
  • tidak ada abstraksi perangkat keras untuk driver / tidak ada driver perangkat keras
  • tidak ada tumpukan jaringan
  • Penggunaan memori dinamis agak tinggi

NuttX :

pro

  • kaya fitur, hampir terasa seperti Linux, namun masih kecil
  • dukungan sistem file
  • abstraksi perangkat keras yang baik
  • Port Tiva C, banyak port lainnya

kontra

  • agak rumit
  • tidak ada dukungan untuk 802.15.4 / 6LoWPAN, hanya netstack 'klasik'

Kesimpulan saya akan mengambil bagian yang baik dari Contiki (netstack, sistem file) dan port mereka ke FreeRTOS. Tapi aku tidak sepenuhnya nyaman dengan garpu seperti itu. Saya mungkin akan menambahkan kesalahan dan tidak akan dapat mendukung perbaikan hulu, juga saya masih harus menemukan abstraksi perangkat keras saya sendiri untuk dapat beralih MCU di masa depan. Jadi saya akan berakhir dengan OS saya sendiri untuk sesuatu yang tampak seperti masalah yang harus dimiliki banyak orang juga - belum pernahkah seseorang melakukan itu sebelumnya? (Maksud saya, saya memang menemukan sesuatu, tetapi gagasan menjalankan seluruh contiki-os sebagai tugas FreeRTOS membuat saya tidak nyaman)

Apakah ada sesuatu yang saya lewatkan? Mungkin rasa sakit akan sia-sia dan saya harus mencoba untuk mendapatkan Contiki ke keadaan fungsional pada perangkat keras saya? Atau ada sistem lain yang saya lewatkan yang akan menyelesaikan masalah saya?

Juga saya tidak yakin apakah saya memerlukan 6lowPan sama sekali, tetapi ketika itu berarti mampu membangun protokol yang ada / kompatibel dengan sistem lain (misalnya Linux), saya akan bersedia mengambil overhead tambahan.


1
running the entire contiki-os as a FreeRTOS task makes me uncomfortableItu hanya .. wow! Saya tidak akan pernah memikirkan hal itu ..
mLlin

Jawaban:


2

Jika Anda belum menikah dengan prosesor tertentu (atau cukup pintar untuk menyalin / menempelkan kode keluar), saya sering menggunakan MCU Freescale dengan CodeWarrior dan Ahli Prosesor. PEX mencakup sejumlah komponen termasuk FreeRTOS, MQX, FAT, dll. Komponen tambahan dapat diunduh dan, pada akhirnya, itu hanya generator kode berbasis GUI sehingga, seperti yang disarankan, Anda dapat menyalin / menempelkan kode C yang dihasilkan ke dalam proyek Anda.

Edit:

-MQX termasuk tumpukan IP

-FNET

Paket besar yang telah dikompilasi sebelumnya dari banyak komponen yang berguna: http://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/


1

Anda melewatkan OS tidur : masukkan deskripsi gambar di sini

pro

  • didukung langsung (dipromosikan) oleh desainer inti - ARM Ltd.

kontra

  • rilis stabil pertama diharapkan (direncanakan) hanya pada November'15: -]

1

Jika ini untuk penggunaan komersial, saya sangat menyarankan Anda melihat opsi yang tidak bebas, dukungan adalah segalanya, jika ini adalah proyek pribadi maka saya bisa mengerti.

Ya, ada biaya yang terlibat, tetapi dengan beberapa pengembang RTOS, itu tidak terlalu besar, mereka benar-benar menghasilkan uang dari pengembangan kustom dan lisensi dapat gratis sampai Anda melakukan penjualan. Di bawah ini adalah tautan ke artikel yang membandingkan beberapa pesaing berbayar:

Membandingkan sistem operasi mikrokontroler waktu-nyata

Saya seorang manajer proyek, dan kami beralih dari menggunakan driver yang ditawarkan ST ke Unison. IIRC, perizinannya sangat kecil, dan kami mendapat "uji coba penuh" sampai kami yakin, tetapi dukungan langsung yang konsisten adalah yang mendorong kami, dan yang benar-benar membantu mempercepat pengembangan kami. Saya pikir mereka sudah memiliki dukungan untuk berbagai chip nirkabel TI, tidak yakin tentang CC2520.

Orang yang melakukan sebagian besar penjualan benar-benar mampu secara pribadi dan tidak mencantumkan harga karena dua alasan, saya diberitahu 1) karena mereka ingin mendengar apa yang Anda butuhkan, mereka benar-benar ingin pelanggan kembali, dan referensi dari mulut ke mulut, dan 2) kompetisi.

FYI, situs web Unison benar-benar buruk.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.