ホーム フォーラム Texas Instruments マイコン C2000 TMS320F28379D:SCI経由でのフラッシュROM書き換え

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

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

    guest

    TMS320F28379D:SCI経由でのフラッシュROM書き換え

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

    TMS320F28379Dにて、SCIを使用してフラッシュROMの書き換えを行う
    方法について検討しているのですが、
    サンプル “F2837xD_sci_flash_kernels” のブートローダカーネルを
    マイコンに書き込んだ (※1) 後、ターゲットアプリ (※2) を
    SCIで書き込むと、下記エラーがマイコンからSCI経由で返ってきて
    正常に書き込みができませんでした。

    —————-
    ・エラーステータス: “PROGRAM_ERROR” (0x4000)
    ・FlashAPIのエラー: “Fapi_Error_AsyncIncorrectDataBufferLength”
    ・エラーが発生した対象のアドレスは “.TI.ramfunc” 関連の領域の模様。
    (CCStudioでターゲットアプリをデバッグする際に、書き込み時に現れる
    プログレスバー付のポップアップにその旨が書いてあった。)
    —————-

    なお、ターゲットアプリをサンプル “blinky_dc_cpu01.txt” とすると、
    エラーなく書き込みできた&マイコン再起動後、アプリも正常に
    動作しましたので、こちらで用意したターゲットアプリに問題があると
    考えております。

    問題には “.TI.ramfunc” が関連しているようにも思いますが、
    例えば「#pragma CODE_SECTION(<関数名>, “.TI.ramfunc”)」と
    宣言した関数については、SCI経由での書き込みはできないといった
    ことがある、もしくは該当の関数の書き込みを行う際に
    ほかに注意すべき事項等があったりしますでしょうか。

    情報に乏しいゆえ、ご教授いただけると幸いです。

    ※1:
    使用している環境の都合上、GPIO84/GPIO85をSCI用に使うことができず、
    そのためマイコンをSCIブートモードで起動→ブートローダカーネル
    書き込みができませんので、ブートローダカーネルはCCStudioを使用して
    JTAGで書き込んだ上で動作させております。

    ※2:
    ターゲットアプリは、CCStudioでビルドした.outファイルから
    下記コマンドで生成した.hexファイルになります。
    hex2000 -boot -a -sci8 <.out filename> -o <output filename>

    ※3:
    使用しているCPUはCPU1のみです。

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

    #19907 解決済み提案を取消 | 返信
    Ge
    Ge
    従業員

    お問い合わせありがとうございます。

    以下のご質問いただいた内容は、リンクと同様の事象の可能性がございます。

    Flashへの書込みについて

    上のリンクを参考にターゲットアプリ側のリンカコマンドファイルを修正し、問題が改善するかご確認頂けますでしょうか。

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

    #19908 返信

    guest

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

    ご教授いただいたリンク先の方法で解決しました。
    迅速にご対応いただき誠にありがとうございました。

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

    #19911 返信
    Ge
    Ge
    従業員

    ご連絡ありがとうございます。

    無事解決視されたとのことで安心しました。

    また不明点が御座いましたらお問い合わせください。

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