Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the imagemagick-engine domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/redwave/www/wp/wp-includes/functions.php on line 6114
組込ソフトウェア開発業務 – Redwave Technology

組込ソフトウェア開発業務

組込ソフトウェアとは、装置の中の基板上で動作するようなプログラムを言います。「装置に組み込むソフトウェア」です。

1.リアルタイム装置制御の開発

マイコンの能力が低い時代に、装置に組み込むマイコンは、複数の処理(タスク)を同時に動作させて事象に対する反応性を向上させたり、通信しながら機械制御する等ができる必要がありました。
その制御方法をリアルタイム制御といい、特に反応を向上させるために設計されたオペレーティングシステムをリアルタイム・オペレーティングシステム(RTOS)と言います。(代表例:TOPPERS NORTi 等)

昨今はCPUの高速化や低価格化等からかならずしもこのアプローチばかりではなくなってきたように思います。
弊社では長年この方面の開発を受託してまいりました。
最近では医療用X線装置の開発でTOPPERS/ASPを使用しました

2.OSレス装置の開発

メモリが数キロバイト程度の時代は前述のRTOSを搭載するのに充分な容量ではなく、一本のプログラムをぐるぐるループさせながら割り込み処理やフラグ等で工夫していました。
今ではメモリも潤沢ですが、下記のようなケースではいまだにこのような開発になることがあります。

  • そもそも単純な処理
  • CPUがマイナーでリアルタイムオペレーティングシステムの入手が困難
  • 滅多に更新しないシステムなので、コンパイラやRTOSのバージョンアップに合わせて修正していられない(再度テストが必要となる)

3.Aruduino系(M5STACK等)

Arduinoとは、Arduino Holdingが、設計製造しているマイコンボード。よりシンプルに、安価に、学生でもデジタルなものを作れるようにという目的で2005年にイタリアで立ち上がったプロジェクト。オープンソースハードウェアであるので多くの派生品やシールド基板(拡張基板)が安価に入手できます。
ソフトウェアはIDEと呼ばれる統合環境で初期化とループという超シンプル構造で開発するが、豊富なライブラリのおかげもあり開発が容易です。当社では数年前に農業ICT向けに実験的な開発をしました。

M5STACKはArduino IDEを使用して開発できるが、Arduinoとは比較にならない高性能です。
マルチコア・マルチタスクが利用できる32ビットデュアルコアCPUで、WiFi、SD、Bluetooth,SPI,I2C等多彩なインターフェイスが最初から搭載されています。
適当なセンサをつないでコードを少し記述すれば、インターネット上にそれ定期的に記録するなどとても簡単に実現でき、価格もArduinoの基本的なものとほとんど変わらないぐらい安価である。

4.Raspberry Pi

イギリスのラズベリーパイ財団が開発したARMマイクロプロセッサ搭載のシングルボードコンピュータ。SDカードにインストールしたUbuntu Linuxを起動できるというもの。写真のPi ZeroはUSB Micro-Bソケットが一つだが、ハブ経由でWiFiアダプタもつながりネットにつなぐことも可能。発売当時500円でLinuxと話題になった。機能豊富で上位機種ではGigaBit Ether,WiFi,Bluetoothも利用できる。写真はPi ZeroをFRISKケースに入れたもの。