Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years, 7 months ago.
GR-Peachのシリアルフラッシュについて
GR-Peachの購入を検討しています
シリアルフラッシュについて相談させてください
usb MSCでのプログラムwrite時に 一旦シリアルフラッシュ領域を全て削除するような事はありますでしょうか? つまりは、シリアルフラッシュでプログラムで使用されていない領域は、自由に使えるのでしょうか?
また、SPI マルチIOバスコントローラ(シリアルフラッシュ書き込み用)の mbedのIFというのはありますでしょうか?
mbedでの開発が初めてで的外れな質問となるかもしれませんが よろしくお願い致します
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/
回答ありがとうございます 必要サイズのみ削除している旨理解致しました
設定値等をGR-Peachに保存したい場合 皆さんはどうしているのでしょうか?
SPIマルチIOバスコントローラの設定を一度SPI動作モードに変更しているのでしょうか? それともSDカード等使用しているのでしょうか? SDRAM等実装しているのでしょうか?
posted by takana bento 14 Jul 2017プログラム実行中にシリアルフラッシュ書き込みを行うためには、一度SPI動作モードに変更する必要があります。 SPI動作モード中はシリアルフラッシュ上のプログラムを実行できなくなるため、必要な機能は事前にRAM上に展開しなければなりません。
posted by Daiki Kato 14 Jul 2017設定値等をGR-Peachに保存したい場合、最も簡単に実装する方法はSDカードを使用する方法だと思います。
https://developer.mbed.org/users/dkato/code/mbed-os-storage-access/
シリアルフラッシュから一度RAMに展開し、RAM上でプログラム動作しているのですね。 認識誤っていました。
プログラム開始時に、シリアルフラッシュから一度RAMへ展開し、展開先のアドレスへジャンプする処理と SPIモード切替処理の実装が必要になるのですね。 面倒ですね。。。
せっかく8MBもフラッシュがあるのに、mbed環境そのままで使用できないなんてもったいないですね。。。
posted by takana bento 14 Jul 2017