| 開発者 | メンターグラフィックス社(シーメンス傘下) |
|---|---|
| 書かれた | C |
| OSファミリー | POSIX、トロン |
| 作業状態 | 現在 |
| ソースモデル | クローズドソース |
| 初回リリース | 1993年 |
| 最新リリース | 3.x, 2017.02 / 2017年5月15日 |
| マーケティングターゲット | 組み込みシステム、IoT |
| 利用可能 | 英語 |
| プラットフォーム | ARM、NXP、MIPS、TI、PowerPC、Altera Nios II、Xilinx MicroBlaze、Renesas SuperH、Infineon、Atmel AT91SAM、RISC-V、その他[1] |
| カーネルタイプ | ハイブリッドをサポートするリアルタイムマイクロカーネル |
| ライセンス | 独自 |
| 公式サイト | Nucleusのウェブサイト |
Nucleus RTOSは、シーメンス社の子会社であるメンターグラフィックス社の組み込みソフトウェア部門が開発したリアルタイム オペレーティング システム(RTOS) で、 32 ビットおよび64 ビットの組み込みシステムプラットフォームをサポートしています。このオペレーティング システム(OS) は、医療、産業、民生、航空宇宙、モノのインターネット(IoT) などの用途のリアルタイム組み込みシステム向けに設計されています。Nucleus は 1993 年に初めてリリースされました。最新バージョンは 3.x で、電源管理、プロセス モデル、64 ビット サポート、安全性認証、異種コンピューティングマルチコアシステム オン チップ(SOC) プロセッサのサポートなどの機能が含まれています。
Nucleus プロセス モデルは、ARMv7/8 Cortex-A/R/M コアに基づくものなど、メモリ管理ユニット(MMU) またはメモリ保護ユニット(MPU)のいずれかを備えた SOC 上でタスクとモジュールを分離するための空間ドメイン パーティショニングを追加します。
サポートされているプラットフォーム
Nucleusは、主要なARMv7 Cortex A、R、Mデバイスを含む多くの組み込みプロセッサをサポートしています。最近のリリースでは、 ARMv8 64ビットデバイスをサポートしています。公式Webサイトには、サポートされているデバイスの完全なリストがあります。[2]これには、32ビットMCUとMPU、構成可能なデバイス、32ビットおよび64ビットのマルチコアプロセッサが含まれます。
歴史
Nucleus 1.x は、1993 年に Accelerated Technology (ATI) によって Nucleus PLUS として初めてリリースされました。すぐに組み込み市場で最も一般的に使用される RTOS の 1 つになりました。初期の成功を受けて、ATI はネットワーク、グラフィックス、およびファイル システムのサポートを追加し、採用を加速しました。
メンターグラフィックス社は2002 年 3 月に ATI 社を買収し、その後すぐに第 2 世代の Nucleus RTOS がリリースされました。バージョン 2.x は 2003 年にリリースされ、さまざまなアーキテクチャやツール セット間での移植性が向上しました。IPv6、フラッシュ メモリ ファイル システム、ユニバーサル シリアル バス (USB) 2.0 などの新しいコンポーネントが追加されました。メンターグラフィックス社は、従来の Codelab デバッガを、コンパイラツール、デバッガ、シミュレータ、プロファイラを含む EDGE 開発ツールに置き換えました。
Mentor Graphics は 2010 年に第 3 世代の Nucleus を発表しました。バージョン 3.x は、ハイエンドのマイクロプロセッサユニット (MPU)、マイクロコントローラユニット (MCU)、デジタル信号プロセッサ(DSP)、およびフィールド プログラマブル ゲート アレイ(FPGA) の両方を対象としていました。メモリ リソースが限られているデバイス向けに、Nucleus はコードとデータの両方で 10キロバイト(KB)未満のメモリ サイズにスケールダウンするように設計されています。
Nucleus 3.x では、対称型マルチプロセッシング(SMP) と非対称型マルチプロセッシング(AMP)のサポートが導入されました。これは、監視なしの uAMP と監視ありの sAMP (Mentor Embedded Hypervisorを使用) の両方でサポートされます。Nucleus 3.x のその他の追加機能は次のとおりです。
- カーネルおよびミドルウェアコンポーネントに対する統合電源管理サポート。DVFS、ティック抑制、休止状態を含むスリープ モードのサポートが含まれます。
- アプリケーション モジュールの動的なロードとアンロードをサポートするメモリ パーティショニングのプロセス モデル。ロード可能なプロセスは、ハードウェア メモリ管理サポートの有無にかかわらず、ハイエンド MPU とローエンド MCU の両方でサポートされます。
- ワイヤレスサポート
- IoTプロトコル
- 航空宇宙、医療、産業、自動車の安全認証
- ARM TrustZoneのサポート
- AMP 設計 (監視付き sAMP と監視なし uAMP の両方) の IPC およびプロセッサ ライフサイクル管理用の Mentor 組み込みマルチコア フレームワーク
- ホスト側分析ツールによるランタイムトレースのサポート
バージョン 3.x の新機能に加えて、Nucleus はビジネス モデルをアラカルトから1 つの統合パッケージに移行しました。
Mentor は 2010 年 12 月に CodeSourcery を買収し、EDGE 開発ツールを Sourcery CodeBench に置き換えました。Sourcery CodeBench は、コンパイラ ツール チェーン、デバッガ、トレース分析ツールで構成されています。コンパイラ ツール チェーンは GNU ツール チェーンに基づいています。デバッガと統合開発環境(IDE) はEclipseに基づいています。Sourcery CodeBench は、Nucleus RTOS と Mentor Embedded Linux の組み込みワークフローと OS 認識機能を備え、ARM、IA-32、MIPS、PPC アーキテクチャをサポートしています。
Nucleus 3.x では、カーネルが単一のファイルで構成され、単一のライブラリとしてビルドされる統合ビルドおよび構成システムが導入されました。Linuxのmenuconfigと同様に、 CodeBench に統合されたユーザー インターフェイス(UI) ベースの構成ツールは、ビルド時にカーネルをカスタマイズするためのグラフィカルに選択可能なコンポーネントをユーザーに提供します。Nucleus 構成システムでは、ユーザーがカスタマイズして、新しいツール チェーン、アーキテクチャ サポート、およびビルド プロパティを統合できます。
主要コンポーネント
Nucleus RTOS コンポーネントには以下が含まれます。
カーネル
- 優先度ベースのプリエンプティブスケジューリングを備えたリアルタイムカーネル
- ロード可能なモジュールを使用した動的リンクのサポート
- C++、ポータブルオペレーティングシステムインターフェイス(POSIX)、およびリアルタイムオペレーティングシステムニュークリアス(TRON)のインターフェイスmicroITRON
- SMP/AMP、教師ありおよび教師なし
- 境界計算ドメインの SMP サポートとランタイム制御、およびタスクと割り込みのプロセッサ コアへの親和性
- 64ビットアーキテクチャのサポート
- メモリ制限のあるデバイスに合わせて拡張可能
- 組み込みの電源管理フレームワーク
- すべてのコンポーネントのソースコード
サービス
- 実行レベルの初期化とレジストリ
- POSIX: カーネル、ネットワーク、ファイルシステム
- シェルとトレース
- デバッグエージェント
- C++
- 電力管理サービス
接続性
Nucleus は、次のようなさまざまなインターフェースを介して他のデバイスに接続する機能をサポートしています。
- USB 2.0 および 3.0
- USBホスト、機能、およびOn-The-Go(OTG)スタック
- 多くの高度なプロファイルが有効になっているBluetooth ( A2DP、AVRCP、HFP、HSPなど)
- 周辺機器相互接続(PCI)、PCI-X、PCIe
- コントローラエリアネットワーク(CAN) とCANopen
- セキュアデジタル(SDIO)
- SPI、QSPI
- インターインテグレーテッドサーキット ( I²C )
ファイルシステム
Windows や Unix のようなオペレーティング システムとは異なり、Nucleus は動作するためにファイル システムを必要としません。ただし、ローカル ストレージを必要とする複雑な用途のために、Nucleus は FAT、SAFE (フォールト トレラント)、LWEXT などの複数のファイル システムをサポートしています。
複数の同時ファイルシステム
- ファイルアロケーションテーブル ( FAT )
- SAFE(高信頼性電源フェイルセーフ)
- LWEXT
- インストール可能なサードパーティのファイルシステム
複数のメディアのサポート
- CD-ROM
- ハードドライブ
- RAMディスク
- NORフラッシュとNANDフラッシュ
- USBドライブ
- SD MMC
Nucleus は、仮想ファイル システムアプリケーション プログラミング インターフェイス(API) を通じてさまざまなファイル システムとストレージ メディアをサポートします。これにより、基盤となるストレージ形式に関係なく、同じ関数呼び出しを使用して、サポートされているファイル システムとストレージ デバイスにアクセスできます。
ネットワーキング
Nucleus ネットワーク スタックは、60 を超えるネットワーク プロトコルをサポートするデュアル IPv4 および IPv6 スタックです。Nucleus ネットワーク スタックは POSIX をサポートし、使いやすいソケット ベースのアプリケーション インターフェイスを提供します。サポートされているプロトコルの簡単なリストは次のとおりです。
- インターネット プロトコル スイート(UDP、TCP/IP)
- インターネット制御メッセージ プロトコル(ICMP)、動的ホスト構成プロトコル(DHCP)、ネットワーク アドレス変換(NAT)
- ポイントツーポイント プロトコル(PPP) とポイントツーポイント プロトコル オーバー イーサネット(PPPoE)
- ファイル転送プロトコル(FTP)、Telnet、セキュア シェル(SSH)
- 簡易ネットワーク管理プロトコル(SNMP)、ネットワーク タイム プロトコル(NTP)
- ハイパーテキスト転送プロトコル(HTTP) とHTTPS
- JSON - XML、WebSocket
安全
Nucleus は、保存中または転送中のデータを保護するための安全な通信のためのさまざまな暗号化オプションをサポートしています。Nucleus には OpenSSL と OpenSSL に似たパッケージであるwolfSSL (旧 CyaSSL) が付属しており、暗号化が必要でメモリ容量が限られている設計向けに OpenSSL よりはるかに小さくなっています。[3]転送中のデータを保護するセキュリティ プロトコルには、IPsec/IKE、SSH/SSL/TLS/DTLS があります。暗号化には DES、3DES、AES、SHA-256 があります。公開鍵暗号化アルゴリズムには RSA があります。サポートには X.509、RADIUS、802.1X が含まれます。
無線
QCA、Broadcom、TI、CSR などのさまざまなチップメーカーの 複数のWi-Fiモジュールがサポートされています。
- IEEE802.11a /b/g/n準拠
- IEEE802.15.4 規格
- ブルートゥース、ブルートゥースLE
UIグラフィック
Nucleus 3.x はOpenGLと主要なサードパーティ UI ライブラリをサポートしています。Nucleus は、コード サイズが最適化され、デバッグとトレースのために CodeBench に統合されたQt UI フレームワークをサポートしています。サポートされているその他の UI には、Embedded Wizardと Socionext CGI Studio があります。
IoT
Nucleus の最近のリリースには、HTTPS、制約付きアプリケーション プロトコル(CoAP)、MQTT、6LoWPANのサポートが含まれています。
Nucleus は、Microsoft Azure クラウド コンピューティング フレームワークのサポートも発表しました。
産業
Nucleus は、業界リーダーのサードパーティ産業用スタックと統合されています。産業用スタックのサポートには、OPC Unified Architecture (OPC UA) ホストとクライアント、Softing のEtherNet/IP (2017-08-22 にWayback Machineでアーカイブ) 、 KoenigPa のEtherCAT が含まれます。
マルチコア
Nucleus は、主要な 32 ビットおよび 64 ビットの異種マルチコア SoC 向けに、非対称マルチプロセッシング(AMP) モードと対称マルチプロセッシング(SMP) モードをサポートしています。Nucleus は、Mentor Embedded Hypervisor を使用して GOS として実行することもできます。
AMP モードで動作する場合、Nucleus RTOS は、他のプロセッサに分散された Nucleus、Linux、および/またはベア マシン(メタル) プログラムの他のインスタンスと共存できます。このモードでは、各プロセッサは独立して実行され、SoC 内で個別のシステムとして動作します。Mentor Embedded Multicore Framework は、さまざまなコア上のオペレーティング システム間のプロセス間通信と、プロセッサのライフ サイクル管理を提供します。SMP 操作では、Nucleus RTOS のインスタンス化によって複数のコアを同時に管理する必要があります。Nucleus は、マルチコア デバイス上のすべてのコア、またはコアの任意のサブセットに操作を分散できます。この目的のために、Nucleus は、バインドされた計算ドメインのランタイム API サポート、およびコア割り当てのタスクと割り込みアフィニティの制御を提供します。
製品パッケージ
Nucleus RTOS は次のようにパッケージ化されています。
- Nucleus ReadyStart エディション ReadyStart には、ランタイム システム、ミドルウェア、BSP (すべてソース コード)、IDE、デバッガ、コンパイル ツール、トレース バンドルが 1 つのパッケージに含まれています。Nucleus Ready Start には、ARM、MIPS、PPC 用にパッケージ化されたバージョンがあります。Nucleus ReadyStart は、CodeBench に特殊な Eclipse プラグインを追加して、簡素化されたビルドおよび構成ワークフローと、カーネル認識、ロード可能なモジュール サポート、トレースおよびプロファイリング ツールなどのデバッグ拡張機能を提供します。
- Nucleus Source Code Editionには、独自のアーキテクチャや異なるツールチェーンをサポートするためにパッケージ化されたランタイムシステムとミドルウェアが含まれています。
安全認証
Nucleus SafetyCert は、DO-178C、IEC 61508、IEC 62304、ISO 26262の最高レベルの安全性の認定を受けています。
Nucleus RTOSを使用した製品
Nucleus 製品を使用するデバイスの例は次のとおりです。
- ニューホライズンズ、惑星間宇宙探査機[4]
- 航空業界における重要な地形認識技術のハネウェル[要出典]
- IVLテクノロジーズのオンキーカラオケハンドヘルドプレーヤーはNucleus PLUSを採用している[5]
- Logitech は、ポケットビデオポータブルデジタルビデオカメラにこれを使用しています[引用が必要]
- SKテレコムが韓国で初めてコード分割多重接続(CDMA)技術を商用化した[要出典]
- Mediatek Dual SIM デュアルプロセッサベースのチップセットは、ほとんどの中国製携帯電話に搭載されています[引用が必要]
- NECハイビジョン携帯 電話[要出典]
- ASCのRBOXマルチサービスアグリゲータファミリーはNucleus PLUSを使用している[6]
- TI-Nspireシリーズのハンドヘルド電卓はNucleusをオペレーティングシステムのベースとして使用している[7]
- テレフォニクスは、米国空軍のC-130航空電子機器近代化プログラム、SDIシステム、および767タンカープログラムの航空通信システムにこれを使用しています[8]
- ガーミン・インターナショナル、一般航空向けのCNX80ナビゲーション全地球測位システム(GPS)を開発[要出典]
- モトローラ、サムスン、LG、シーメンス/ベンキュー、サジェム、NECの携帯電話が多数[要出典]
- LG Arena、New ChocolateなどのSクラスUI [引用が必要]
- Intellon ホームプラグ AV [引用が必要]
- クレストロンエレクトロニクスの旧型2シリーズ制御システムプロセッサ[9]
- BSS AudioのSoundweb Londonシリーズ。[10]
- Creative ZEN製品ラインの後のバージョン[引用が必要]
- シーメンスの携帯電話に使用されているインフィニオンS -Gold2チップセット:S75、E71、M81など[11]
- AppleのiPhoneに使用されているインフィニオンS -Gold2ベースバンドチップ[12]
- Metrotech i5000ユーティリティ位置検出受信機[引用が必要]
- クリエイティブ ゼン ビジョン ライン[引用が必要]
- インテル アクティブ マネジメント テクノロジー、vPro組み込みコントローラー[引用が必要]
- Tandberg MXPビデオおよび電話機器[13]
- Datex-Ohmeda Avance 麻酔システム[要出典]
- Zoll Medical Corporation 除細動器[要出典]
- サムスンバダプラットフォームベースのデバイス[14]
- Mindray 初期の患者モニター、超音波装置、血液分析装置[引用が必要]
参照
参考文献
- ^ 「Nucleus OS でサポートされているプロセッサ」www.mentor.com。
- ^ 「Nucleus RTOS 対応プロセッサ」www.mentor.com 。2017年 8 月 22 日閲覧。
- ^ 「wolfSSL ユーザーマニュアル – 第 5 章: 移植性 – ドキュメント」 。2019年 2 月 14 日閲覧。
- ^ Voica, Alexandru. 「宇宙でのMIPS:NASAの冥王星探査機ニューホライズンズの内部」Imagination . 2015年10月17日時点のオリジナルよりアーカイブ。 2015年10月16日閲覧。
- ^ 「IVLテクノロジーズ」ivl.com。
- ^ "ASC". nsgdata.com . 2006年6月15日時点のオリジナルよりアーカイブ。2006年6月17日閲覧。
- ^ 「TI-Nspire 技術詳細 - ticalc.org」。www.ticalc.org。
- ^ 「Telephonics - 監視、通信、分析、統合ソリューションのリーダー」www.telephonics.com。
- ^ 「Crestron Electronics によるホームオートメーション、キャンパス、ビル制御用の制御システム」www.crestron.com。
- ^ 「Soundweb London - BSS ネットワークオーディオシステム」。BSSネットワークオーディオシステム。
- ^ “Все о глазах и зрении - офтальмологический форум” (PDF) . s75.siemens-club.org。2007 年 2 月 5 日にオリジナル(PDF)からアーカイブされました。2012 年 5 月 12 日に取得。
- ^ 「Apple iPhone とその多くの CPU の進化 - モデル内でさえ - CPU Shack ミュージアム」cpushack.com。2010 年 8 月 13 日。
- ^ http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140crt/140crt951.pdf [ベア URL PDF ]
- ^ サムスン電子の「バダ」競争戦略は…、Bloter、2009.11.18、https://www.bloter.net/news/articleView.html?idxno=7334
外部リンク
- 公式サイト
