

Spresenseメインボードのみで、Flashへのデータ保存をしたいと思っています。  
Arduino SDKではEEPROMライブラリがあるのですが、Spresense SDKには無いように見えます。  
Spresense SDKで可能なのであれば、方法を教えて頂けると助かります。


CC BY-SA 4.0
2019-02-04T03:51:37.957
52527
2019-02-23T02:38:49.193
2019-02-04T04:49:28.177
31963
31963
question
spresense
Spresenseメインボードのみでのデータ保存


camera_main.c に以下のコードを見付けました。

[code]

    /* In SD card is available, use SD card.
     * Otherwise, use SPI flash.
     */
    
    ret = stat("/mnt/sd0", &stat_buf);
    if (ret < 0)
      {
        save_dir = "/mnt/spif";
      }
    else
      {
        save_dir = "/mnt/sd0";
      }
    
[/code]

試しに/mnt/spif 以下にファイルを作成したところ、電源OFF/ONしても消えませんでしたので、たぶん大丈夫なのかと思います。


CC BY-SA 4.0
2019-02-08T14:17:04.817
52649
2019-02-08T14:17:04.817
31963
52527
answer


ソニーのSPRESENSEサポート担当です。  
お問い合わせの件について、回答させていただきます。

既にお調べいただいた通り、`/mnt/spif`にFlashの領域が割り当てられております。  
例えば、"hoge.txt"というファイルを"/mnt/spif/hoge.txt" というパス名でアクセスすることができます。  
ファイル操作は、`fopen`, `fwrite`, `fread`, `fclose` といったC言語標準関数を使うことができます。

以下簡単ではありますが、プログラムの例を記載します。

[code]

    #include 
    
    FILE *fp;
    
    fp = fopen("/mnt/spif/hoge.txt", "w");
    fwrite(buf, size, n, fp); // 書き込み
    fclose(fp);
    
    fp = fopen("/mnt/spif/hoge.txt", "r");
    fread(buf, size, n, fp); // 読み出し
    fclose(fp);
    
[/code]

今後ともSpresenseをどうぞよろしくお願いします。


CC BY-SA 4.0
2019-02-23T02:38:49.193
52958
2019-02-23T02:38:49.193
29520
52527
answer