8 years, 7 months ago.

GR-Peachのシリアルフラッシュについて

GR-Peachの購入を検討しています

シリアルフラッシュについて相談させてください

usb MSCでのプログラムwrite時に 一旦シリアルフラッシュ領域を全て削除するような事はありますでしょうか? つまりは、シリアルフラッシュでプログラムで使用されていない領域は、自由に使えるのでしょうか?

また、SPI マルチIOバスコントローラ(シリアルフラッシュ書き込み用)の mbedのIFというのはありますでしょうか?

mbedでの開発が初めてで的外れな質問となるかもしれませんが よろしくお願い致します

回答ありがとうございます 必要サイズのみ削除している旨理解致しました

設定値等をGR-Peachに保存したい場合 皆さんはどうしているのでしょうか?

SPIマルチIOバスコントローラの設定を一度SPI動作モードに変更しているのでしょうか? それともSDカード等使用しているのでしょうか? SDRAM等実装しているのでしょうか?

posted by takana bento 14 Jul 2017

プログラム実行中にシリアルフラッシュ書き込みを行うためには、一度SPI動作モードに変更する必要があります。 SPI動作モード中はシリアルフラッシュ上のプログラムを実行できなくなるため、必要な機能は事前にRAM上に展開しなければなりません。
設定値等をGR-Peachに保存したい場合、最も簡単に実装する方法はSDカードを使用する方法だと思います。
https://developer.mbed.org/users/dkato/code/mbed-os-storage-access/

posted by Daiki Kato 14 Jul 2017

シリアルフラッシュから一度RAMに展開し、RAM上でプログラム動作しているのですね。 認識誤っていました。

プログラム開始時に、シリアルフラッシュから一度RAMへ展開し、展開先のアドレスへジャンプする処理と SPIモード切替処理の実装が必要になるのですね。 面倒ですね。。。

せっかく8MBもフラッシュがあるのに、mbed環境そのままで使用できないなんてもったいないですね。。。

posted by takana bento 14 Jul 2017

1 Answer

8 years, 7 months ago.

GR-PEACHの場合、通常の書き込みでは全消去 (Chip Erase)は使いません。
必要なサイズのみセクタ消去 (Sector Erase)を行います。セクタのサイズは64Kbytです。

DAPLinkのMSD Commandsコマンド"erase.act"を使えば全消去することは可能です。
https://github.com/mbedmicro/DAPLink/blob/master/docs/MSD_COMMANDS.md

もし、MSD Commandsコマンドが動かないようでしたら、下記ページを参考にDAPLinkのアップデートを行ってください
https://developer.mbed.org/teams/Renesas/wiki/How-to-update-firmware-for-GR-PEACH

また、mbed用のSPI マルチIOバスコントローラのmbed用ドライバは現在のところありませんが、下記ページで一部情報を記載しましたのでご覧ください。
https://developer.mbed.org/users/dkato/notebook/flash-memory/