タグ

c++と組み込みに関するlizyのブックマーク (5)

  • 組み込みシステム上でのC++ | POSTD

    去年の10月、私が所属している 会社 の部署で、組み込みファームウェアの開発をC言語からC++に切り替えました。C++のクラス、リソースの自動クリーンアップ、パラメータ多相、そして強化された型安全性などは、汎用OSをデスクトップ機で稼働している時と同様、リアルタイムOS(RTOS)やベアメタル上でも便利です。C++を使えば、安全で表現豊かなファームウェアを書くことができます。 しかしC++のこの自動的な魔法は諸刃の剣とも言えます。いくつかの機能は、組み込み環境 ^(1) には搭載したくないシステムのファシリティに依存するからです。ツールチェーン周りをどうするかも厄介です。 memcpy やアトミック操作、ハードウェア固有の浮動小数点関数などの重要なファシリティが提供されるので、 libgcc と libstdc++ を完全に破棄するのではなく、特定の部分を避けて使わなくてはなりません。 こ

    組み込みシステム上でのC++ | POSTD
  • F-35の開発で生まれたソフト技術

    先日、政府は自衛隊の次期主力戦闘機(FX)に、米国など9カ国が共同開発中の米Lockheed Martin社製「F-35 Lightning II」を選定しました。 航空機産業は技術面で多大な波及効果があることから、FXの選定においても国内の防衛産業の基盤維持が一つの論点となっていました。ただし、今回選定が決まったF-35の場合、Eurofighter社の「Typhoon」といった他のFX候補機と比べると、国内で認められるライセンス生産の割合は低いようで、F-35調達における一つの懸念点となっているようです。 これはこれで日の製造業にとって非常に重要な問題なのですが、それとは別に筆者がF-35で思い浮かべたのが、「JSF++」です。 JSFというのは、F-35のプロジェクト発足当初の名称で「Joint Strike Fighter」の略称です。さまざまな国の多様な目的を持った戦闘機を共通

    F-35の開発で生まれたソフト技術
  • IPA 組み込みソフト開発向けコーディング作法ガイドのC++言語版を発行 | エンタープライズ | マイコミジャーナル

    情報処理推進機構(IPA) ソフトウェア・エンジニアリング・センター(SEC)は11月29日、品質の高い組込製品の開発を目指し、経験の浅い技術者でも品質の高いプログラムが記述できるよう「組込みソフトウェア開発向けコーディング作法ガイド C++言語版(ESCR C++言語版)」を発行したことを発表した。 組み込みソフトウェアの開発は、機能規模の拡大に伴い、プログラムの再利用などがしやすいC++言語の利用が拡大しており、2010年に経済産業省が行った組み込みソフトウェア産業実態調査報告書によると、組み込みソフトウェアの約20%はC++言語で開発されていうという。 しかし、同報告書で発生するトラブルの原因別調査から推計すると、トラブルの原因がプログラムの誤りによるものが全体の約20%にのぼり、トラブルによっては消費者が直接被害を受けてしまう場合がある。IPA/SECでは、このようなトラブルの発生

  • 組込環境でC++を使う際の幾つかの優れた方法 - 神様なんて信じない僕らのために

    組込環境というのは、メモリが数MBしかなくて(例えば4MB) プログラムのブートサイズにも限界がある環境の事です。 例外をコンパイラオプションでoffにする 「例外を使った方が安全です!!」 という言葉をはねのけて必ず「コンパイラのオプションで」offにする。 try、catch、throwを使わないということではない。 暗黙にコンパイラが例外のコードを生成しようとするのを停止させること。 例外にコードを使われると書くことができるコードが減ってしまいます。 最悪ブートができなくなります。エラーはassertでトラップしましょう。 特にC++の例外安全性を理解し、使いこなせる人は少ないので無闇にonにすべきではないです。 例外安全性を理解し、設計できる力のある人はほぼいません。 - RTTIをコンパイラオプションでoffにする 「dynamic_castの有用性が!!!」 という言葉をはねの

    組込環境でC++を使う際の幾つかの優れた方法 - 神様なんて信じない僕らのために
  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する連載。第50回は、イタリア発のRTOS「BeRTOS」を紹介する。

  • 1