このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
前回は、組込系CPU,DSPなどのメモリアクセスについてでした。
特殊なメモリアクセスが関係するコードはコンパイラを利用せず、アセンブラで実装する場合には、何ら問題が生じませんが、プロジェクトの方針で(コードの保守、流用のためなどの理由によって)スタートアップなどを除いて基本的にコンパイラで作成すると決定している場合や、アセンブラとのミックスモデルで実装していても、高級言語のソースで頻繁にアクセスする必要があるI/Oポート等が存在するとコンパイラの出力コードで動作させる必要が生じます。
ミックスモデル
異なる種類の複数の高級言語で作成されるプログラムの開発方式の1呼称です。
パソコンのプログラム開発などで以前はアセンブラ+C言語、FORTRAN+C言語、C言語+VBなど複数の開発言語で作成される場合にミックスモデルと呼ばれていました(あまり聞かなくなったように思いますが、今でもミックスモデルと呼ばれるかも知れません)。
I/Oポート(I/O PORT)
I/Oポートは、入出力の一般呼称のように見えますが、特別な注記が無い場合には、パラレルポートという信号線の端子の論理(1か0か)を制御したり、端子に接続されているハードウェア出力を読み取るための仕組みを指します。
I/Oポートによる制御は、ディジタル2値の数値による制御の最も単純な方式ですが、ハードウェアが高機能になると、機能1つ1つを信号線にして接続していたのでは、配線がすさまじい本数になりますから、限られた用途の制御に用いられるのが一般的です。
特殊なメモリアクセス方式は、コンピュータやCPUの本質的なものではなく、コンピュータの創生期やマイクロプロセッサの創生期に、ハードウェアとソフトウェアの性能バランスを工夫してプログラムによって制御する製品などを実現するために考え出されたものが主です。
一方、コンパイラは、数式に近い形でプログラムを作成する目的などで発展してきました。現在ではマイクロプロセッサの能力も高速、高機能化されてきていますから、高級言語を組み込み用途で利用することもあたりまえになりました(製品の高機能化によって、高級言語で開発する必要性が高くなったためでもあります)。
前置きが2回に渡って長くなりましたが、特殊メモリのアクセスはコンパイラのコードを確認しないと正常動作しないコードが生成される場合がありますので注意が必要です。
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)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。