2015/11/22

[mbed][nrf51]RAMが32KB向け

mbed OSをnRF51 DK向けにビルドできたので、とりあえずうちのnRF51822に焼いてみた。
ピン番号が違うくらいだから、そこに割り当てたら動くんじゃなかろうか。

・・・動かない。
LEDとUART出力を行うようなのだけど、どちらも動かん。

 

MAPファイルを見ると、こうなっていた。

Name             Origin             Length             Attributes
FLASH            0x0001c000         0x00024000         xr
RAM              0x20002800         0x00005800         xrw

そして、targetのgithubページにはこう書いてあった。

image

32KBって、RAMのことだろう。
nRF51822で32KBのRAMって、QFACかCFACしかない。
うちのは、16KBなのだ。
22KB強って、ちょっとなぁ。
OS使うから、このくらいはしょうがないということか。

 

あと、SoftDeviceはS130が混ぜ込まれたHEXファイルが作られてた(入ってないのもできてる)。

6 件のコメント:

  1. はじめまして、nRF51で検索してたらたどり着きました。
    私はRedBearLab nRF51822で開発しています。質問なのですがnRF51はチップが32kbからipv6でネットに繋げられるという情報を得たのですが試したことはありますか?
    nRF52ならipv6でネットに繋げられるということですが開発キットは技適が通っていない気がしてやめています。

    返信削除
    返信
    1. ipv6のは、nRF51_IoTですかね?
      私は動かしたことないです。

      https://developer.nordicsemi.com/nRF51_IoT_SDK/
      今はv0.8.0のが上がってましたが、動作環境はnRF51422みたいですね。。
      QFACとあるので、32KBのようです。
      1つ前のバージョンを持っているのですが、そっちはnRF51822の16KBでも動いていたみたいです。

      削除
    2. 返信ありがとうございます。
      調べてみるとIOT_SDKの方は6LoWPANでネット接続するらしいのですが、公式ではラズベリーパイを介してやっていますね。直接ネット接続出来るようになるのはnRF52になってからですかね?

      削除
    3. なるほど、Raspberry Piはこの図でいうところの「BLE enabled router device」になるのですね。
      https://developer.nordicsemi.com/nRF51_IoT_SDK/doc/iot/html/index.html

      「直接」という意味では、nRF52832はEthernetもWiFiも持っていないので、間に仲介が入ってくれないとできなさそうです。
      http://infocenter.nordicsemi.com/index.jsp?topic=%2Fnrf52.v1.7%2FChunk279577127.html&cp=1_1_0_1&anchor=concept_qpv_wjg_wr

      削除
    4. さっそくの返信ありがとうございます。
      nRF52シリーズからは直接ネット接続できて今ウワサのIOTができる!と思っていたのですが、こちらもラズベリーパイとかを介さないといけないということでしょうか?

      削除
    5. そうですね、チップの紹介ページも見ましたが、WiFiとかEthernetとか出てこないので、そうなるんじゃないかと思います。
      http://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52832

      私のイメージでは、BLEのIoTでIPv6というのは、Ethernet/WiFiと直接やりとりするのもあるけど、それよりもIoTの機器がそれぞれIPv6のアドレスを持つ方のBluetooth規格を使う気持ちですね(やったことないですが)。

      削除

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。