2395165_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2395165_ja-JP

2395165_ja-JP

LPC5516 SRAM

私はLPC5516チップを使用しています。

SWDプロトコルを使用してチッププログラムをSRAMに書き込み、実行したい。

しかし、プログラムがSRAMに書き込まれていなかったことが判明した。


SWD経由でチップのIDCODEを読み取り、カーネルの停止などの初期化処理を完了しました。

プログラムを0x04000000に書き込み、そのアドレスから読み戻したところ、読み取られたデータは0であることが判明した。


サンプルコードを通して、SWDプロトコルを使用して以下のようなAHB SRAMクロックをいくつか有効化しました。

SYSCON->AHBCLKCTRLSET[0] = SYSCON_AHBCLKCTRL0_SRAM_CTRL1_MASK | SYSCON_AHBCLKCTRL0_SRAM_CTRL2_MASK;

しかし、上記のプログラムを実行した後でも、SRAMに書き込まれたプログラムの読み出し値は依然として0のままです。


この状況の原因を分析するのを手伝っていただけませんか?

LPC551X-S1X


Re: LPC5516 SRAM

1.私は16進数で0x20000000を書き込もうとしましたが、0x4000000を書き込むのと同じ結果になりました。

2. JLINKのSWD波形を比較しましたが、波形が理解できません。変です。set 0xE000EDF0の前にackエラーのものを送信し、0xA05F0003で0xE000EDF0を設定し、0xE000EDF0読み取り、値が0x03030003です。

私のSWD波形はチップIDCODEを読み取り、その後チップを初期化します。0xE000EDF0を0xA05F0003に設定すると、読み戻された値は0x0になります。

Jlinkのスクリプトを教えてもらえますか?デバッグモードに入る前に何が送信されるのか知りたいです。

デバッグモードに入る前に、このチップで有効にする必要がある設定は何ですか?あるいは、何らかのレジスタを設定する必要があるのでしょうか?

JLINK.png

err.png


Re: LPC5516 SRAM

こんにちは@1123HENRY

1) 0x04000000のSRAMX領域ではなく、0x20000000のSRAMにプログラムを書き込んでみてください。

2) MCUXpresso IDEまたはLinkFlashを外部デバッガで使用し、SRAMをプログラムし、SWD信号や波形をキャプチャし、プログラマで観察した波形と比較してください。


BR

アリス



Re: LPC5516 SRAM

私は自作のチップを使ってSWD命令を送信し、LPC5516チップのデバッグを行いました。デバッグを有効にするために、0xE000EDF0レジスタへの書き込みを試みましたが、うまくいきませんでした。

次に、SRAMへの書き込みを試みましたが、書き込み操作が失敗しました。デバイスがデバッグモードに入らなかったようです。

test1.png

test2.png

test3.png

test4.png

  

Re: LPC5516 SRAM

他にもエラーログを共有できますか?

タグ(1)
評価なし
バージョン履歴
最終更新日:
5 時間前
更新者: