ホーム フォーラム Texas Instruments マイコン C2000 スタンドアロン時にCLAプログラムのコピーに失敗する

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

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

    RDIW
    参加者

    スタンドアロン時にCLAプログラムのコピーに失敗する

    お世話になります。
    F280049マイコンにて、CLAを使用するプログラムを作成しました。
    デバッガを利用して書き込み、動作することは確認できたのですが、
    スタンドアロンの状態で電源を入れた場合には正常にCLAタスクの
    コピーができていない様で、CPUがハングしてしまいます。
    具体的には、下記のコマンド実行時にエラーとなっているようで、
    これをコメントアウトするとCLAタスク以外の部分については正常に動作します。

    memcpy(&Cla1funcsRunStart, &Cla1funcsLoadStart, (Uint32)&Cla1funcsLoadSize);

    デバッガから起動している際には発生しないため原因の特定が難しいのですが
    何か考えられる要因や原因を絞り込む方法はありますでしょうか。

    1点、CLAタスクのサイズが0x800を超えたためLSxRAM4-5にまたがってCla1Progセクションを
    割り当てているのですが本件に影響ありますでしょうか。

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

    #13467 返信
    Ge
    Ge
    従業員

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

    ご連絡いただいた問題に似た内容の議論がされているリンクが御座いました。

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/903602
    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/774719

    上のリンクでは、InitFlash();よりも前に、CLAタスクのmemcpyをしていたために、スタンドアローンで動作しなかったようです。

    下のリンクでは、以下のコールをしていないために、スタンドアローンで動作しなかったようです。
    memcpy((uint32_t *)&Cla1ConstRunStart, (uint32_t *)&Cla1ConstLoadStart,(uint32_t)&Cla1ConstLoadSize );

    こちらのリンクの症状に該当しないか、ヒントになる情報がないかご確認いただけますでしょうか。
    上記でも問題が解決しない場合には、再度お問い合わせいただければと思います。

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

    #13468 返信

    RDIW
    参加者

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

    1番目のリンクの内容で正常に動作するようになりました。
    原因も全く同じで、CLAタスクのコードサイズが大きいことにより
    InitFlash();前にmemcpyしようとすると時間がかかりすぎて
    ウォッチドッグに引っかかっていたようです。

    ご対応ありがとうございました。

    #13469 返信
    Ge
    Ge
    従業員

    ご返信ありがとうございます。
    無事解決されたとのことで安心しました。
    また不明点がありましたらお問い合わせください。

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