spiフラッシュに書き込めないようです


9

ええと、私はしばらくこれにこだわっています。この時点で、おそらく2〜3週間です。私は何が間違っているのかよくわかりません。私はこのスパイフラッシュパーツに書き込もうとしています。今は、ルーチンを実行して消去、書き込み、読み取りを行って、それを分離しようとしていますが、今のところうまくいきません。もちろん、私は途中でたくさんのバグを解決しました...

とにかく、ボード上でWPラインを高く結んで、クロックを200kHzまで遅くしてから、消去ルーチンを実行すると、次のようになります。

ここに画像の説明を入力してください まず、デバッグのためだけにIDを確認します。それは9Fコマンドです。次に、06コマンドでWRENを設定し、C7はチップ全体の消去です。次に、ステータスビットを05で確認します。この事のチップ消去時間はわずか35msです。

次に、コードをリロードして書き込みを試みます。

ここに画像の説明を入力してください まず、WRENを06に設定し、ステータスをチェックしてWRENが05に設定されていることを確認します。次に、ページプログラムコマンド02をアドレス0x000000に送信します。あなたは私が最初の数ビットとしてdeadcafeを書いているのを見ることができます。また、ここに描かれていないのは、書き込みが完了した後(1ページまたは256バイト)、0x04コマンドを送信してWRENを無効にします。私はそれを観察し、ページバッファーの最後の4バイトを0xAA、0x55、0xAA、0x55に設定しました。CSがハイになる直前にそれらを確認しました。

次に、リロードコードを停止し、読み取りサイクルを実行してみます。 ここに画像の説明を入力してください 読み取りコマンドとして0x03を送信し、アドレスとして0x000000を送信します。そして、デバイスからすべて0xFFを返します。

デバイスが自分の読み取りIDに応答していることを確認し、WRENコマンドを設定して、自分の声を認識して応答できるようにします。この時点で何が悪いのかわかりません。データシートを読み、いくつかのことを試してみることに戻ると思いますが、誰か洞察があれば、助けをいただければ幸いです。これは、このことに取り組んでいる別のイライラする週末になることを形作っています。


10
そして...私はそれを理解しました。毎回1ドル持っていたら、どこかで助けを求めて投稿するのに十分なほど必死になってから、何かを見つけました。Global Unlockと呼ばれる別のコマンド0x98があることがわかりました。これは、書き込みの有効化またはプログラミングに関するセクションには記載されていません...とにかく、それを私のWRENコマンドの前に追加すると機能します。ご迷惑をおかけして申し訳ありません。
混乱

10
回答としてコメントを追加して受け入れます。
geometrikal

@geometrikalに同意して、自分の質問に答える必要があります。PIC SPIインターフェースに問題があっただけです。まったく同じ理由で:ドキュメント。
User.1 2015

2
こんにちは!1年ほど前に良い質問を投稿し、コメントに良い答えを投稿しました。しかし、質問はまだ「未回答」リストの一番上に表示されています!コメントを回答にコピーして、「承認済み」とマークしてください。それは正しく管理されます。この方法私たちは:)あなたの答えをupvoteすることができます
bitsmack

1
@confused回答を投稿し、回答済みとしてマークしてください。質問を終了します。ありがとう
電圧スパイク

回答:


3

これがまだ「未回答」リストの一番上にあるのが嫌いなので、回答します。

「混乱」によるコメントで述べたように、フラッシュパーツに書き込む前に実行する必要がある「グローバルロック解除」と呼ばれるコマンドがあります。


1
回答を受け入れる必要があります。そうしないと、この質問は「未回答」としてマークされます。
エティエンヌ2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.