ホーム フォーラム Texas Instruments マイコン C2000 TMS320F28379D controlCARD 起動方法

このトピックには11件の返信が含まれ、2人の参加者がいます。4 年、 11 ヶ月前 ttkkttkk さんが最後の更新を行いました。

13件の投稿を表示中 - 1 - 13件目 (全13件中)
  • 投稿者
    投稿
  • #8416 返信

    ttkkttkk
    参加者

    TMS320F28379D controlCARD 起動方法

    デバイス型番:TMS320F28379D

    お世話になっております。
    TMS320F28379D controlCARDを購入し、
    TMS320F28379Dの評価を行っております

    XDS110デバッガを使い、プログラムをダウンロードし実行することによって
    デバッグはできているのですが、
    XDS110を接続しない状態で電源の切入を行うと、
    プログラム(blinky_dc_cpu01)が実行されていないように見えます

    デバッガを接続せずにcontrolCARDの電源を入れた際に
    正常に起動させるにはどうすればよいのでしょうか

    重ね重ねすみませんが、ご回答をお願いいたします

    #8421 返信
    Yojiro
    Yojiro
    従業員

    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”を選択してください。

    ご確認のほど、よろしくお願いいたします。

    #8422 返信

    ttkkttkk
    参加者

    ご回答ありがとうございます

    以下の手順でダウンロードを行いましたが、
    基板の電源を切り入りすると、プログラムがダウンロードできていないように思います

    blinky_dc_cpu01プロジェクトを開き、
    Build Configuration->Set Active->CPU1_FLASH_STANDALONEにして
    Project->Build Project

    Debugボタン押下、
    Load ProgramでCPU1_FLASH_STANDALONE\blinky_dc_cpu01.outをダウンロード
    ここで停止を押下

    この時点では、LEDは点滅がしておりblinky_dc_cpu01の動作はしているようです

    ただし、ここから
    基板電源OFF、デバッガ切断、基板電源ONした場合、
    LEDは点灯状態となり、点滅が行われません

    CPU2側のCPU2_FLASHもダウンロードはしております
    ディップスイッチ等何かほかの設定で問題があるのでしょうか

    すみませんが回答をお願いいたします。

    #8446 返信

    ttkkttkk
    参加者

    すみません
    ControlCARDのSW1のGPIO72,84が1に設定されていなかったようです。
    設定したところデバッガなしでも起動できました。ありがとうございます。

    ただ、別の同じCPUが搭載された基板でデバッガなしで起動する場合
    毎回GPIO72、84をHIGHに必ず設定する必要があるのでしょうか?

    • この返信は4 年、 11 ヶ月前に  ttkkttkk さんが編集しました。
    #8457 返信

    ttkkttkk
    参加者

    以下でGPIO72のONだけで対応することができました
    OTPBOOTCTRLの
    Z1-BOOTCTRL(0x7801E) に 0x49490B5A を入力し、「Program OTPBOOTCTRL」を押下、
    Z2-BOOTCTRL(0x7821E) に 0x49490B5A を入力し、「Program OTPBOOTCTRL」を押下、

    2点、質問ですが
    ・先ほどの質問と重複しますが、FLASHからの起動はGPIO入力でHを設定するGPIOが必ず一本は必要となるのでしょうか?
    ・上記、フラッシュへのエリアは一度ライトしてしまうと二度目の書き込みは不能のようですが、
     もう一度FFFFFFFFに戻すにはcontrolCARDをもう一枚購入するしかないのでしょうか?

    • この返信は4 年、 11 ヶ月前に  ttkkttkk さんが編集しました。
    #8460 返信
    Yojiro
    Yojiro
    従業員

    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を選択してください。

    ご確認のほど、よろしくお願いいたします。

    #8463 返信

    ttkkttkk
    参加者

    ご回答ありがとうございます。

    Zx-BOOTCTRLレジスタですが、一度書き込んで頂くと、消去はできませんが、ビットを1→0には変更可能です。

    とのことですが、
    CCSのメニュー[Tools]→[OnChipFlash]の所で変更することができるのでしょうか
    変更方法についてご教示いただけませんでしょうか

    #8464 返信
    Yojiro
    Yojiro
    従業員

    ttkkttkkさん

     

    最初の書き込みと同様で、CCSのメニュー[Tools]→[On-Chip Flash]にて変更することが可能です。

    ただし、書き込み済みのデータで0に設定したビットを1にすると書き込みエラーとなる場合がございます。

    デバッガ起動後、[On-Chip Flash]を表示すると、書き込み済みのデータが表示されますので、Keyのみ(bit 7-0)を変更いただくか、全て0で書き込みを行ってください。

     

    ご確認のほど、よろしくお願いいたします。

    #8468 返信

    ttkkttkk
    参加者

    回答ありがとうございます。

    「0x00000000」と「0x49490B00」の書き込みを試してみましたが
    添付のエラーが発生し、書き込みができていないと思います

    他に設定等必要であればご教示をお願いします。

    #8472 返信
    Yojiro
    Yojiro
    従業員

    ttkkttkkさん

    先程の回答につきまして、誤った内容となっておりました。

    Zx_BOOTCTRLにつきましては、一度のみ書き込みが可能となっています。書き込み後の1→0への再書き込みはできません。

    OTPROM自体は1→0への書き込みは可能ですが、ECC機能がありますため、書き込みアルゴリズムにて書き込み済みのアドレスに対しての再書き込みを禁止しておりました。
    ※OTPROMの中でも、Zx_LINKPOINTERのみECCの対象外となります。

    従いまして、一度書き込みされた値を無効にする方法はございません。

    初期状態のTMS320F28379Dでお試し頂く場合は、改めてcontrolCARDをご購入いただく必要がございます。

    ご検討のほど、よろしくお願いいたします。

    #8473 返信

    ttkkttkk
    参加者

    controlCARDの件、了解しました
    回答ありがとうございました。

    マニュアルに記載されてあることで理解不足のところがあれば
    申し訳ないのですが
    2点教えていただきたくお願いします

    工場出荷状態でGPIO72,84の2ポートがCPU起動時にH状態であれば
    FLASHから起動されるのでしょうか?

    上記のときに毎回、FLASHからブートさせたい場合は
    Z1_BOOTCTRLに「0x49550B5A」をライトしておく必要がありますか?

    • この返信は4 年、 11 ヶ月前に  ttkkttkk さんが編集しました。
    #8477 返信
    Yojiro
    Yojiro
    従業員

    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が使用されます。

    ご確認のほど、よろしくお願いいたします。

    #8481 返信

    ttkkttkk
    参加者

    回答どうもありがとうございます。
    解決済みにさせていただきました、

13件の投稿を表示中 - 1 - 13件目 (全13件中)