フォーラムへの返信
-
投稿者投稿
-
丁寧な回答ありがとうございます。
serial_flash_programmerをまだ実際に使用していない状態で申し訳ないのですが
教えてください。1
上記2の質問の続きになるのですが
F2837xDとcontrolCARD Docking Station v4.1を使用しているのですが
serial_flash_programmerからシリアル通信でプログラムをダウンロードする場合
controlCARDの76pin(RXA),78pin(TXA)に接続すれば可能でしょうか?
A:SW1の[Switch Position 2]をONにする必要があるのでしょうか?2
serial_flash_programmerは、ファームウェアの転送後、ベリファイコマンドを送信し、書き込みが正常に行われたことを確認した後、リセットコマンドを送信します。とあるのですが、コマンドプロンプトにて実行した場合、
メニューが表示される記載があるのですが、上記動作はそのメニュー中の1-DFUを選択したときでしょうか?3
サンプルのカーネルのソフトがSCI-A、SPI-Aと通信するように解釈したのですが
SCI-B、SPI-Bを使用してもダウンロードすることは可能でしょうか?何度も申し訳ございませんが回答をお願いいたします。
回答ありがとうございます
基本的な箇所で不明点があるので
すみませんが、教えてください。1
serial_flash_programmerを使ってSCI_Bootの設定にすれば
F2837xD_sci_flash_kernelsを経由してプログラムのダウンロードが可能ということでしょうか2
上記、PC から controlCARD(F2837xD) にSCIでダウンロードをする場合には
PCから出力されたシリアルポートのSCIのRXD,TXD,GNDと基板のRXD,TXD,GNDをつなぐ配線が必要になるのでしょうか丁寧な解説ありがとうございます。
一度、頂いた情報を基にトライしてみます。ご回答ありがとうございます。
何度もすみませんが、もう一点教えていただきたい事があります。
CPU1からIPCを使ってCPU2を起動させるような記事がいくつかあるのですが
如何せん方法がわかりません。
現在デバッガなしで電源をONさせるとCPU1のみが起動し、
CPU2が起動しない状態となっております。申し訳ございませんが、ご回答お願いいたします。
了解いたしました
回答ありがとうございました何度もすみません
CPU1側
//— Wait here until CPU2 is ready
while (IpcRegs.IPCSTS.bit.IPC17 == 0) ; // Wait for CPU2 to set IPC17
IpcRegs.IPCACK.bit.IPC17 = 1; // Acknowledge and clear IPC17CPU2側
//— Let CPU1 know that CPU2 is ready
g_stRegsIpc.uIPCSET.stBit.unIPC17 = SET_BIT; // Set IPC17 to release CPU1CPU1側でCPU2側IPC17のフラグが立つのを待っている箇所があるのですが
IPCを使うにあたって、本箇所は必ず必要となる部分でしょうか?返信ありがとうございます。
申し訳ございません。
今一度確かめたところ、CPU2側のIPC1_ISRもCPU1側のIPC0_ISRも
モジュールに入った直後でブレイクすることを確認できました。今後のために教えていただきたいのですが
リアルタイムデバッグモードとは何でしょうか
またどうやって設定を行えばリアルタイムデバッグモードになるのでしょうか上記サンプルとは異なりますが、
ControlSUITEのLab11_cpu01, Lab11_CPU02をContrlCARDにダウンロードし評価を行っております割込みが入るかどうかを確かめるため
IPC1_ISRの先頭にてブレイクポイントを張りましたが、
以下のエラーが発生します。Trouble Reading Register PC:
(Error -1142 @ 0x0)
Device blocked debug access because it is currently executing non-debuggable code. Choose ‘Rude Retry’ to disable polite mode and force the operation.
(Emulation package 8.0.27.9)CPU間の割込み等はLEDで確認するしかないのでしょうか?
回答どうもありがとうございます。
解決済みにさせていただきました、controlCARDの件、了解しました
回答ありがとうございました。マニュアルに記載されてあることで理解不足のところがあれば
申し訳ないのですが
2点教えていただきたくお願いします工場出荷状態でGPIO72,84の2ポートがCPU起動時にH状態であれば
FLASHから起動されるのでしょうか?上記のときに毎回、FLASHからブートさせたい場合は
Z1_BOOTCTRLに「0x49550B5A」をライトしておく必要がありますか?- この返信は5 年、 1 ヶ月前に ttkkttkk さんが編集しました。
回答ありがとうございます。
「0x00000000」と「0x49490B00」の書き込みを試してみましたが
添付のエラーが発生し、書き込みができていないと思います他に設定等必要であればご教示をお願いします。
Attachments:
ご回答ありがとうございます。
Zx-BOOTCTRLレジスタですが、一度書き込んで頂くと、消去はできませんが、ビットを1→0には変更可能です。
とのことですが、
CCSのメニュー[Tools]→[OnChipFlash]の所で変更することができるのでしょうか
変更方法についてご教示いただけませんでしょうか以下でGPIO72のONだけで対応することができました
OTPBOOTCTRLの
Z1-BOOTCTRL(0x7801E) に 0x49490B5A を入力し、「Program OTPBOOTCTRL」を押下、
Z2-BOOTCTRL(0x7821E) に 0x49490B5A を入力し、「Program OTPBOOTCTRL」を押下、2点、質問ですが
・先ほどの質問と重複しますが、FLASHからの起動はGPIO入力でHを設定するGPIOが必ず一本は必要となるのでしょうか?
・上記、フラッシュへのエリアは一度ライトしてしまうと二度目の書き込みは不能のようですが、
もう一度FFFFFFFFに戻すにはcontrolCARDをもう一枚購入するしかないのでしょうか?- この返信は5 年、 1 ヶ月前に ttkkttkk さんが編集しました。
すみません
ControlCARDのSW1のGPIO72,84が1に設定されていなかったようです。
設定したところデバッガなしでも起動できました。ありがとうございます。ただ、別の同じCPUが搭載された基板でデバッガなしで起動する場合
毎回GPIO72、84をHIGHに必ず設定する必要があるのでしょうか?- この返信は5 年、 1 ヶ月前に ttkkttkk さんが編集しました。
ご回答ありがとうございます
以下の手順でダウンロードを行いましたが、
基板の電源を切り入りすると、プログラムがダウンロードできていないように思いますblinky_dc_cpu01プロジェクトを開き、
Build Configuration->Set Active->CPU1_FLASH_STANDALONEにして
Project->Build ProjectDebugボタン押下、
Load ProgramでCPU1_FLASH_STANDALONE\blinky_dc_cpu01.outをダウンロード
ここで停止を押下この時点では、LEDは点滅がしておりblinky_dc_cpu01の動作はしているようです
ただし、ここから
基板電源OFF、デバッガ切断、基板電源ONした場合、
LEDは点灯状態となり、点滅が行われませんCPU2側のCPU2_FLASHもダウンロードはしております
ディップスイッチ等何かほかの設定で問題があるのでしょうかすみませんが回答をお願いいたします。
-
投稿者投稿