ホーム › フォーラム › Texas Instruments › マイコン › C2000 › boot mode
このトピックには9件の返信が含まれ、2人の参加者がいます。6 年、 5 ヶ月前に aoiumi さんが最後の更新を行いました。
-
投稿者投稿
-
boot mode
デバイス型番:TMS320F28004X<p>TMS320F280049のcontrolcardについて</p><p>①これまでブートモードはTRST端子があり切り替えられたが</p><p> このカードにはないように思います。</p><p> 切り替えはどのように行っているのでしょうか</p><p>②JATGとcJTAGの切り替えができるようですが</p><p> このコントロールカードで使用する場面はあるのでしょうか</p>
過去のC2000デバイスでも、ブートモードの切り替えはGPIOにて行われており、TRST端子はエミュレータ(XDS)接続の判定に使用されるものとなります。
JTAGの規格(IEEE Standard 1149.1-1990)では、TRST端子はオプションとなっており、TRST端子に代わる信号として、TMSとTCKを用いた制御が行われます。cJTAGは接続信号を削減することが目的となっており、コントロールカードをご利用の際には特に必要ないものと考えております。ご設計される基板でcJTAGを使用される場合に、cJTAGの評価・動作確認を行う際にご利用頂ければと思います。
ブートモードはGPIOでコントロールできましたが
TRST端子のON/OFFで書き込みができた。
F28004Xはエミュレータモードは自動ということですか
JATGに接続されている場合、自動的にエミュレータモードになる。JTAGを使用してフラッシュメモリ書き込んだ時に
そのまま動作フラッシュメモリでプログラムを実行させるには
どのようにしますかTMS320F28004Xでも、ブートモードの切り替えについては、GPIOで行います。
ブートモードピンとして使用される端子は、GPIO24とGPIO32となっており、これらの端子が両方1で、Boot from Flashとなります。F28004Xコントロールカードでは、右上にあるS1で設定できます。S1のスイッチを上側(スイッチOFF)でフラッシュメモリからのブートになります。
ご購入いただいた状態でBoot from Flashの設定となっていますので、書き込み後に書き込みツール(CCSまたはUniflash)を切断状態にして、電源を入れ直して頂ければ、USBケーブルをつないだままでもフラッシュメモリからプログラムが実行されます。コントロールカードのスイッチの詳細につきましては、Piccolo F280049C controlCARD Information Guideに記載されておりますので、こちらの資料も合わせてご確認ください。
SCIブートとは、シリアル通信からフラッシュメモリにプログラムを書き込めるのでしょうか?
SCIでUniflashで書き込み(できるか確認しておりませんが)した場合、そのままプログラムは動きますか
リセット端子を操作しても同じことになりますかまた、電源を再投入する前にGPIOをFlash設定にして電源を入れればFlashから起動するのでしょうか
確認です。エミュレートモードはTMSとTCKからのシグナルで自動的に切り替わると考えていいのでしょうか?
UniflashはJTAGによる書き込みのみサポートしており、SCIブートによるフラッシュメモリの書き込みには対応しておりません。
SCIブードは、シリアル通信で受信したプログラムをSRAMに書き込み、そのプログラムを実行するモードとなっており、フラッシュメモリへの書き込みには対応していません。SRAMに書き込むプログラムとしてフラッシュ書き込みファームウェアを用意いただき、そのファームウェアを使用してシリアル通信とフラッシュメモリへの書き込みを実施して頂く必要があります。
C2000wareにはSCIブートを使用したフラッシュメモリ書き込みのPCツールが用意されております。このツールには、SCIブートにてSRAMへ書き込むファームウェアバイナリが用意されておりますので、ご確認いただけたらと思います。
SCIブート用のプログラムは、C2000wareをインストールしていただくと、以下のフォルダに格納されております。
<C2000ware Install folder>\utilities\flash_programmers\serial_flash_programmer書き込み完了後、ブートモードをBoot from flashの設定に変更して電源を入れ直すことで、フラッシュメモリに書き込まれたプログラムが実行されます。
エミュレートモードにつきましては、ご認識のとおりとなります。そのため、通常時にJTAGがアクティブにならないように、データシートでは、TMS端子に2.2kΩでプルアップしていただくことを推奨しております。
serial_flash_programmer
使い方がわからないのですが
exeをダブルクリックしても何も現れない。sprabv4b.pdf
を確認したけれど、DOS画面のようなものが出てくるように見えるが
動作できるOSとか決まっていますか使い方教えていただけませんか?
serial_flash_programmerはコンソールアプリケーションとなっていますので、コマンドプロンプトを起動して、serial_flash_programmerのディレクトリに移動後に、アプリケーションを実行してください。
実行時のパラメータとして、以下を使用してください。
serial_flash_programmer -d f28004x -k f28004x_fw_upgrade_example\flashapi_ex2_sci_kernel.txt -a f28004x_fw_upgrade_example\led_ex1_blinky.txt -p COM35 -v
パラメータの内容については、以下の通りとなります。
- -d f28004x
TMS320F28004xシリーズのデバイスを指定します - -k f28004x_fw_upgrade_example\flashapi_ex2_sci_kernel.txt
フラッシュ書き込みファームウェアを指定します。起動後このファイルを転送します。 - -a f28004x_fw_upgrade_example\led_ex1_blinky.txt
フラッシュメモリへ書き込むファームウェアを指定します。このファイルは、hex2000ユーティリティによりシリアルブートローダ用フォーマットで出力されている必要があります - -p COM35
シリアル通信で使用するCOM番号を指定します。デバイスマネージャを参照して、通信を行うCOMポート番号を指定してください。 - -v
エラー発生時のメッセージを出力します。評価時にはこのパラメータを指定してください。
最初のフラッシュ書き込みファームウェアの転送が終わると以下のメッセージとメニューリストが表示されます
What operation do you want to perform?
1-DFU
2-Erase
3-Verify
4-Unlock Zone 1
5-Unlock Zone 2
6-Run
7-Reset
8-Live DFU
0-DONEまず、2を入力してフラッシュメモリを消去します。(番号を入力後、Enterキーで確定させてください)
消去するセクタ番号が聞かれますので、全セクタ消去の ALLを入力してください。(ALLのあと、Enterキーで入力を確定させてください)
消去が完了すると、以下のメッセージが表示され、再度メニューリストが表示されます。SUCCESS of Command
続いて、1を入力して、コマンドパラメータで指定したファイルを書き込みます。
ベリファイも行われ、書き込みに成功すると SUCCESS of Command のメッセージと、メニューリストが表示されます。最後に、ブートモード(SW1)をBoot from flashに変更して、電源を入れ直すか、コンソールに7を入力すると、フラッシュメモリに書き込まれたプログラムが実行します。
ご確認のほど、よろしくお願いします。
C2000wareの最新版v1.00.04.00での動作確認を進めておりましたが、フラッシュ書き込みファームウェア(flashapi_ex2_sci_kernel.txt)およびアプリケーション(led_ex1_blinky.txt)に修正を行わないと正しくSCIブートが終了できません。お手数ですが、以下の修正を加えていただき、ご確認ください。
flashapi_ex2_sci_kernel.txtとled_ex1_blinky.txtをバイナリエディタで開いていただき、2バイト目に0x0Dを挿入してください。
修正前) 02 0A AA 08 ….
修正後) 02 0D 0A AA 08 ….※既に、ファイルの先頭のデータが、02 0D 0Aとなっている場合は、修正の必要はありません。
ご確認のほど、よろしくお願いいたします。
ありがとうございます。
ただ、準備に時間がかかりそうです。準備ができましたら、新しく投稿します。
- -d f28004x
-
投稿者投稿