問題タブ [iar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
381 参照

arm - kinetis K60 ベクタテーブルアドレスについて

K60 ベクタ テーブル アドレスを特定するにはどうすればよいですか。レジスタ (0xE000ED08) に格納されていることはわかってVTORいますが、リセット時の値は何ですか? 異なる K60 CPU に対して異なる値を初期化したのか、周辺デバイスによって初期化したのでしょうか?

0 投票する
1 に答える
982 参照

compiler-errors - IAR を使用して MSP430 に contiki を移植する

私は MSP-EXP430F5438 ボードを使用しており、IAR を通じてソース コード (contiki 2.6) を使用して contiki を移植しようとしていました。

次のエラーが表示されます-

ソース コードでヘッダー ファイルが欠落していると思いますか?

よろしく

0 投票する
1 に答える
269 参照

c - 次のエラーが発生した場合、msp430x5438A の IAR を使用して C でプログラムをコンパイルするにはどうすればよいですか?

msp430xf5438A に IAR を使用しています。プログラムをコンパイルしようとすると、次のエラーが表示されます。内部エラー: [TaInstr::Validate]: 命令が要件と一致しません。このエラーを解決するにはどうすればよいですか? ありがとう!

0 投票する
1 に答える
15081 参照

msp430 - IAR Embedded Workbench はファイルを検索していますが、ファイル Pe1696 を見つけることができません。

MSP430 に IAR Embedded Workbench 5.51 を使用しています。C99を使用しています。

サードパーティ ライブラリのコードをインクルードしようとしています。このサードパーティ ライブラリのディレクトリ構造を、メイン プロジェクト ディレクトリのサブディレクトリ内に正確にコピーしました。ただし、コンパイルしようとすると、たくさんの

致命的なエラー [Pe1696]: ソース ファイル "ThirdPartyLib/Subdir/file.h" を開けません

ただし、ログ IAR には次のように表示されます。

検索: 「C:\ ... bla bla bla ... \Source\ThirdPartyLib\Subdir\」

このライブラリの各ソース ファイルの include ステートメントはすべて次のようになります。

次のようにして、C プリプロセッサへのパスを追加しようとしました。

プロジェクト -> オプション -> C/C++ コンパイラ -> プリプロセッサ

次の行を追加します。

「マルチファイルコンパイル」にチェックを入れていません。

問題のソース ファイルはすべてプロジェクトに追加されています。ライブラリのディレクトリ構造を模倣するグループを作成しました。

パスを絶対パスから次のような相対パスに変更すると、問題は解決します

しかし、私は多数のファイルを扱っており、それらをできるだけ変更したくありません。

これまで問題が発生したことはありません-なぜこれが起こるのか誰にもわかりません. すべての c ファイルのすべての include ステートメントをスクラブする必要がないように、これに対する簡単な修正はありますか?

これは基本的に、私のディレクトリツリーがどのように見えるかです:

  • ソース
    • デバッグ
      • EXE
        • 出力.d43
      • リスト
        • blabla.map
      • オブジェクト
        • ...
    • リリース
      • ...
    • 設定
      • ...
    • サードパーティ ライブラリ
      • サブディレクトリ
        • ... サード パーティのコード ファイルはここにあります ...
      • ユーティリティ
        • ... その他のサードパーティ コード ファイルはここに存在します ...
    • ... 私のコードは、EWP、EWW などと共にここに存在します ...

編集 #2: /Source/ で doxygen を再帰的に実行したため、ThirdPartyLib のディレクトリを 1 つ上のレベルに移動しました。これには doxygen が永遠に必要であり、ライブラリには独自の API があることに気付きました。

とにかく、今の構造は次のようになります。

  • ワーキングコピー
    • ソース
      • デバッグ
        • EXE
          • 出力.d43
        • リスト
          • blabla.map
        • オブジェクト
          • ...
      • リリース
        • ...
      • 設定
        • ...
      • ... 私のコードは、EWP、EWW などと共にここに存在します ...
    • サードパーティ ライブラリ
      • サブディレクトリ
        • ... サード パーティのコード ファイルはここにあります ...
      • ユーティリティ
        • ... その他のサードパーティ コード ファイルはここに存在します ...

2 つのサブグループ SubDir および Utils を使用して、ThirdPartyLib のプロジェクトにグループを追加し直し、Subdir および Utils ディレクトリのすべてのファイルを対応するサブグループに追加しました。

これを再度コンパイルしようとしましたが、Pe1696 エラーに直面しました。IAR は次のように述べています。

それでも、まだファイルが見つかりません。

この投稿を参照しました: http : //e2e.ti.com/support/low_power_rf/f/155/t/110195.aspx '落ちた'。IAR は明らかにファイルを検索しています。

とにかく、次の行をプリプロセッサに追加しようとしました

これは役に立たないようです。メッセージ ログに次の行が追加されます。

編集 #3 EWW/EWP を 1 レベル上げて「作業コピー」にしてから、すべてのグループとすべてのファイルを再読み込みしてみました...サイコロはありません。私はここで迷っています。最も苛立たしいのは、以前の開発者によって行われた別のプロジェクトに同じライブラリが実装されており、同じ方法でそれを含めようとしていることです。これが些細なことになることはわかっていますが、何がわからないだけです。

0 投票する
2 に答える
978 参照

c - 私の組み込みアプリケーションは、ウォッチドッグ (IAR/MSP430) が原因で、main() に到達するための init を完了しません。

10K の RAM を搭載した MSP430 チップを使用しています。RAM の使用量が 5k を超えると、main() に到達できなくなります。初期化コードは__data20_memzero、使用されている RAM スペースをクリアするために呼び出します。

__data20_memzero ソース

メモリをインクリメントし、R14 = R12 までバイトをクリアするように見えます。R14 は 0x34B4 です。ただし、再起動して最初からやり直す前の R12 の最大値は 0x2c86 です。デバッガーを介してウォッチドッグを手動でオフにすると、正常に動作し始めました。これが普通とは思えません。この問題を回避する方法はありますか?

0 投票する
1 に答える
1581 参照

c - コンパイルされた C バイナリにファイル名/パスが表示されないようにする方法

これはコンパイラ固有のものである可能性があり、その場合、IAR EWARM 5.50 コンパイラ (STM32 チップ用のファームウェア開発) を使用しています。

私たちのプロジェクトは、最初にコンパイルする一連の C コード ライブラリと、その C コードをコンパイルしてからそれらのライブラリ (かなり標準的なもの) にリンクするメイン アプリケーションで構成されます。

しかし、16 進数エディターを使用して、生成されたライブラリ オブジェクト ファイルまたは最終的なアプリケーション バイナリを開くと、コンパイルされた C ファイルのファイル パスへのプレーン テキスト参照が出力バイナリ内に多数見つかります。(例: 「C:\Development\trunk\Common\Encryption\SHA_1.c」と表示されます)

これに関する2つの問題:

  • ファイル パスを簡単に読み取れるようにする必要はありません。
  • Cファイルが長いサブディレクトリにある場合、バイナリのサイズが大きくなります(バイナリには名前だけでなくフルパスが含まれています)...これは、量が限られているファームウェアを扱う場合に特に重要ですコードスペース (256KB)。

これについて何か考えはありますか?「デバッグ情報を削除する」など、コンパイラで考えられるすべてのスイッチを試しましたが、それらのパスはまだそこにあります。

0 投票する
1 に答える
743 参照

debugging - デバッグ/組み込みに関連する「ステップポイント」の定義

CoreSight Trace Techniquesの使用に関する IAR の説明を読んでいて、「コード カバレッジの統計」を生成する例に出くわしました。

彼らは「ステップポイント」を数回参照しています。IAR サイト内で「ステップ ポイント」を検索すると、上記のリンクのみが生成されます。

命令コード行を簡単に定義できるので、上記のリンクで参照されているように、正確にステップポイント、またはさらに良いのはステップポイントレベルとは何ですか?

0 投票する
1 に答える
939 参照

bluetooth-lowenergy - CC2540 DK プログラム SimpleBLE ペリフェラル アプリケーション

CC2540 EK を購入しました。SampleBLE ペリフェラルを CC2540EM にプログラムしようとしています。IAR ツール チェーンを使用しており、USB ケーブルは SMARTRF05EB に直接接続されています (CC デバッガーは使用していません) IAR ではコードをダウンロードできますが、SimpleBLEperipheral が実行されていないようです。

工場出荷時に CC250EM に付属していたアプリが消去されたようで、そのアプリケーションを再度リロードできません。

開くべき正確なプロジェクト ワークスペースは何ですか?

CC2540EM で実行できるようにするために、IAR プロジェクトに加える必要がある変更はありますか?

IAR プロジェクト名は SimpleBLEPeripheral - CC2540DK- MiniKeyfob です。これは、CC2540EM ではなくキーフォブ向けであることを示唆しているようです。