このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
開発ツールの評価は、地味ですが、ソフトウェア開発プロジェクトの成功を左右する重要な作業であることは前回お話しました。今回は、評価にかかわるコンパイル、アセンブル、リンク、デバッグの作業を簡単にご説明します。
ご覧いただいている読者の方は技術者の方ばかりではありませんので、少し開発ツール評価と離れますが、具体的な内容を記すのに必要な基本的なプログラムの動作などについて、先に数回に分けてお話しすることにしました。
まず、プログラムをする場合には、ソースコードという人間が作成しやすく、コンピュータ用の実行コードに変換可能な様式をもつテキストファイルを作成します。これが、一般に言われるプログラミング、コーディング作業ということになり、ソースコードの作成ルールがプログラミング言語などと言われるものです。
大抵のコンピュータは、ハードウェア的に単純に見れば、プログラムされた実行手順どおりに多数のスイッチをON/OFFしているに過ぎません。複雑な動作をさせるためには、非常に多くのスイッチの切替を複雑に、大規模に組み合わせます。実行した結果が、記憶されたり、計算したり、ディスプレイ表示されたりするのも、それぞれの特殊な機能を持つ機器のスイッチをON/OFFさせて実現しています。
スイッチの動作で計算したい時にもっともマッチした数字が2進数です。2進数は、ゼロと1の2つの数字で表されるため、スイッチのON/OFFを1とゼロに対応させることで、機械で2進数を扱うことができます。
スイッチによって計算するには、2進法の動作と同じようにスイッチを切り替える機械を作れば計算することが可能になります。計算結果も2進数ですから、その結果を利用して、次のスイッチのON/OFFを行なうと、デジタル機器を制御したり、機械の動作を切り替えることができます。
現在のコンピュータは、極論してしまえば、このような2進数の計算と記憶、スイッチの繰り返しで動作しています。
このように動作を決定するのがプログラムです。機械のプログラムは、スイッチのON/OFFのやり方を表したものですから、複雑な動作を記したプログラムの場合には、人間が考えるのが難しくなります。また、大量の数字や記号は人が記憶するのに向いていませんので、少し人間向きにスイッチ動作の組み合わせを命令という意味のある単位でコード化されたものがアセンブラ言語です。
さらに、数学的な計算式や、プログラムの実行論理で考えたり、プログラムできるようにしたものが、高級言語と言われるプログラム言語になります。FortranやPascal、C言語,Basicなどと名づけられたプログラム言語は、それぞれのルールでプログラムを人間向きの表現で作成することができます。
プログラムソースの作成は、このようなアセンブラや高級言語などの人間が判読できるテキストファイルを作成します。
開発ツール(プログラミング・ツール)は、このソースファイルを、機械用のスイッチのON/OFFを指定したバイナリコードに翻訳、変換してコンピュータやDSPなどを動作させるためや、プログラムを作成するのを補助するソフトウェアの道具です。
ARIはハードウェア設計、製造、ファームウェア開発、 Windowsアプリケーションの開発をしています。 実績等に興味をお持ちいただけましたら、会社情報に主な開発実績を 「音響と開発」のコーナーには事例など関連情報を掲載していますのでご覧ください。
ソフトウェア開発と開発ツール関連の雑記
機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムです。 メールマガジン「アメニティ&サウンド 音と快適の空間へ」に連載していた技術・開発コラムを編集掲載しています。
ソフト、ハードウェア 技術関連の雑記
このコラムは無料メールマガジン「アメニティ&サウンド 音と快適の空間へ」 vol.36〜vol.64(2003年8/21〜2004年11/18)に 音響と開発の関連コラムとして連載していたものを編集掲載したものです。
技術・開発の閑話-2- vol.11〜20F1とコンピュータ技術 / ソフトウェアの標準と部品化
( 戦術と戦略の誤解 / アジャイル開発 / リファクタリング / 遺産と再生産 / 標準と生産管理 ほか)
|
技術・開発の閑話-2- vol.01〜10「ありえない」フェイルセーフと安全機能の連鎖 / HDD容量の差(天使の分け前) / リアルタイムとベストエフォート / エラーとコスト(ブルースクリーン/XP) / NDAと情報公開 / 専門ドメインの基礎範囲 / NHK技研公開(超高精細映像システム) |
エーアールアイはPCアプリケーション、デジタル機器の組込み(CPU)、信号処理(DSP)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。