ホーム › フォーラム › Texas Instruments › マイコン › C2000 › TMS320F28379D:SCI経由でのフラッシュROM書き換え このトピックには2件の返信が含まれ、2人の参加者がいます。2 年前に Ge さんが最後の更新を行いました。 4件の投稿を表示中 - 1 - 4件目 (全4件中) 投稿者 投稿 2022年11月14日 10:38 AM #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のみです。 以上、よろしくお願い致します。 2022年11月14日 2:55 PM #19907 解決済み提案を取消 | 返信 Ge従業員 お問い合わせありがとうございます。 以下のご質問いただいた内容は、リンクと同様の事象の可能性がございます。 Flashへの書込みについて 上のリンクを参考にターゲットアプリ側のリンカコマンドファイルを修正し、問題が改善するかご確認頂けますでしょうか。 以上、よろしくお願いいたします。 2022年11月14日 5:14 PM #19908 返信 guest お世話になっております。 ご教授いただいたリンク先の方法で解決しました。 迅速にご対応いただき誠にありがとうございました。 以上、よろしくお願い致します。 2022年11月14日 6:11 PM #19911 返信 Ge従業員 ご連絡ありがとうございます。 無事解決視されたとのことで安心しました。 また不明点が御座いましたらお問い合わせください。 投稿者 投稿 4件の投稿を表示中 - 1 - 4件目 (全4件中)