ホーム › フォーラム › Texas Instruments › マイコン › C2000 › TMS320F28379D controlCARD 起動方法
このトピックには11件の返信が含まれ、2人の参加者がいます。5 年、 1 ヶ月前に ttkkttkk さんが最後の更新を行いました。
-
投稿者投稿
-
TMS320F28379D controlCARD 起動方法
デバイス型番:TMS320F28379Dお世話になっております。
TMS320F28379D controlCARDを購入し、
TMS320F28379Dの評価を行っておりますXDS110デバッガを使い、プログラムをダウンロードし実行することによって
デバッグはできているのですが、
XDS110を接続しない状態で電源の切入を行うと、
プログラム(blinky_dc_cpu01)が実行されていないように見えますデバッガを接続せずにcontrolCARDの電源を入れた際に
正常に起動させるにはどうすればよいのでしょうか重ね重ねすみませんが、ご回答をお願いいたします
ttkkttkkさん
blinky_dc_cpu01プロジェクトですが、インポートした直後は、RAMにプログラムが展開(配置)され、デバッガで動作検証する設定になっております。
XDS110を接続しない場合、FLASHにプログラムを配置する設定に変更頂く必要があります。
Project Explorerからプロジェクトを選択→右クリックメニュー→Build Configurations→Set Activeから”CPU1_FLASH_STANDALONE”を選択していただくことで、ビルド設定がFLASH配置に変更されます。
この設定でビルド→書き込みを行っていただけますでしょうか。
なお、CPU1_FLASH_STANDALONE設定の場合、メイン処理にてCPU2の起動確認も行っておりますので、blinky_dc_cpu02プロジェクトをCPU2へ書き込んでおく必要があります。CPU1のみで動作確認を行われる場合は、Set Activeから”CPU1_FLASH_DEBUG”を選択してください。
ご確認のほど、よろしくお願いいたします。
ご回答ありがとうございます
以下の手順でダウンロードを行いましたが、
基板の電源を切り入りすると、プログラムがダウンロードできていないように思いますblinky_dc_cpu01プロジェクトを開き、
Build Configuration->Set Active->CPU1_FLASH_STANDALONEにして
Project->Build ProjectDebugボタン押下、
Load ProgramでCPU1_FLASH_STANDALONE\blinky_dc_cpu01.outをダウンロード
ここで停止を押下この時点では、LEDは点滅がしておりblinky_dc_cpu01の動作はしているようです
ただし、ここから
基板電源OFF、デバッガ切断、基板電源ONした場合、
LEDは点灯状態となり、点滅が行われませんCPU2側のCPU2_FLASHもダウンロードはしております
ディップスイッチ等何かほかの設定で問題があるのでしょうかすみませんが回答をお願いいたします。
すみません
ControlCARDのSW1のGPIO72,84が1に設定されていなかったようです。
設定したところデバッガなしでも起動できました。ありがとうございます。ただ、別の同じCPUが搭載された基板でデバッガなしで起動する場合
毎回GPIO72、84をHIGHに必ず設定する必要があるのでしょうか?- この返信は5 年、 1 ヶ月前に ttkkttkk さんが編集しました。
以下でGPIO72のONだけで対応することができました
OTPBOOTCTRLの
Z1-BOOTCTRL(0x7801E) に 0x49490B5A を入力し、「Program OTPBOOTCTRL」を押下、
Z2-BOOTCTRL(0x7821E) に 0x49490B5A を入力し、「Program OTPBOOTCTRL」を押下、2点、質問ですが
・先ほどの質問と重複しますが、FLASHからの起動はGPIO入力でHを設定するGPIOが必ず一本は必要となるのでしょうか?
・上記、フラッシュへのエリアは一度ライトしてしまうと二度目の書き込みは不能のようですが、
もう一度FFFFFFFFに戻すにはcontrolCARDをもう一枚購入するしかないのでしょうか?- この返信は5 年、 1 ヶ月前に ttkkttkk さんが編集しました。
ttkkttkkさん
Standalone動作の場合は、必ずGPIOによるBoot Modeの設定は必要となります。お試しいただいた設定では、Boot Mode Select pin 0と1を共通端子としておりますので、wait モードでの起動ができなくなります。
デバッガ接続時には、Waitモードに設定いただくことを推奨しておりますが、セキュリティ機能(DSCM)を使用しない場合は、Get Mode/Flashモードでもデバッガ起動いただくことは可能です。
TMS320F2837xのセキュリティ機能を有効にしていただくと、セキュリティ領域のプログラムを実行している場合には、JTAG接続/デバッガ起動ができなくなります。これを防ぐためにWaitモードが用意されています。Zx-BOOTCTRLレジスタですが、一度書き込んで頂くと、消去はできませんが、ビットを1→0には変更可能です。Zx-BOOTCTRL.Key (bit 7-0)を0x5A以外(0x00など)で再書き込みしていただくと、Zx-BOOTCTRLは無効(0xFFFFFFFFと同じ動作)となり、Factory Defaultで動作することになります。ただし、再びBOOTCTRLを設定することはできません。
Technical Reference ManualのFigure 4-1にありますように、ブート処理では最初にZ1_BOOTCTRL → Z2_BOOTCTRLの順に有効なのか確認しています。今回、両方のレジスタを変更頂いておりますが、まずはZ1_BOOTCTRLを変更いただき、修正が必要の場合にはZ1_BOOTCTRL.Keyを0x5A以外に変更し、Z2_BOOTCTRLに新たな設定をいれていただくものになります。
Technical Reference Manualの Chapter 4.「ROM Code and Peripheral Booting」に、ブート時の詳細フローが記載されておりますので、ご一読いただけますでしょうか。
CCSによるデバッグ時には、EMU_BOOTCTRL(0xD00)が参照されます。この値は、CCSでデバッガ起動後に、Scriptメニュー→EMU Boot Mode Selectから、EMU_BOOT_SARAMまたはEMU_BOOT_FLASHにて変更できます。FLASH書き込み後の動作検証には、EMU_BOOT_FLASHを選択してください。
ご確認のほど、よろしくお願いいたします。
ご回答ありがとうございます。
Zx-BOOTCTRLレジスタですが、一度書き込んで頂くと、消去はできませんが、ビットを1→0には変更可能です。
とのことですが、
CCSのメニュー[Tools]→[OnChipFlash]の所で変更することができるのでしょうか
変更方法についてご教示いただけませんでしょうかttkkttkkさん
最初の書き込みと同様で、CCSのメニュー[Tools]→[On-Chip Flash]にて変更することが可能です。
ただし、書き込み済みのデータで0に設定したビットを1にすると書き込みエラーとなる場合がございます。
デバッガ起動後、[On-Chip Flash]を表示すると、書き込み済みのデータが表示されますので、Keyのみ(bit 7-0)を変更いただくか、全て0で書き込みを行ってください。
ご確認のほど、よろしくお願いいたします。
回答ありがとうございます。
「0x00000000」と「0x49490B00」の書き込みを試してみましたが
添付のエラーが発生し、書き込みができていないと思います他に設定等必要であればご教示をお願いします。
Attachments:
ttkkttkkさん
先程の回答につきまして、誤った内容となっておりました。
Zx_BOOTCTRLにつきましては、一度のみ書き込みが可能となっています。書き込み後の1→0への再書き込みはできません。
OTPROM自体は1→0への書き込みは可能ですが、ECC機能がありますため、書き込みアルゴリズムにて書き込み済みのアドレスに対しての再書き込みを禁止しておりました。
※OTPROMの中でも、Zx_LINKPOINTERのみECCの対象外となります。従いまして、一度書き込みされた値を無効にする方法はございません。
初期状態のTMS320F28379Dでお試し頂く場合は、改めてcontrolCARDをご購入いただく必要がございます。
ご検討のほど、よろしくお願いいたします。
controlCARDの件、了解しました
回答ありがとうございました。マニュアルに記載されてあることで理解不足のところがあれば
申し訳ないのですが
2点教えていただきたくお願いします工場出荷状態でGPIO72,84の2ポートがCPU起動時にH状態であれば
FLASHから起動されるのでしょうか?上記のときに毎回、FLASHからブートさせたい場合は
Z1_BOOTCTRLに「0x49550B5A」をライトしておく必要がありますか?- この返信は5 年、 1 ヶ月前に ttkkttkk さんが編集しました。
ttkkttkkさん
工場出荷状態では、Boot Mode PinにGPIO72,84が使用されますので、この2つのポートがH状態であればFLASHから起動されます。
このとき、Z1_BOOTCTRLへの書き込みは不要です。Z1_BOOTCTRLおよびZ2_BOOTCTRLは工場出荷時には未書き込み(0xFFFFFFFF: Key=0xFF)ですので、Factory DefaultとしてBoot Mode PinにはGPIO72,84が使用されます。
ご確認のほど、よろしくお願いいたします。
回答どうもありがとうございます。
解決済みにさせていただきました、 -
投稿者投稿