私はLPC54S018を搭載したEVB LPC54S018M-EVKを購入し、それにSPI-MRAMチップ=MR25H40を接続します。
SPI-MRAM(MR25H40)からLPC54S018にファームウェアをロードする必要があります。MRAMをFLEXCOMM9に接続しました。ファームウェアからこのMRAMへのデータの読み書きは正常にできますが、問題ありません。でもMCUを起動できません。
オシログラムでは(RESET後に)マイクロコントローラのブートROMコードがMRAMと通信し始めるのがデフォルト速度=12 MHz(起動ROMがウェイクアップコマンド(opcode = 0xAB)を送信し、その後「read JEDEC-ID」コマンドを3回送信します(opcode = 0x9F))。その後、SPI上ではそれ以上の活動は発生しない。ウェイクアップコマンドはMRAMによって正常に処理されますが、「JEDEC-ID読み取り」コマンドはメモリによってサポートされていません(MRAMのデータシートによる)。私は、ブートROMコードが「JEDEC-IDの読み取り」コマンドに対する応答を受け取らなかったため、デフォルトの速度で起動を続行するだけだと思っていました。しかし、理由は不明だが、「JEDEC-IDの読み取り」を3回試みた後、ブートプロセスがキャンセルされる。
LPC54S018のISPピンを以下の状態に設定してみました。
1) または ISP0 = high、ISP1 = high、ISP2 = high;
2) または ISP0 = high、ISP1 = low、ISP2 = high。
何も変わりません。マイクロコントローラが起動しません。
「read JEDEC-ID」コマンドへの応答を待たずに、SPIメモリからLPC54S018の起動を続行する方法はありますか?
追伸:負荷処理のオシログラムを添付します。