ホーム ARMソリューション 製品 サポート 技術情報 ダウンロード IARについて お問合せ マイページ
開発者のツールボックス Webinars ソリューションセレクタ ビューポイント ピデオプレゼンテーション 書籍紹介 LEGO MINDSTORMS NXT
 
技術情報   >   開発者のツールボックス   >  

組み込みアプリケーションでのC/C++のプログラミングと有効なコーディング

IAR Embedded Workbenchの中で何が起こっているか考えたことはありますか?コンパイラにやさしいコードを書いていますか?皆様にIARシステムズのエンジニア達がこの場を借りてIAR Embedded Workbenchについて語ります。
 
 

8051 プログラミングの重要ポイント:8051のデータメモリ・アーキテクチャ

8051は1980年にインテルより発売された古いマイコンですが、その後他の半導体ベンダーも8051アーキテクチャのマイコンを供給するようになり、様々な改良・拡張が行われ現在でも広く使われています。8051はアセンブラでプログラミングを行うと非常に効率が良くなるように作られていますが、標準のC言語をそのまま適応するには無理があります。IARのEW8051は改良・拡張によって作られた様々なデバイスを良くサポートし、アセンブラでの記述した場合と遜色のないコードを生成することができますが、8051の複雑なメモリーアーキテクチャについて少し理解を深めることができれば、8051の性能をさらに引き出すことができます。この記事では特に複雑なデータメモリ・アーキテクチャについて簡単な解説をします。

 

 記事を読む...

 
 

"??!"でなにが起こるの?コンパイラのプリプロセッサの落とし穴

コード内の母国語でのコメントは不可解なコンパイルエラーを生じることがあります。2つの疑問符と感嘆子(??!)は1つの縦線(|)に置き換えられます。これは、PC内のプリプロセッサが洞察するよりも簡単に、見掛け上おかしいと判断できます。この記事は、プリプロセッサの変換処理を少し理解することにより、トラブルを防ぎ、メリットを得るための簡単なガイドです。

記事を読む(英文)...

 
 

整数型の振る舞い

ISO/ANSI Cの規格書を読めば、いくらかのポイントはすべてクリアになります。しかし、コードをコンパイルすると、予想外の振る舞いをすることがあります。どのよう な振る舞いをするかをすべて理解し、アドバンテージを得る前に、規格の一部を解析する必要があります。

 記事を読む(英文)...


 
 

割込みサービスルーチン呼び出し関数

アセンブリ言語からC言語への移行にて、速度を低下させる組込みプログラムの1つに割り込みサービスルーチン(ISR)があります。理由の1つは、C言語に対して、伝統的なアセンブリ言語の引数にあります。つまり的確な制御と最適化コードが必要になってきます。

記事を読む(英文)...
 
 

可読コードに関する考察: 条件式

条件式は、しばしば、大きく不統一になり、その結果、読むのが困難になる問題が起きます。いくらかの研究で、複雑な条件式がプログラムで良く問題を起こすことが報告されています。条件式を読むのを簡単にすることによって、プログラマとコード検査員の双方とも、コードが正しいことを簡単に確認できるようになります。

記事を読む(英文)...

 
 

オプティマイザと仲良くする

最適化コンパイラは、小さく速いコードを生成しようとします。最適化はソース・プログラムの変形を何回も試してみることにより解が見出されます。ほとんどは理論的な根拠に基づく数学的論理的な規則に従いますが、発見法によりものもあります。オプティマイザは魔術師ではなく、ソース・コードの書き方により最適化が可能かどうか決まる場合がほとんどです。 
記事を読む...
 
 

volatile宣言するだけではダメなんですか?

組み込みアプリケーションにおいて、再現性のない症状に悩まされることがよくあります。この記事では同じ変数が割り込みルーチンやその他の異なるスレッドから、非同期にアクセスされる場合について考えます...
記事を読む...
 
 

Cプログラマのための即席C++講座

上司から今ある全てのCソース・ファイルを新しいC++コンパイラに移植するように命令され、いったい何から手をつけたらよいかわからないとしたら...
記事を読む...
 
 

プリプロセッサを使ったチップとトリック(パート 1/パート 2)

誰もがCソースの一部に「プリプロセッサディレクティブ」を見たことがあると思います。例えば、ほとんどのソースファイルの先頭に、インクルードディレクティブ(#include)を見つけることができます。プリプロセッサは、実際のコンパイラがソースを見る前に、それを書き換えるシステムです。これは、非常に便利なツールですが、足元をすくわれるかもしれません。

記事を読む(英文)...

この記事では、いくらかの最先端のプリプロセッサのトピックについてカバーします。 

記事を読む(英文)...

 
 

MISRA C - 組込みシステムの安全性を向上する重要ルール

組込みシステムの普及が進んでいるのは誰の目にも明らかです。しかし、システムの数が増えるに従っていくつかの大きな疑問を抱きます。その中の最も大きな疑問は「どうしたら組込みシステムが安全だと確信できるでしょうか?」ということです。
記事を読む...