このようなシステムには、常に独自の特性があります。限られたコンピューティングリソース、さまざまなプロセッサアーキテクチャ、バイトオーダーなどです。 これはすべて、ファームウェア開発プロセスに影響を与えます。 最近、組み込みシステムを作成するために、「通常の」デスクトップシステムの分野からの原則と技術がますます適用されているにもかかわらず、プロセス自体は特定のままです。 したがって、システムおよびファームウェアの開発への参入のしきい値は非常に高いと考えられています。 この分野の優秀な専門家を養成するために、サンクトペテルブルク州立大学はMat-Mechで、学生が積極的な役割を果たすEmbox組み込みアプリケーション用のリアルタイムOSを作成する研究プロジェクトを組織しました。

11月27日木曜日の20:00に、Emboxの技術プロジェクトマネージャーであるAnton BondarevとのCodeFreezeミーティングがIngriaビジネスインキュベーターで開催されます。 レポートは、このOSの例でのファームウェア開発の側面を明らかにします。
Emboxは、 6つのプロセッサアーキテクチャ(x86、ARM、MIPS、Microblaze、SPARC、PPC)、ネットワークスタック、いくつかのファイルシステム(FAT、ext2 / 3/4、jffs2、nfs)、いくつかのプログラミング言語( java、python、lua、lisp、C / C ++)、ルーター、ストリームエンコーダー、LEDコントローラーなどのさまざまな組み込みおよび通信デバイスで使用されます。
このレポートは、Emboxプロジェクトの参加者が対処しなければならなかった問題に基づいています。このプロジェクトは5年間存在し、さまざまな分野で使用されているため、問題の範囲は非常に広いでしょう。
最初に、このようなタスクが発生した理由について説明します。 いくつかの問題がありました。
- まず、機器の簡単なデバッグのためのソリューションが必要でした。 これを行うために、Cで開発された一連のテストを自動的に開始できる最小限の環境と、実際にベアメタルで実行できる非常に軽量なシェルを作成しました。
- 次に、ソースコードを認証する必要があります。つまり、ディストリビューションには、機能的な負荷がかかる部分のみを含める必要があります。 同時に、#if-#def構造の未使用ブランチのコードは、認証のために送信しないでください。 この問題を解決するために、#if-#def構造を回避し、使用する機能モジュールとそのパラメーターのリストを柔軟に設定する特別なモジュール記述言語に基づいて、アセンブリシステムが開発されました。
- 第三に、私は仕事の結果が科学的および教育的活動に使用されることを望みました。それは、プロジェクトが開かれるべきであることを意味します。
次に、Emboxの開発と、ロボット、通信、ACS-TPなどのさまざまな分野でそれらを実装する際に開発者が直面した問題について説明します。 多くの組み込みシステムに関する主な問題は、ハードウェアコンポーネント、開発の初期段階での鉄の不足、システムリソースの制限、実際の機器での「高価な」動作時間などでした。 たとえば、 64KのRAMしか搭載していないロボットでLego Minstorm 2を実行するには、これらすべてのデータをこれらの控えめなキロバイトに収める必要がありました。 また、すべての種類のコントローラー用のドライバーを開発しないために、ハードウェアメーカーのBSPを使用するメカニズムが考案されました。 さらに、プロジェクトの成長に伴い、Emboxプラットフォームでオープンソースソフトウェアを起動する際に問題が発生しました。 そして、組み込みシステムの機能を考慮に入れたこのようなメカニズムは、プロジェクトで考案され実装されました。 このレポートは、仮想メモリをサポートしないQtアプリケーションの動作を示します。
レポートの最後に、プロジェクトのテストに関連する問題が考慮されます。 プロジェクトの成長に伴い、考えられるすべてのアーキテクチャおよびさまざまな構成での機能モジュールの正しい機能のサポートが耐えられなくなったため、自動テストがプロジェクトに実装されました。
スピーカーについて
アントン・ボンダレフは、 Emboxの技術プロジェクトマネージャーです。
彼女の経歴では、彼女はLanit-Terkomの無線電子システム部門のプロジェクトマネージャーであり、電気通信、制御システム、信号処理システムの組み込みおよび専門システムを開発しています。
彼はシステムプログラミングが好きです。 プログラマが自分のオペレーティングシステムを書くことを夢見ていたように、最終的にEmboxプロジェクトに実装されました。
登録
参加は無料です。 事前登録が必要です。