西東京市にいる組み込みおやじ-電子工作、回路設計、ファーム TIPS

このブログはビーコンの代表である菅原が、電気電子、電子工作、組み込みソフトウェアなどで、自分が苦労したところや面白い気づきなどを記事にしていきます。電子工作やマイコンに親しむ人が少しでも増えたらという思いでつづります。
やっぱり、電子工作が好きなんですよ。
<< UICRはなかなかに使いにくい。 | main | ble_nus_data_send() の送信タイミング >>
nrf_fstorage_write の lenは4の倍数で
0

    JUGEMテーマ:組み込み開発

     

    nRF5_SDK_15.2

    softdevice6.10

     

    Nordic提供のSDKには FlashROMのライブラリも提供されている。

    FlashROM関係の関数はSDKのバージョンによりかなり変化する。

    nRFのコンパクトさを生かすのに、外部の不揮発メモリを搭載することはしたくない。

    新しいSDKにする時の作業としてFlashROMのアクセスができるようにすることは欠かせない。

     

    いままでは Softdeviceを使うときとそうでないときで、違う関数をコールしていた。

    ble通信中に、一つのところでループして終了を待つみたいなことができないからだ。

     

    15.2ではSoftdeviceを使うときとそうでないときで同じ関数をコールすればよいようになっている。

    softdeviceを用いたときには

     nrf_fstrage.c と nrf_fstrage_sd.c をコンパイルする。

    そうでないときには

    nrf_fstrage.c と nrf_fstrage_nvmc.c をコンパイルする。・・と思う。

     

    (私は softdevieの方しか作っていないので、nrf_fstrage_nvmc.c のほうは間違っているかもしれない。)

     

    softdeviceでFlashROMを上書きしたいときには nrf_fstorage_erase をまずコールして、そこで待たずに次の処理に移る。

    イレースが終わったらコールバック関数に飛ぶので、ここで nrf_fstorage_writeをコールする。

    ライトが終わるとコールバック関数に再び飛ぶので、これで書き込み終了となる。

     

    ret_code_t nrf_fstorage_write(nrf_fstorage_t const * p_fs,
                                  uint32_t               dest,
                                  void           const * p_src,
                                  uint32_t               len,
                                  void                 * p_param);
     

    のlen は書き込むバイト数の指定になる。4の倍数でないとエラーになって書き込むことができない。

    nRFのFlashROMが 32bitを1ワードとしているので、32bitずつ書き込んでいるのだろうと思う。

     

     

    余談だけど、SDK15.2では今まで使っていたライブラリ関数を Legacyとかいうフォルダにまとめてあり

    nrf_・・・というファイルに加えて nrfx_・・のファイルが増えている。

    次あたり 大きな仕様変更があるかもしれない。

     

    | ビーコン菅原 | nRF5x Nordic | 00:55 | comments(0) | trackbacks(0) |









    http://blog.suga41.com/trackback/387
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
    << December 2018 >>
    + RECOMMEND
    + RECOMMEND
    + SELECTED ENTRIES
    + RECENT COMMENTS
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + つぶやき
    + MOBILE
    qrcode
    + LINKS
    + PROFILE