フォーラムへの返信
-
投稿者投稿
-
FPU Fast RTSライブラリでFPUを使用した演算は行われているようですが、TMUは使用されておりません。
TMUの命令セット一覧は以下となります。
TMUはIntrinsics関数を使用することで呼び出し可能です。
controlSUITEに用意されている以下のサンプルプロジェクトが参考になると思いますので、こちらを参考にプログラムいただけますでしょうか。C:\ti\controlSUITE\device_support\F2807x\v210\F2807x_examples_Cpu1\tmu_sinegenまた、TMU向けの各Intrinsics関数については、下記のコンパイラのマニュアルに156pageに記載がございますので、併せてご利用下さい。
TMS320C28x Optimizing C/C++ Compile v18.1.0.LTS User’s Guide
http://www.ti.com/lit/ug/spru514p/spru514p.pdf
Table 7-8. C/C++ Compiler Intrinsics for TMUFPU及びTMUは、どちらもFPUレジスタを使用して演算されます。このFPUレジスタは割り込み時にスタックにPUSHされ、割り込みから戻ったときにPOPされますので、演算結果に影響はでません。
また、FPUにはHigh Priority割り込みと、Low Priority割り込みの2種類の割り込みが用意されております。これらの割り込みの使い分け方法については、以下のドキュメントの241pageに記載ございますので、併せてご参照いただければと思います。
TMS320C2000:Piccolo MCUのソフトウェア開発入門
http://www.tij.co.jp/jp/lit/an/jaja230a/jaja230a.pdf情報ありがとうございます。
度々の質問となり恐縮ですが、UART0, GPMC,MMC0には何か接続されておりますでしょうか。
以下についてお教えいただけますでしょうか。
・ デバイスの型番は何になりますでしょうか。
・ リブートする場合、SPI0ブートまで到達していることを確認できますでしょうか。SPI0ブートに到達する前に、uart、XIP、MMC0などでブートが実行されていないでしょうか。
トピックが変わりましたので、スレッドを以下のリンクに移動しました。
typedef及びstructはご利用いただけません。
すでにご参照いただいております、CCSのHelpのGELの項に記載のものがご利用可能なものとなります。
EMACの場合にはUARTのように、定期的に応答を確認するものが御座いませんので、起動しない場合には再度ボードでに電源を投入し、再起動をお試しいただけますでしょうか。
以下参考リンクになります。
AM335x board bringup tips
http://processors.wiki.ti.com/index.php/AM335x_board_bringup_tipsAM335x U-Boot User’s Guide
http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User's_GuideCLAにつきましては、コプロセッサの位置づけとなっており、メインCPUと同等の性能を持つものではございません。
CLAの特徴につきましては、少々古い資料となりますが、以下の資料が参考になると思います。
○TMS320C2000:Piccolo MCUのソフトウェア開発入門(JAJA230A)
http://www.tij.co.jp/jp/lit/an/jaja230a/jaja230a.pdf
p.186 「10 CLA(Control Law Accelerator:制御補償器アクセラレータ)」
本資料は、TMS320F2806xシリーズに搭載されるCLAについて記載されております。
TMS320F28075では少し異なる点がございますので、本資料にて概要をご確認いただいた後は、
テクニカルリファレンスマニュアル(SPRUHM9D)のCLA章をご一読ください。
以下にTMS320F28075のCLAの特徴について、記載させていただきます。
・割り込み専用のプロセッサとなっており、通常CPUにある割り込みハンドラ以外のプログラムは動作しません
– C2000のPIEに定義される割り込みから8つの割り込みをCLAに入力できます
・スタックを持っていないため、多重割り込みおよび、2段階以上の関数呼び出しには対応していません
割り込みドリブンのプロセッサで多重割り込みには対応しておりませんので、コンテキスト(レジスタ)のセーブ
などを意識する必要がなく、割り込み禁止などの制御も考慮する必要がありません。
・C言語の標準ライブラリ(printfやstring関連、itoaなど)には対応していません
・CLAは独立したバスを持っており、一部ペリフェラル・メモリのアクセスに制約があります
(JAJA230に記載される内容と異なっている点になります)
– アクセス可能ペリフェラル/メモリ:
PWM, HWPRM, ADC, SPI, McBSP, GPIO
LSx RAM, Dx RAM, CPU-CLA間MSG RAM
– アクセス不可ペリフェラル/メモリ:
SCI, I2C, USB, CAN, EMIF
Mx RAM, GSx RAM, FLASH, OTP
・CLAのFPUはメインCPUと独立していますので、メインCPUの浮動小数点演算のタイミングには依存せず処理可能です
・CPUのTMUハードウェアアクセラレータは使用できません
・汎用レジスタは32bit x 4, 16bit x 2となっております
(メインCPUの汎用レジスタは32bit x 8)
新規プロジェクトの作成方法については、以下のマニュアルの44ページにその手順が記載されておりますので、ご確認ください。
TMS320C2000:Piccolo MCUのソフトウェア開発入門
http://www.tij.co.jp/jp/lit/an/jaja230a/jaja230a.pdfF28075の製品ページ(以下リンク)に用意されている、
TMS320F2807x Piccolo Microcontrollers Technical Reference Manual の115ページの”2.11 Memory Controller Module”の項に記載がございます。TMS320F2807x Piccolo Microcontrollers Technical Reference Manual
http://www.tij.co.jp/product/jp/TMS320F28075
2.11 Memory Controller Module以下画像のように、プロジェクト名を右クリックし、
Build Configurations → Set Active → CPU1_FLASH
を選択すると、FLASHに書き込むためのプロジェクトに変更可能です。CPU用の1.2Vを生成するための、レギュレータ及びDCDCが内蔵されていますので、3.3V単一で動作可能です。
ご投稿ありがとうございます。いただいた情報では問題点を特定することができなかったため、
以下について教えていただけますでしょうか。
- ソフトが止まるとは、プログラムカウンタが停止するという理解でよろしいでしょうか。
それともCCSとの接続が切断されてしまうのでしょうか。
もし切断される場合には、そのときのエラー内容を教えてください。
- ブレイクを入れて動作させる際、プログラムのある特定の箇所にブレークを貼ると正常動作するのでしょうか。それとも、ブレークであれば、どこでも正常動作するようになるのでしょうか。
- 評価ボード上で問題を再現することは可能でしょうか。再現ができる場合、そのプロジェクトを提供いただくことは可能でしょうか。
Leadさん
AMIC120に対応したPINMUX Toosは現状用意されておりません。
AMIC120とピンコンパチ品である、AM437xは現在のPINMUX Toolにて対応しておりますので、
現状はAM437xを選択してご利用ください。
ただし、AMIC120はAM437xよりもペリフェラルが少ないので、
PINMUX ToolではAMIC120で使用可能なペリフェラルを選択するようにしてください。
-ge
- ソフトが止まるとは、プログラムカウンタが停止するという理解でよろしいでしょうか。
-
投稿者投稿