ホーム フォーラム Texas Instruments マイコン C2000 TMS320F28075 FLASH BOOT

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

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

    micky
    参加者

    TMS320F28075 FLASH BOOT

    デバイス型番:TMS320F28075

    BOOT MODEを選択するディフォルトのboot pinであるGPIO72、GPIO84は、別用途で使用した為、boot pinとしてGPIO68を使いたい。そこで、CCSツールでTOOL⇒On-Chip Flashで、Z1_BOOTCTRLに0x45450b5aを書き込み、Releaseモードでビルドし、書き込みを実施した・エミュレータを繋いだままrunすると、正常に動作するが、エミュレータを抜き、電源の入り切りをしても、起動しません。
    何か、まだ手順や方法が違うのでしょうか。少し、懸念しているのは、何かプロジェクトに追加しなければならないものがあるのかということですです。それちも単純なミスなのか、ご教授願います。

    Attachments:
    1. project.txt
    #13553 返信

    uchidaK
    従業員

    micky様

    お世話になっております。

    いくつかご確認させていただきたく、

    ・Flashに書き込みが行われていること(エミュレータ接続時にはプログラムがSRAMに配置されていないか?)は確認できておりますでしょうか?

    ・動作確認時のGPIO68の電圧はHighになっておりますでしょうか。

    スタンドアローンでBootさせる場合は、下記Technical Reference Manualの565ページに従ってBootが行われ、Flashに正常にプログラムが書き込まれている場合、Z1_BOOTCTRLの値を拝見すると、GPIO68がHighになっていればFlashからBootされる認識でおります。

    https://www.tij.co.jp/jp/lit/ug/spruhm9f/spruhm9f.pdf

    以上、参考になれば幸いです。

    uchidaK

    #13607 返信

    micky
    参加者

    書込み実行するとconsoleウィンドウに下記のメッセージがあり、プログラムが0x8xxxxx番地に書き込まれています。
    また、GPIO68の電圧はHigに22KでPULLUPしており、ポートの電圧レベルも確認しています。
    なんとなく、リセット後の飛び先アドレスが正しく設定されていないのかと思っています。フラッシュブート時の飛び先は、コンパイル?リンク時に勝手に設定されるのでしょうか?

    —-以下、consoleウィンドウメッセージ—-
    C28xx_CPU1: GEL Output:
    Memory Map Initialization Complete
    C28xx_CPU1: Writing Flash @ Address 0x00082000 of Length 0x00000081 (page 0)
    C28xx_CPU1: PLL configuration status = 1. PLL configured successfully.
    C28xx_CPU1: Erasing Flash Bank 0, Sector A
    C28xx_CPU1: Erasing Flash Bank 0, Sector B
    C28xx_CPU1: Erasing Flash Bank 0, Sector C
    C28xx_CPU1: Erasing Flash Bank 0, Sector D
    C28xx_CPU1: Erasing Flash Bank 0, Sector E
    C28xx_CPU1: Erasing Flash Bank 0, Sector F
    C28xx_CPU1: Erasing Flash Bank 0, Sector G
    C28xx_CPU1: Erasing Flash Bank 0, Sector H
    C28xx_CPU1: Erasing Flash Bank 0, Sector I
    C28xx_CPU1: Erasing Flash Bank 0, Sector J
    C28xx_CPU1: Erasing Flash Bank 0, Sector K
    C28xx_CPU1: Erasing Flash Bank 0, Sector L
    C28xx_CPU1: Erasing Flash Bank 0, Sector M
    C28xx_CPU1: Erasing Flash Bank 0, Sector N
    C28xx_CPU1: Data has been buffered at the end of the current data block for 64-bit aligned writes.
    C28xx_CPU1: Verifying Flash @ Address 0x00082000 of Length 0x00000100
    C28xx_CPU1: Writing Flash @ Address 0x00086000 of Length 0x00000004 (page 0)
    C28xx_CPU1: Verifying Flash @ Address 0x00086000 of Length 0x00000008
    C28xx_CPU1: Writing Flash @ Address 0x00082088 of Length 0x00001f78 (page 0)
    C28xx_CPU1: Verifying Flash @ Address 0x00082088 of Length 0x00003EF0
    C28xx_CPU1: Writing Flash @ Address 0x00084000 of Length 0x00000465 (page 0)
    C28xx_CPU1: Data has been buffered at the end of the current data block for 64-bit aligned writes.
    C28xx_CPU1: Verifying Flash @ Address 0x00084000 of Length 0x000008C8
    C28xx_CPU1: Writing buffered data @ Address 0x00082080 of Length 0x00000004
    C28xx_CPU1: Verifying Flash @ Address 0x00082080 of Length 0x00000008
    C28xx_CPU1: Writing buffered data @ Address 0x00084464 of Length 0x00000004
    C28xx_CPU1: Verifying Flash @ Address 0x00084464 of Length 0x00000008

    #13608 返信

    uchidaK
    従業員

    mickey様

    お世話になっております。

    Flash bootを行う際は、リンカコマンドファイルにてF2807x_CodeStartBranch.asm

    (貴社プロジェクト内にも存在していると推察します)に記載されたcodestartセクションにFlashの開始アドレスを

    割り当てる必要がございます。

    下記ファイルを参考にリンカコマンドファイルが正しく設定されているか、ご確認いただけますでしょうか。

    controlSUITE\device_support\F2807x\v210\F2807x_common\cmd\2807x_Generic_FLASH_lnk.cmd

    以上、よろしくお願いいたします。

    uchidaK

     

     

    #13611 返信

    micky
    参加者

    uchidaK様
     どうやら、projectの「F2807x_CodeStartBranch.asm」を組み込んでいなかった事が原因のようです。
    このファイルを組み込むことにより、FLASH BOOTするようになりました。
    ありがとうございました。とりあえず、解決しました。

    mickey

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