Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

楕円体を4次元のデータセットに当てはめる必要があります。 いろいろ調べた結果、GNU Scientific Library (GSL) の TSQR メソッド に落ち着きました。

Cygwinシェルを使って、テストプログラムを書きました。 結果は正確で、他の方法のリソースのごく一部しか使用しません。 (TSQRでは、解を見つける際にすべてのデータポイントをSRAMに残す必要はありません。 この機能も備えていない限り、別の方法を提案しないでください。

次に、コードをPSoC4に移植したいと思います。 PSoC CreatorにGSLライブラリをインストールするにはどうすればいいですか? 他のフォーラムの投稿でGSLへの言及を見ましたが、インストール方法の説明はありません。

よろしくお願いします。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Using-TSQR-least-squares-fitting-within-PSoC4/td-p/648941

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

[投稿は編集されました]

この回答は、インフィニオンのエンジニアとのZoom通話から得られたものです。

  1. GNU の Web サイトからライブラリをダウンロードします。 これは「libgsl.a」としては使用できません ファイルが必要な場合は、ナレッジベースで提案されているため、そのメソッドを完全に無視してください。 ライブラリは、すべての C コードとヘッダーを含む .tar.gz ファイルとして提供されます。
  2. 7Zipをダウンロードして、圧縮ファイルにアクセスします。
  3. 必要な特定のコードとヘッダー ファイルを特定します。
  4. PSoC Creatorで、プロジェクトを右クリックし、[追加]、[新規フォルダ]の順にクリックします。 「library_code」のような名前を付けます。
  5. [編集済み] 新しいフォルダを右クリックして、[追加/既存のアイテム]を選択します。 これにより、Windowsエクスプローラーのようなビューが表示されます。プロジェクトに追加するすべてのコード ファイルを選択します (ファイルが複数ある場合は Ctrl キーを押しながらクリックします)。 [開く]をクリックすると、ファイルが新しいフォルダに表示されます。
  6. 必要なすべてのヘッダー ファイルについて、手順 4 と 5 を繰り返します。 (「library_headers」というフォルダを作成して入力します)
  7. PSoC Creatorは、プロジェクトをビルドする際にこれらのファイルにアクセスすることができます。

 

これが他の人に役立つことを願っています。 振り返ってみると、それは簡単なことのように思えます。

[編集済み] エンジニアにメールを送って、実際に機能するソリューションを得られるのは素晴らしいことです。 インフィニオンのエンジニアリングチームのサポートと知識に心から感謝しています。 そのような相互作用 が必要なのはイライラします。 サイプレスのドキュメントは、断片的であったり、不十分であったり、まったく誤解を招いたりすることが多いと思います。このライブラリはリンカー設定から追加 できない ため、ナレッジベースの情報が間違っています。 確かに、標準のGNUライブラリを追加する必要性は珍しくありませんが、インフィニオン社内でさえ、その方法について合意がありません。 社内の私の連絡先によると、彼は3人のソフトウェアの第一人者に尋ねたところ、3つの正解(ただしすべて異なる)が返ってきたそうです。 これが一番簡単でした。

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Using-TSQR-least-squares-fitting-within-PSoC4/m-p/649940

元の投稿で解決策を見る

0 件の賞賛
5 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@ZiSh_3434191

 

https://community.infineon.com/t5/Knowledge-Base-Articles/Adding-a-Library-File-to-PSoC-Creator-Proj...

これはあなたを助けるかもしれません。 まだ問題に直面している場合はお知らせください..

 

よろしく

ロハン

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Using-TSQR-least-squares-fitting-within-PSoC4/m-p/649471

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

ありがとう@Rohan136。質問を投稿する前に、このドキュメントを見ました。 考えすぎかもしれませんが、この文書では取り上げられていない質問が2つあります。

  1. どの .a PSoC Creatorとの互換性が推奨されていますか?
  2. 正しい.aを手に入れたら ファイル、どこに置けばいいですか?

リンカに "gsl" を含めようとすると、"Build error: cannot find -lgsl" というエラー メッセージが表示されます。 少し掘り下げたところ、Windowsマシン用のGSLライブラリが ここで見つかりましたが、5つの異なるバージョンが利用可能です。 明らかに、PSoC CreatorのGCCの実装では、特定のバージョンが優先されます。 どれですか。 サイプレスは何らかのガイダンスを提供する必要がありますが、そうではありません。

正しい.aを手に入れたら ファイル(GSLとCBLASが必要です)、どこに置けばよいかわかりません。GNU Webサイトのインストールドキュメントには、Linuxシステム用の/usr/local/libにライブラリファイルを配置するように記載されています。もちろん、PSoC CreatorはWindows環境にあるため、これらの手順は機能しません。

送信したナレッジベースのドキュメントには、ファイルをどこにでも配置できると記載されています。 期待どおりの場所に配置することをお勧めします。 「通常の」場所は、より大きなGCCフォルダ構造内のどこかにあるGCCライブラリフォルダにあると思います。 しかし、PSoC Creatorで使用されているGCCインストールが見つかりません。 フォルダを調べたところ、C:\ Program Files (x86)\ Cypress \ PSoC Creator \ 4.4 \ PSoCが見つかりました Creator\lib\CortexM3\ARM_GCC_541\Debugにあります。 これは追加の.aを配置するのに適切な場所ですか ファイル。 繰り返しになりますが、サイプレスがこれをよりよく説明することを期待しています。

ご協力いただきありがとうございます。 たぶん、GCCライブラリの追加に関するチュートリアルが必要です。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Using-TSQR-least-squares-fitting-within-PSoC4/m-p/649619

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

ここには、さらに 3 つの Windows 実装があります。たぶん、そのうちの1つがうまくいくでしょうか? ただし、これはR開発者向けのGitHubであり、GCCライブラリの公式ソースではありません。 私はこのようなソースからのコードを使用することを躊躇します。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Using-TSQR-least-squares-fitting-within-PSoC4/m-p/649623

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

[投稿は編集されました]

この回答は、インフィニオンのエンジニアとのZoom通話から得られたものです。

  1. GNU の Web サイトからライブラリをダウンロードします。 これは「libgsl.a」としては使用できません ファイルが必要な場合は、ナレッジベースで提案されているため、そのメソッドを完全に無視してください。 ライブラリは、すべての C コードとヘッダーを含む .tar.gz ファイルとして提供されます。
  2. 7Zipをダウンロードして、圧縮ファイルにアクセスします。
  3. 必要な特定のコードとヘッダー ファイルを特定します。
  4. PSoC Creatorで、プロジェクトを右クリックし、[追加]、[新規フォルダ]の順にクリックします。 「library_code」のような名前を付けます。
  5. [編集済み] 新しいフォルダを右クリックして、[追加/既存のアイテム]を選択します。 これにより、Windowsエクスプローラーのようなビューが表示されます。プロジェクトに追加するすべてのコード ファイルを選択します (ファイルが複数ある場合は Ctrl キーを押しながらクリックします)。 [開く]をクリックすると、ファイルが新しいフォルダに表示されます。
  6. 必要なすべてのヘッダー ファイルについて、手順 4 と 5 を繰り返します。 (「library_headers」というフォルダを作成して入力します)
  7. PSoC Creatorは、プロジェクトをビルドする際にこれらのファイルにアクセスすることができます。

 

これが他の人に役立つことを願っています。 振り返ってみると、それは簡単なことのように思えます。

[編集済み] エンジニアにメールを送って、実際に機能するソリューションを得られるのは素晴らしいことです。 インフィニオンのエンジニアリングチームのサポートと知識に心から感謝しています。 そのような相互作用 が必要なのはイライラします。 サイプレスのドキュメントは、断片的であったり、不十分であったり、まったく誤解を招いたりすることが多いと思います。このライブラリはリンカー設定から追加 できない ため、ナレッジベースの情報が間違っています。 確かに、標準のGNUライブラリを追加する必要性は珍しくありませんが、インフィニオン社内でさえ、その方法について合意がありません。 社内の私の連絡先によると、彼は3人のソフトウェアの第一人者に尋ねたところ、3つの正解(ただしすべて異なる)が返ってきたそうです。 これが一番簡単でした。

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Using-TSQR-least-squares-fitting-within-PSoC4/m-p/649940

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

最小のARMチップを使用して4次元データフィッティングタスクを実行することについては、現実的に考える必要があります。 これは通常、RPi ジョブです。 最初にいくつかのテストを実行して、タスクを完了するために必要な操作の数を把握することをお勧めします。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Using-TSQR-least-squares-fitting-within-PSoC4/m-p/650066

0 件の賞賛