2023年12月19日火曜日

BlackFinを使ってみるなり(32) arduinoでW25Q32 FLASHをうごかした件

arduinoでW25Q32を動かしました.SPIね。

arduino IDEのsketchはこちらです.消したり書いたり読んだりしてserialに結果を出力しているsampleです.

arduino nanoを使いまして、結線はこうなってます.

sketchを見てもらうと、WPとHOLDを制御するのを忘れてます.pull upされてるので放置してても動いてる無防備な状態.

W25Q32を動かしてみて、へーそうなんだと思ったこと.

1)W25Q32にはいろいろなwrite protect機能がありますけど、工場出荷時ではそれらは全部OFFになってる.なのでsketchでは「WPを解除するのに苦労」とかしてません.無防備な状態です.

2)writeやeraseする前に、write enable commandを送信する必要があります.それは理解できるんですけど、、、write動作が終わった後で、WEが自動的に解除されます.なので、さっきWEしたじゃんと思っていると書けずにハマります.

3)chip eraseには10秒ぐらいかかるので、busy flugをpollする必要があるでしょう.

4)write commandは、1Byte~256Byteまで任意長の一括writeができます.「page program」と呼ばれています.

5)page programは、address 0番地から256Bytesだと切りが良くて円満ですが、pageをまたぐ半端なaddressだと厄介みたいよ.datasheetあんまり読んでないのだけど、address[7:0]が中途半端な番地からpage操作するのはやめといたほうがいい感じ.

そんなところかな.
地雷回避は各位でよろしくでぇす.

31へ    33へ

かしこ

4 件のコメント:

  1. シリアル通信だったのですね。書く時間は、usbフラッシュからするとだいぶ遅かったきがしました。
    古すぎて思い出せないが5分とか?普通のマザーボードのバイオスアップデートと勘違いかもですが。ふるい話で忘れてます。
    ところでこたつの赤いコードさがしたら、ラジオデパートむかいのオイデヤ電材屋に2015年にはあったらしい。完成品ならよどにもあるました。

    返信削除
    返信
    1. こたつの赤いコードって木綿のロープみたいな外観のあれですよね.こたつスイッチがついてますみたいな.なんで木綿だったのだろう???
      我が家にはこたつ無いです.てか床に座る習慣が無くなって久しい.掘りごたつとかあればゴロゴロするんだろうなぁ.

      削除
  2. W25Q32に焼いたのは、ネットの偉い人のソフトじゃなかったかな?ということで、ヒラエモンさんは、ネットの偉い人に俺的尊敬の眼差しです

    返信削除
    返信
    1. これから先は、PC上のbinary fileをそのままCOM portから送ってW25Q32に焼きます.

      削除