Wydanie Embox 0.7, systemu operacyjnego do uruchamiania indywidualnego Linux-aplikacje na sprzęcie

Opublikowano modułowy system operacyjny Embox 0.7. Jego celem jest uruchamianie aplikacji na sprzęcie pierwotnie stworzonym dla tego systemu. Linux, ale bez użycia Linux. Система способна работать в режиме реального времени (RTOS) на различных классах устройств, от обычных систем x86, до маломощных плат и микроконтроллеров. Код проекта написан на языке Си и распространяется под лицензией BSD.

Jądro Embox jest podzielone na szereg bibliotek implementujących różne interfejsy API (zarządzanie pamięcią, harmonogram zadań, stos sieciowy itp.). Modułowość Embox pozwala każdej aplikacji działać z minimalnym zestawem komponentów systemowych i bibliotek wystarczających do uruchomienia konkretnej aplikacji. Każda aplikacja jest dostarczana z niezależnym obrazem zoptymalizowanym pod kątem konkretnego zadania i zdolnym do działania na sprzęcie bez zbędnych warstw ani użycia jąder ogólnego przeznaczenia lub środowisk systemowych.

Ta konfiguracja pozwala na uruchamianie istniejących aplikacji z minimalnym obciążeniem na urządzeniach o ograniczonych zasobach. Embbox zapewnia również dodatkową warstwę bezpieczeństwa: aplikacje są statycznie powiązane z bibliotekami, co uniemożliwia uruchamianie innych programów w środowisku innym niż początkowa aplikacja.

Przykłady wykorzystania Embox obejmują tworzenie telefonu VoIP opartego na mikrokontrolerze STM32F7 i bibliotece PJSIP, uruchamianie graficznego interfejsu opartego na Qt na mikrokontrolerze STM32F7, uruchamianie aplikacji do przetwarzania informacji wizualnych przy użyciu OpenCV na płycie STM32F769i, oddzielne uruchamianie serwera SSH Dropbear, uruchamianie gry Quake3 i uruchamianie aplikacji graficznych przy użyciu Mesa.

 Wydanie Embox 0.7, systemu operacyjnego do uruchamiania indywidualnego Linux-aplikacje na sprzęcie

Najważniejsze cechy Emboxa:

  • Obsługa architektur procesorów x86, ARM, RISC-V, Microblaze, SPARC, E2K, PowerPC i MIPS.
  • Obsługa mikrokontrolerów STM32 i możliwość uruchamiania programów przy użyciu Qt, OpenCV, PJSIP i innych popularnych frameworków.
  • Obsługa płytek typu Raspberry Pi.
  • Wsparcie dla tworzenia środowisk do uruchamiania aplikacji w językach C++, Java, Python, Lua, TCL, Lisp, Ruby, JavaScript i Scheme.
  • Zgodność ze standardem POSIX.
  • Możliwość wykorzystania systemów plików FAT i ext2/3/4.
  • Stos TCP/IP с поддержкой сокетов и типовых сетевых протоколов (UDP, HTTP, ARP, NTP, ICMP).
  • Dostępność narzędzi typu Unix, takich jak ls, cat i mount.

Wśród zmian w nowej wersji:

  • Wdrożono podsystem dostępu bezprzewodowego.
  • Zaimplementowano podsystem umożliwiający sterowanie za pomocą komend AT.
  • Ulepszona obsługa architektury RISC-V. Dodano obsługę platform Milandr MDR1206FI, Baikal-Electronics Baikal-U i Syntacore SCR-5.
  • Dodano obsługę procesora MIPS64 KOMDIV-64.
  • Zmodernizowano system montażu.
  • Dodano obsługę platformy uczenia maszynowego TensorFlow Lite.
  • Dodano obsługę środowiska Ardupilot z implementacją autopilota.
  • Dodano obsługę protokołu WebSocket.
  • Udoskonalone podsystemy SPI, I2C i MMC.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster