フォーラムへの返信
-
投稿者投稿
-
F28374Sの参考資料は用意がございませんでした。
ご認識の通り、F28374SにはFLASH BANKが1つしかございませんので、Live Firmware Updateを実現するためには、ApplicationプログラムがすべてRAM上で完結動作するようにしていただく必要がございます。F28004xと同様に、Flash上でプログラムを実行しながらFirmwareをUpdateする必要がある場合には、F28374Sとピンコンパチ品である、F28374Dをご検討いただけますでしょうか。こちらの製品は、CPUが2つ、FLASHが2つ内蔵されておりますので、Flash上でのLive Firmware Updateが可能となります。
TMS320F28374D
https://www.tij.co.jp/product/jp/TMS320F28374D以上、よろしくお願いいたします。
ご連絡ありがとうございます。
無事動作したとのこと安心いたしました。
また不明点が御座いましたらお問い合わせください。ご連絡いただきありがとうございます。
定期的なリセットが発行されているので、正常にブートできず、ウォッチドックリセットが働いているようです。本問題について、pfc3phvienna_F2837xのソースコードを調べたところ、FLASHのエントリポイントにcodestartのセクションが正しく配置されていないため、起動していなかったようです。
pfc3phvienna_F2837xのdeviceフォルダに、F2837xD_CodeStartBranch.asmが含まれていると思います。
こちらのファイルを開き、以下の箇所に.retainという記述を追加いただけますでしょうか。
こちらを追加いただき、Build → Loadいただくと、デバッガ接続なしの状態で動作を開始できると考えます。もしこちらの変更でも正常に起動しない場合には、再度お問い合わせください。
以上、宜しくお願い致します。
ご連絡ありがとうございます。
pfc3phvienna_F2837xをご利用の場合には、vienna_main.cのmainc()の先頭でコールされているVIENNA_HAL_setupDevice()のすぐ下に、以下のコードを追加し、
プログラムのロードをお願いいたします。ーーーーーーーーーーーーーーーーーーーーーーーーーー
volatile unsigned long i;GPIO_setDirectionMode(31, GPIO_DIR_MODE_OUT);
for(;;)
{//
// Toggle LED
//
GPIO_togglePin(31);//
// Delay for a bit.
//
for(i=0;i<1000000;i++)
{
asm(” NOP “);
}}
ーーーーーーーーーーーーーーーーーーーーーーーーーー
プログラムをロード後、5V電源を投入しControlCARD上のLD2が点滅すれば、ハードウェア側は問題ないことになります。
以上、宜しくお願い致します。
失礼しました。TIDM-1000のVIENNAボード用のサンプルプロジェクトは何パターンか用意されているようで、bplus様のプロジェクトと、私が確認に使用したプロジェクトは異なるもののようです。
お手数ですが、現在使用しているVIENNAボードのCCSプロジェクト名をご教示いただけますでしょうか。ちなみに私が使用したものは、pfc3phviennaというものになります。
以上、宜しくお願い致します。
情報ありがとうございます。
Uniflashでプログラムをロードした後には自動でVerifyが取られますので、書き込みには失敗していないように見えます。プログラムロード後に、何らかの要因でFLASHのデータが書き換わっているように見えますので、Verifyエラーとなっているアドレスをご確認いただき、そのアドレスに対しデータを書き換えるようなプログラムが走っていないかご確認いただけますでしょうか。お問い合わせありがとうございます。
Build Configurationsの設定及び、ControlCARDのスイッチの設定共に問題無いように見えます。
問題の切り分けを行うために、まずはFLASHブートで起動し、ControlCARDのLEDが点滅するかご確認いただけますでしょうか。
pfc3phvienna.cのmainc()の先頭でコールされているsetupDevice()のすぐ下に、以下のコードを追加し、プログラムをロードしていただけますでしょうか。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
InitGpio(); // Skipped for this example
EALLOW;
GpioCtrlRegs.GPADIR.bit.GPIO31 = 1;
EDIS;
GpioDataRegs.GPADAT.bit.GPIO31 = 1;// turn off LEDfor(;;)
{
//
// Turn on LED
//
GpioDataRegs.GPADAT.bit.GPIO31 = 0;
//
// Delay for a bit.
//
DELAY_US(1000 * 500);//
// Turn off LED
//
GpioDataRegs.GPADAT.bit.GPIO31 = 1;
//
// Delay for a bit.
//
DELAY_US(1000 * 500);
}
ーーーーーーーーーーーーーーーーーーーーーーーーーープログラムをロード後、5V電源を投入しControlCARD上のLD2が点滅すれば、ハードウェア側は問題ないことになります。もし点滅しない場合には、ハードウェア側の問題である可能性が高いため、マイコンのVDDIO(3.3V)、VDD(1.2V)、XRS(リセット)の信号をご確認いただけますでしょうか。
VDDIOはcontrolCARD上のTP5、VDDはTP6、XRSはTP2から確認可能となります。
以上、宜しくお願い致します。
ご連絡いただいた現象は、ブートROMのコードからmainへジャンプできていないために起きているようです。
現状では原因の特定ができないため、OKのプロジェクトと、NGのプロジェクトをそれぞれ添付いただくことはできますでしょうか。添付が難しい場合には、OKのプロジェクトと、NGのプロジェクトの差分をお教えいただきたく思います。以上、宜しくお願い致します。
> Watchdog Resetが動作しているような感じで、このResetのせいで
> 再bootが何度も繰り返されているという理解でよろしいのでしょうか?ご認識のとおりResetにより再ブートが繰り返されているものと考えます。
また、XRSが15msごとにアサートされているのでWatchdog Resetで間違いないと思います。
mainの先頭などでWatchdogを無効にして、プログラムが正常に起動するかお試しいただければと思いますソフト側は、FLASH用のリンカコマンドファイルを使用すると、CCSでプログラムロード時にFLASHにプログラムが書き込まれます。zen135様のプロジェクトは、FLASH用のリンカコマンドファイル「28374S_FLASH_lnk.cmd」を選択されていると思いますので、CCSでの設定は特に必要ございません。
以上、宜しくお願い致します。
お問い合わせありがとうございます。
FLASH書き込みについては以下のドキュメントのp.57のFlashの章をご参考いただけますでしょうか。TMS320C2000:Piccolo MCUのソフトウェア開発入門
http://www.tij.co.jp/jp/lit/an/jaja230a/jaja230a.pdf正常にFLASH書き込みができている状態で、TMS320F28374SのTRSTピン=Low、GPIO72=High, GPIO84=Highの状態でデバイスに電源を投入すると、FLASHに書き込みしたプログラムが動作致します。
また不明点が御座いましたらお問い合わせください。
以上、宜しくお願い致します。
ご連絡ありがとうございます。エラーが解消されたとのことで安心いたしました。JTAGの周波数については以下の方法で変更可能となりますので、こちらを参考ください。
- CCS:Target Configuration File(.ccxmlファイル)を開き、“Texas Instruments XDS110 USB Debug Probe_0”をクリックする。
- Connection Properties:The JTAG TCLK Frequency(MHz)の選択ボックスから“Fixed with user specified value”を選択する。
- –Enter a value from 100.0KHz to 5.5MHz:任意のクロックスピード(100KHz~5.5MHz)を設定する。
以上、宜しくお願い致します。
お問い合わせありがとうございます。
添付を拝見させていただきましたが、”Error -1135″は様々な要因で出力されるエラーとなります。
過去にはUSBケーブルを変えることで問題が改善されたことも御座いました。今回Test Connectionは成功しているとのことですので、通信は確立できているように思いますが、USBケーブルの影響で通信が安定していない可能性がございますので、USBケーブルを変更して書き込みができるかご確認いただけますでしょうか。上記でも改善しない場合には、書き込みしようとしているプロジェクトのPropertiesの以下の画面をお送りいただけますでしょうか。プロジェクトを右クリックからPropertiesで表示可能です。
また、念の為以下の点についても確認させていただけますでしょうか。
・ 書き込みは、マニュアル SPRACF0–May 2018 のP9 10項の手順で実施されているとの認識でよろしいでしょうか。
・ 同デバイスのTI社の評価ボードなどはお持ちでしょうか。以上、宜しくお願い致します。
ご返信ありがとうございます。
無事解決されたとのことで安心しました。
また不明点がありましたらお問い合わせください。お問い合わせありがとうございます。
ご連絡いただいた問題に似た内容の議論がされているリンクが御座いました。
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 );こちらのリンクの症状に該当しないか、ヒントになる情報がないかご確認いただけますでしょうか。
上記でも問題が解決しない場合には、再度お問い合わせいただければと思います。以上、宜しくお願い致します。
-
投稿者投稿