2009年07月06日

仕事の内容など

デバッガを作ってる会社と言われても、なかなか外からは何をやってるか想像できないのではないかと思います。この記事では、あまり組み込み業界に馴染みが無い方向けに、少し会社の仕事内容を説明してみたいと思います。

KMC が販売しているデバッガは、通常の PC の上で使われる VisualStudio のデバッガや GDB などとは少し異なり、JTAG-ICE デバッガと呼ばれる組み込みソフトウェア開発向けのデバッガです。

もともと ICE (In-Circuit Emulator) という用語は、CPU のデバッグのために作られた回路内のエミュレータ、つまりハードウェアのことを指していたのですが、現在ではその範囲が拡大され、デバッグのためのソフトウェア/ハードウェアをかなり広範囲に含む用語となっています(私の解釈。人それぞれ用語の使い方がけっこう違ったりします)。

PARTNER-Jet という、KMC の主力製品は、大きく分けて Jet という CPU の JTAG インタフェースを使って高速通信するためのハードウェア(通称、箱<ボックス>)と、PC の上で動くデバッガソフトウェアで構成されます。

デバッガ本体を作るだけでも、JTAG のプログラミング、高速化のためのハードウェア技術 (FPGA など)、CPU ごとの様々な対応、デバッグ情報の解釈系、わかりやすく表示するための UI 技術など、非常に高度で専門的なプログラミング技術がいくつも必要とされます。

(ちなみに、デバッガのデバッグにも、当然のことながらデバッガが必要で、KMC は PC の上で動くデバッガも社内用に開発し、開発メンバーは毎日使ってます。プログラミングが高度になればなるほど、デバッガの重要性も高まるわけなので、デバッガ自体を開発/改良できる KMC は非常に良い循環ができていると言えます。)

もちろんデバッガの新機能を開発したり、サポートや保守を行う人が多いのですが、そればかりではありません。ソフトウェアを製品にして、営業・販売するまでには、たくさんの人たちの様々な仕事が必要です。

まず、デバッガは非常に多機能なので、機能をわかりやすく説明するマニュアル類などの整備が必要です。(海外用の英訳なども含む)。また、デバッガは、ドライバ類からデバッガソフトウェアまで多数のコンポーネントで構成されているので、インストールのしやすさも重要です。

デバッガの機能をお客様に説明し、使っていただくためには、営業スタッフの方々のデモが必要です。(開発ツールを販売するという KMC の仕事の性質上、営業スタッフには、ある程度の技術力や開発経験が求められます。そのためほとんどの方が元技術者か、あるいは今でも現役の技術者です。よく噂に聞く、開発スタッフと営業スタッフの対立や相互無理解などは、KMC には無縁です。)

そしてその際には、各ターゲット CPU ごとのボードが必須なので、KMC は自社製ボードも開発しています。ボードの設計や製造管理、検査を行うことも、デバッガベンダーには欠かせない重要なお仕事です。

また、デバッガの能力を高め、連携するための各種製品開発も重要です。exeGCC という GCC を組み込み向けにカスタマイズしたものや、Eclipse のデバッガ用プラグインなどを開発している人たちもいます。

こうして見ると非常に幅広い業務内容ですが、KMC は 10 数人という少人数で対応しています。コンパイラ、デバッガ、ターゲット(実機) など多様な技術を、大企業のような分業制では無く、一つのオフィスの中で全て掌握し、頻繁なコミュニケーションを取っていることにより、仕事や発想の幅が広がると思います。そしてこれこそが、KMC の良さであり、強さの源なのではないかと個人的には思っています。

私自身は、デバッガとつながる CPU シミュレータという、少し他の人たちとは毛色が異なる研究開発を今のところメインでやっているのですが、少し長くなりましたので、またの機会に話そうかなと思います。

公式の表記と異なる表記を修正しました (2009/07/07)

Partner/JET → PARTNER-Jet
KμC → KMC

トラックバックURL

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード