ホーム › フォーラム › Texas Instruments › マイコン › C2000 › F2837xD ローダープログラム
このトピックには5件の返信が含まれ、2人の参加者がいます。4 年、 7 ヶ月前に uchidaK さんが最後の更新を行いました。
-
投稿者投稿
-
F2837xD ローダープログラム
デバイス型番:F2837xD度々お世話になっております
「F2837xD コア間でのプログラム」の箇所でまだ
分からない点がありますFapi_issueProgrammingCommandがフラッシュへのプログラムロード部分になるとのことですが、
実際にプログラム(モジュール)のロードを行い
ロードを行った関数を呼び出すイメージができておりませんサンプル等はないかと思いますが、もしあるのであれば
頂けませんでしょうかまた、TMS320F2837xD Flash APIのリファレンスガイドで上記の参考になるページがあれば
教えて頂きたくお願いします。ttkkttkk様
お世話になっております。
Fapi_issueProgrammingCommandについては、あくまでFlashに対して書き込むAPIとなっております。Flash APIのリファレンスガイドに上記コマンドの説明もございますので、ご確認ください。
また、Flash APIのリファレンスガイドについては、Flashの書き込み、消去、Verifyに関するAPIのドキュメント、サンプルが記載されておりますので、Flashに書き込んだ命令を実行するような事例に関する記載はございません。
Flashに書き込みを行った後にはProgram Counterに書き込んだ命令の先頭アドレスを渡すような手法などが考えられますが、詳細は貴社にて仕様を決めていただく必要があります。
C2000ware下記ディレクトリでboot時の関連するファームウェアが用意されており、TRMの603ページにboot ROMに関する情報が記載されております。
C2000ware :C2000Ware_x_xx_xx_xx\libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootROM
TRM:http://www.tij.co.jp/jp/lit/ug/spruhm8i/spruhm8i.pdf
上記にはペリフェラルに接続した先からデバイスにファームウェアを受信し、受信したファームウェアを実行する過程も含まれるため、こちらの内容をご確認いただくことで、書き込み対象の命令データの開始アドレスの指定方法や、指定した開始アドレスへジャンプする方法などにおいて、仕様検討のヒントとなると考えております。
以上、参考になれば幸いです。
uchidaK
丁寧な回答ありがとうございます。
一点確認させてください。
回答頂いた、”上記にはペリフェラルに接続した先から・・・”の文にある”上記”とはC2000Wareからインポートができる2つのプロジェクト
F2837x_cpu01_bootROM_REVB
F2837x_cpu02_bootROM_REVB
のことでよいでしょうかttkkttkk様
下記はROMコードを参照するためのプロジェクトとなっておりますので、動作させることは想定しておりません。
F2837x_cpu01_bootROM_REVB
F2837x_cpu02_bootROM_REVB(下記ディレクトリ内のxxx_boot.cなど、各種ペリフェラルブートのソースコードが確認できる意図で紹介しておりました。)
C2000Ware_x_xx_xx_xx\libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootROM\cpu01-bootROM\source
実際に動作させる場合は、下記サンプルプロジェクトが参考になります。先にご案内できておらず申し訳ありません。
C2000Ware_x_xx_xx_xx\device_support\f2837xd\examples\dual\F2837xD_sci_flash_kernels
こちらは、SCIで受信したファームウェアをFlashにプログラムする内容が含まれております。 以上、よろしくお願いいたします。
uchidaK
回答ありがとうございます
上記にはペリフェラルに接続した先からデバイスにファームウェアを受信し、受信したファームウェアを実行する過程
この部分がどのサンプルの
どのあたりのコードになるのか教えていただくことは出来ますでしょうかttkkttkk様
確認いたしましたが、あいにくご案内したサンプルコードが解説されているような資料は見つかりませんでした。
貴社にて実際に評価ボードで動作させていただき、サンプルコードの内容を理解いただく必要があると考えます。
ペリフェラルに接続した先からデバイスにファームウェアを受信し、受信したファームウェアを実行する旨は、下記ディレクトリのファイルの冒頭の説明文に記載がありました。
C2000Ware_2_00_00_02\device_support\f2837xd\examples\dual\F2837xD_sci_flash_kernels\cpu01\F2837xD_sci_flash_kernels_cpu01.c
レジスタ設定については、下記ドキュメントを参考にしていただければと思います。
http://www.tij.co.jp/jp/lit/ug/spruhm8i/spruhm8i.pdf
以上、よろしくお願いいたします。
uchidaK
-
投稿者投稿