ホーム › フォーラム › Texas Instruments › マイコン › C2000 › TMS320F2807x USBマスストレージのサンプルソフトについて
このトピックには3件の返信が含まれ、4人の参加者がいます。7 年、 5 ヶ月前に
Ge さんが最後の更新を行いました。
-
投稿者投稿
-
TMS320F2807x USBマスストレージのサンプルソフトについて
デバイス型番:TMS320F28075;TMS320F28074USBマスストレージのサンプルソフト
C:\\ti\\controlSUITE\\device_support\\F2807x\\v210\\F2807x_examples_Cpu1\\usb_host_mscusb_host_msc_cpu01
をRAM上で動作しますが、
FLASHに書き込む場合は、コマンドファイルを定義する以外に何か _FLASH などを定義すれば追加コードなしで再配置できますか、以下画像のように、プロジェクト名を右クリックし、
Build Configurations → Set Active → CPU1_FLASH
を選択すると、FLASHに書き込むためのプロジェクトに変更可能です。コンパイルは正常にできました。
しかし、ダウンロードした直後は正常に動作しますが、
デバッガをランチせずに再起動(電源ON-OFF-ON)しますとつ次のように
リセットを繰り返します。なにか、RAMに転送できていないコードがあると思えます。
コンソールのコピー
Type ‘help’ for help.
NODEV>
USB Mass Storage Host program
Type ‘help’ for help.NODEV>
USB Mass Storage Host program
Type ‘help’ for help.NODEV>
以上、
USBのサンプルプロジェクトでは、ウォッチドッグ機能をディセーブルする処理および、ウォッチドッグタイマのクリア処理が実装されておりません。そのため、ウォッチドッグによるリセットが発生しているものと考えます。
デバッガをランチすると、ランチ時にウォッチドッグ機能はディセーブルされますので、デバッグ時は正常に動作しますが、デバッガを終了し、再起動すると、ウォッチドッグ機能はデフォルトの有効状態で起動します。
最終的には、ウォッチドッグ・タイマをクリアする処理を追加していただくのですが、デバッグや評価におきましては、以下の様にmain関数にてRAMFUNCセクションのコピー前に、ウォッチドッグ禁止処理(DisableDog())を追加してご確認いただけますでしょうか。
int
main(void)
{
int iStatus;
DisableDog();
#ifdef _FLASH
// Copy time critical code and Flash setup code to RAM
// This includes the following functions: InitFlash();
// The RamfuncsLoadStart, RamfuncsLoadSize, and RamfuncsRunStart
// symbols are created by the linker. Refer to the device .cmd file.
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
#endifご確認のほど、よろしくお願いします。
-
この返信は7 年、 6 ヶ月前に
Yojiro さんが編集しました。
-
この返信は7 年、 6 ヶ月前に
-
投稿者投稿

C2000