創夢・創造の現場から

第1回

組み込みソフトウェア開発で、
ソフト、ハード、そしてOSの経験と知識を活かす

UNIXを中心としたソフトウェア開発の企業として誕生した株式会社創夢(以下、創夢)は、ソフトウェア、ハードウェアの両面の知識を活かして組み込みソフトウェアの開発を高い技術力で行っています。そこで発揮される他社にはない強み、そして組み込み開発に対する姿勢とはどのようなものなのでしょうか。(2010年3月取材)


家電や自動車、携帯電話など、身の回りのあらゆる機器のインテリジェント化とネットワーク化が進んでいます。それは同時に、その内部で動作する組み込みソフトウェアも急速に多機能化と高度化が進んでいて、重要性が高まっていることを意味しています。

その組み込みソフトウェアの開発を高い品質で実現するには、プログラミング能力はもちろんのこと、ハードウェアに対する知識、そしてOSやデバイスドライバなどの知識を兼ね備えていることが望ましいといえます。

なぜなら、一般に組み込みソフトウェアの開発は、デバイスやハードウェアの開発と並行に行われるケースが多く、ターゲットハードウェアやそこに載るオペレーティングシステムが未完成の状態であっても、場合によっては回路図からハードウェアの動作を読み取り、またオペレーティングシステムの内部動作やAPIを理解しつつ開発を行わなければならないからです。

さらにCPUの速度やメモリ容量などの制約も多く、その制約の中で最大の能力を引き出すためにもデバイスの知識は不可欠です。

[photo]

創夢での組み込み開発について話を聞くにあたり、次の4名に出席していただいた。いずれも組み込みの現場で開発も行うプレイングマネージャたちだ。左から、遠藤知宏(えんどう ともひろ)取締役副社長、松山直道(まつやま ただみち)取締役、米林徳雄(よねばやし のりお)第二開発部部長、木本雅彦(きもと まさひこ)第一開発部シニアプロジェクトマネージャ

(所属・役職は取材当時のもの)


ソフトウェアとハードウェア、両面の知識と経験

創夢は、25年前にUNIXを中心としたソフトウェア開発の企業として誕生しました。技術を愛するエンジニアたちが集まって作った企業らしく、現在に至るまで技術志向を軸とし、技術力を競争力の柱として研鑽を重ねてきました。

当時の得意な分野はUNIXを中心としたデバイス関連、ネットワーク関連などのソフトウェア。

創業間もない頃から国産UNIXワークステーション用デバイスドライバの開発をはじめ、ハードウェアに極めて近い低レベルの開発に強い企業としてUNIXの日本語化や移植などに関連した開発などを行い、国内でのUNIXの普及を裏方のように支える役割を果たしてきました。

このときから蓄積してきたUNIXカーネルの知識、デバイスドライバなどハードウェアと密接に連係するソフトウェアの開発、ネットワークに対応したソフトウェア開発などの経験は、現在創夢が数多く手がけている組み込みシステムの開発案件に活きています。いまや組み込み用のデバイスがつぎつぎにUNIX系のOSを組み込みOSとして採用し、ネットワークに対応する機能を持ち始めているからです。

しかも社内には回路図を読んで理解し、それをプログラミングに反映させることができる技術者も複数抱えています。オープンソースのUNIX実装を、新規に開発された組み込み用チップに移植してきた経験も備えています。

こうした経験の中で、仕事の1つとして「デバイスドライバを開発するのは楽しい」と、取締役副社長の遠藤知宏は言います。ソフトウェアとハードウェア、両方に対する深い理解と興味があるからこそ、こうしたチャレンジを楽しむことができるのです。

ソフトウェアとハードウェア、しかもOSとカーネルレベルの内容を理解したハイブリッドな技術力を備えている点は、組み込み開発という切り口で見た場合の、創夢の大きな強みの1つといえるでしょう。

[photo]

創業間もない頃の創夢社内のひとコマ。ソフトウェア開発の会社であるにもかかわらず、この頃からこのようにハードウェアについても仕事の対象として取り扱っていた。並んでいるのは当時のUNIXワークステーションの基板か。立っているのは若き日の松山直道(現取締役)


主な組み込み開発の実績(2010年3月現在)

  • AV家電機器
    • NEC VR41XX(MIPS32)+ NetBSD
    • カスタム基板用ブートローダ開発
    • NetBSD OS 移植・高速化
    • AV エンコーダ/デコーダ カスタムチップ対応デバイスドライバ開発
    • 無線LANコントローラ デバイスドライバ移植(VxWorks 用)
  • AV家電機器
    • Toshiba TX49XX(MIPS32)+ Linux
    • カスタム基板用ブートローダ開発
    • Linux OS 移植・高速化
    • AV エンコーダ/デコーダ カスタムチップ対応デバイスドライバ開発
    • AV ストリーム制御アプリケーション開発
    • DLNA 対応メディアサーバ・メディアレンダラ SDK 開発
  • 業務用ネットワーク機器
    • Renesas SH775X(SH4)+ NetBSD
    • Broadcom BCM56XX(MIPS32)+ NetBSD
    • カスタム基板用ブートローダ開発
    • NetBSD OS 機能改造・高速化
    • ネットワークコントローラ デバイスドライバ開発
    • 高速・高機能ネットワークチップ デバイスドライバ開発
  • 業務用ネットワーク機器
    • AMCC PPC440/460(PowerPC BookE)+ NetBSD
    • カスタム基板用ブートローダ開発
    • NetBSD OS 移植・機能改造・高速化
    • PCI/PCI Express コントローラ デバイスドライバ開発
    • ネットワークコントローラ デバイスドライバ開発
    • 高速・高機能ネットワークチップ デバイスドライバ開発
  • 特定用途向け高精度表示装置
    • Intel Pentium(IA32)+ VxWorks
    • 3D グラフィクスチップ対応 X Window サーバ開発
    • X Window ライブラリ・クライアント VxWorks 移植
  • 特定用途向け高精度表示装置
    • Motorola MPC7447(PowerPC)+ VxWorks
    • ブートローダ機能改造
    • 3D グラフィクスチップ対応 X Window サーバ開発
    • X Window ライブラリ・クライアント VxWorks 移植
    • OpenGL 多画面表示アプリケーション開発
  • オフィス用事務機器
    • Freescale MPC85XX(PowerPC BookE)+ NetBSD
    • カスタム基板用ブートローダ開発
    • NetBSD OS 移植・機能改造・高速化
    • PCI/PCI Express コントローラ デバイスドライバ開発
    • SATA コントローラ デバイスドライバ開発
    • USB コントローラ デバイスドライバ開発
    • ネットワークコントローラ デバイスドライバ開発
    • セキュリティエンジン デバイスドライバ開発
    • SD カードコントローラ デバイスドライバ開発
    • IPv6 プロトコルスタック機能改造
    • IPsec プロトコルスタック移植・機能改造
  • 家庭用 AV ネットワーク機器
    • Broadcom BCM74XX(MIPS32)+ Linux
    • ビデオコントローラアクセス用 SDK 開発
    • MPEG-TS 映像録画(暗号化)/再生機能開発
    • BS/CS/地デジ チューナ制御機能開発
    • IPv4/IPv6 対応ネットワークコンテンツ再生用アプリケーション開発
  • 業務用・家庭用ストレージ機器
    • Marvell 88F5XXX/MV78XX0(ARM926EJ)+ Linux
    • Freescale MPC82XX(PowerPC 603e)+ Linux
    • Linux OS 移植
    • ブートローダ移植・機能拡張・デバイス対応
    • コンテンツ保護フレームワーク導入
    • ストレージレプリケーションシステム開発


状況に対応し、あきらめない

最近の組み込み開発プロジェクトで増えてきているのは、顧客と週に一度程度の定期的なミーティングを行い、変化する状況や要件に対応しつつ開発を進めるスタイルです。その中で場合によってはハードウェアの知識を活かして顧客側のデバイス担当者との調整をすることもあります。また、組み込み開発の場合にはハードウェアの能力や機能を把握するために可能な範囲で回路図の情報をいただくこともあります。

いずれにせよ、開発プロセスにおける情報共有の度合いを高めることで、柔軟な対応と完成度の高いソフトウェアの実現を目指すためのプロセスです。

しかしこうしたプロセスを用いたとしても、すべての開発プロジェクトが順調に進むとは限りません。むしろ多くの開発プロジェクトはつねに納期と品質に対してぎりぎりの調整をしつつ進むことになるのが正直な現実です。

「そうした状況でもねばり強く考え、あきらめない」のが創夢の特長だと、現場で活躍する第一開発部シニアプロジェクトマネージャの木本雅彦は言います。技術的な課題に負けず、職人的な意識を持って取り組む姿勢により「いままで受注した案件で、難しくてできませんでした、という案件は記憶にない」と、副社長の遠藤も言います。

ロボットを手がけてみたい。いずれ宇宙にも

組み込み用デバイスの進化は速いスピードで進んでおり、携帯電話にまでUNIX系のOSが載るようになってきたいま、創夢の持つ技術や経験を活かせる分野も多方面に広がっています。そうした中で、今後はどのような分野を手がけていきたいのか、副社長の遠藤は次のように答えています。

「もちろんこれまで手がけてきたAV家電関係、ストレージのような周辺デバイス、そしてスイッチやルータなどのネットワーク機器の組み込みソフトウェア開発案件には引き続き取り組み、技術を向上させていくつもりです。それ以外に、ロボットのような新分野、制御系やリアルタイムに関わる仕事にも取り組んでみたいですね」

そしてできれば、と遠藤は言葉を続けます「いつかは手がけた製品が宇宙で活躍することができたら、というのは以前から抱いている夢の1つです」。それは技術志向の会社らしい夢だといえないでしょうか。

[photo] [photo]

遠藤副社長「ソフトウェア開発はサービス業だと思っています。つまり、それを用いて課題が解決されることが重要。そのために私たちでできる最大限の対応、職人的といわれるような対応を行っていこうといつも考えています」

米林部長「組み込み開発で何が楽しいかといえば、性能、メモリ容量、機能といった制約がある中で、どこまでつきつめて開発できるか。そうしたチャレンジにはとてもやりがいを感じます」

(所属・役職は取材当時のもの)