1114454_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1114454_ja-JP

1114454_ja-JP

尝鲜IAR 6.7集成Processor Expert工程代码功能(The Step to integrate Processor Expert code to IAR6.7)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

最近、ある顧客からPEで生成されたTSIコードをIARに移行する方法について質問がありました。従来の方法では、ヘッダーファイルとライブラリファイルを1つずつインクルードするのは非常に面倒なので、関連操作について調査しました。IARの初期バージョンでは、ユーザーはチップ名、リンクファイル、インクルードパス情報を手動で追加する必要がありました。特に、PEでコンポーネントを追加または削除した後は、対応するファイルを追加または削除する必要があり、難易度が増していました。最新バージョンのIAR 6.7では、PEプロジェクトのリンクメカニズムが統合されています。PEプロジェクトのXMLファイルを簡単に読み取ることができるため、 PEで生成されたコードをIAR Embedded Workbenchに移行できます。IARの初期バージョンと比較して、主なタスクは次のとおりです。

  • 使用されているチップの種類を自動的に検出します。
  • PE の LCF 接続プロファイルを自動的に追加します。
  • インクルードされたヘッダーファイルパスを自動的に更新します。
  • PE がコンポーネントを追加または削除すると、IAR プロジェクトは対応するコンポーネント コードを自動的に追加または削除します。

IARはいくつかの面倒な作業を完了しましたが、インターネット上で参照できるリソースはそれほど多くありません。初めて使用する場合は、まだある程度の調査が必要です。皆様の時間を節約するために、以下に具体的な例を示し、PEプロジェクトをIARに統合する方法を段階的に紹介します。


1. Processor Expertソフトウェアを開き、新しいPEプロジェクトを作成し、生成されたコードを保存します。この手順は比較的簡単なので、ここでは説明しません。IARで使用する手順に焦点を当てます。


2. IAR Workbench で「新しいプロジェクトの作成」を選択して、新しい空のプロジェクトを作成します。

8320_8320.png1.png

3. 新しく作成したプロジェクトファイルをPEプロジェクトのフォルダに保存します。ここで他のパスを選択することもできますが、簡素化とメンテナンスの容易さの観点から、PEプロジェクトに直接保存することをお勧めします。

8324_8324.png3.PNG.png

4. 「ツール」->「オプション」->「プロジェクトオプション」を開き、「プロジェクト接続を有効にする」にチェックを入れます。このオプションの目的は、Freescale Processor ExpertやInfineon DAVEなどのサードパーティ製ツールによって生成された.XMLファイルをIARが読み取れるようにすることです。

8323_8323.png2.png


5. PE プロジェクトの XML ファイルを追加し、[プロジェクト] -> [プロジェクト接続の追加] を選択すると、リンク選択ダイアログボックスがポップアップ表示されるので、 [Freescale Processor Expert] を選択します。デフォルトは [IAR プロジェクト接続] です。

8325_8325.png4.png

8326_8326.png5.PNG.png

6. [OK] をクリックした後、PE プロジェクトの作成時に生成されたプロジェクト記述子ファイルProjectinfo.xml を選択します。

8327_8327.png6.png

7. 上記の手順を完了すると、IARでは以下の3つのタスクが自動的に完了します。PEによって生成されたファイルIARに自動的にロードし、 LCFリンク設定ファイルを自動的にインストールし、ヘッダーファイルパスを自動的にインクルードします。これらの手順は、以前のバージョンのIARでは手動で追加する必要があり、PEでコードを再生成する際には、対応するファイルを再度追加する必要があります。

8328_8328.png7.PNG.png

8338_8338.png11.PNG.png8340_8340.png12.PNG.png


8. 上記の手順を完了したら、実際の状況に合わせてダウンローダー/デバッガーを設定する必要があります。「プロジェクト」->「オプション」->「デバッガー」->「セットアップ」を選択し、ドライバーをダウンロードします。実験ではKL25 FRDMボードを使用するため、「PEマクロ」で「OpenSDA」を選択し、「OK」をクリックして設定を完了します。

8341_8341.png13.PNG.png8342_8342.png14.PNG.png

9. プロジェクトをコンパイルし、デバッグをダウンロードします。

8329_8329.png8.PNG.png

要約すると、主に次の 2 つのタスクが完了します: (1) プロジェクト接続を構成して有効にし、PE によって生成された XML ファイルをインポートします。 (2) デバッガー エミュレーターを構成します。

日時:尝鲜IAR 6.7集成Processor Expert工程代码功能(The Step to integrate Processor Expert code to IAR6.7)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

問題は次のように回答できます。


"Libraries(-l)" にライブラリを追加すると、gcc リンカはこれが gcc ライブラリであることを知っていたため、'lib' プレフィックスと '.a' サフィックスを追加する必要はありません。

しかし、"Miscellaneous"にライブラリを追加すると、ファイルが 'lib'プレフィックスと '.a'サフィックスがない場合、gccリンカはそれをgccライブラリとは見なしません。

Re: 尝鲜IAR 6.7集成Processor Expert工程代码功能(The Step to integrate Processor Expert code to IAR6.7)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

.xml 構成ファイルを確認すると、上記のライブラリ パスはプロジェクト フォルダーの下にあります。Containing Folderコマンドで開かれるパスはプロジェクトが配置されているパスでもありますが、ライブラリのパスではなく、その親パスです。これは認識されないはずです。

ご指摘いただいたオプション( atuoランタイムライブラリの選択)を確認しましたが、それでも動作しませんでした。ただし、オプションの「追加ライブラリ」にライブラリパスを追加したら、動作するようになりました。

2つ目の方法は、上で述べた方法です。リンクを解除した後、自分でライブラリを追加します。自動で追加されたライブラリは引用符で囲まれているのに、自分で追加したライブラリは引用符で囲まれていないことに気づきました。これはどういう意味でしょうか?

以下はXMLのパスフラグメントです。パスには中国語は含まれていません。

    D:\PE_K60\TEST1.0\Project_Settings\Linker_Files\ProcessorExpert.icf

   

      D:\PE_K60\TEST1.0\Sources\TSS\

      C:\Freescale\PExDrv v10.3\eclipse\ProcessorExpert\lib\Kinetis\iofiles\

      C:\Freescale\PExDrv v10.3\eclipse\ProcessorExpert\lib\Kinetis\pdd\inc\

      D:\PE_K60\TEST1.0\Sources\

      D:\PE_K60\TEST1.0\Generated_Code\

   

   

      D:\PE_K60\TEST1.0\Generated_Code\

      D:\PE_K60\TEST1.0\Sources\

      D:\PE_K60\TEST1.0\Sources\TSS\

   

   

      D:\PE_K60\TEST1.0\Sources\TSS\

   

 

Re: 尝鲜IAR 6.7集成Processor Expert工程代码功能(The Step to integrate Processor Expert code to IAR6.7)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

パス名を確認する必要があります デフォルトのパスはTSSのインストールディレクトリ内です。さらに、 IARリンカー設定項目ライブラリオプション設定を確認しランタイムライブラリの選択を有効にする必要あります

Re: 尝鲜IAR 6.7集成Processor Expert工程代码功能(The Step to integrate Processor Expert code to IAR6.7)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは!

記事に従ってPEを使ってTSSライブラリに関するプロジェクトをビルドしました。IARを使ってファイルをコンパイルしたところ、エラーが発生しました。

Error[Li005]: no definition for "TSS_Init" [referenced from D:\PE_K60\test1\Debug\Obj\TSS1.o]

Error[Li005]: no definition for "TSS_SetKeypadConfig" [referenced from D:\PE_K60\test1\Debug\Obj\TSS1.o]

Error[Li005]: no definition for "TSS_SetSystemConfig" [referenced from D:\PE_K60\test1\Debug\Obj\TSS1.o]

Error[Li005]: no definition for "TSS_GetSystemConfig" [referenced from D:\PE_K60\test1\Debug\Obj\TSS_SensorTSI.o]

Error while running Linker

エラーの原因はファイルで見つかりました

      "TSS_KXX_M4.a"

   

上記のパスは IAR では無効なパスとして認識され、ライブラリ内の関数を参照できなくなります。

IARにファイルをロードした後、ご指摘の4番目のステップでプロジェクトリンクを解除し(「ツール」->「オプション」->「プロジェクト」オプションを開き、「プロジェクト接続を有効にする」にチェックを入れます)、IARプロジェクトに含まれるTSS_KXX_M4.aファイルを削除して、ファイルを再ロードしました。この時、コンパイルは成功しました。

これをどうすればよいのでしょうか?

私はIAR6.7.1、PE10.3を使用しています

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-06-2026 01:19 AM
更新者: