2015/10/28

[hw]ESP8266でATコマンドを使いたいならNon-OS版

そうそう、UART Downloadモードで何を焼くかだが、これはSDKがあり、それでビルドしたものを焼けるらしい。
今(2015/10/28)までの最新版は、

  • Non-OS:1.4.0
  • RTOS : 1.1.0(githubに行ったら、1.2.0があった)

とのこと。

こちらが、Espressif Systemsのリポジトリ一覧
それを読むと、RTOSはFreeRTOSをベースにしたものらしい。
もう1つ、IoT Platformのリポジトリがあり、こちらもRTOS版のSDKがベースらしい。

 

Q: What is the difference between RTOS and the non-OS SDK? - ESP8266 Developer Zone
こちらによると、non-OS版はATコマンドに対応するけど、RTOS版は対応してない、というように読めた。
なんとなく、OSのタスクとしてUART処理タスクがいて、それがさばいているという予想だったのだが。。

DSAS開発者の部屋:ESP8266 モジュールの AT コマンドに SSL クライアント機能を追加する
こちらは、ATコマンドを追加された方。
うーん、iot_sdkを使っているようだ。
Non-OSの最新版は1.4.0だが、これは「esp_iot_sdk_v1.4.0_15_09_18」となっていた。
つまり、iot_sdk=Non-OS版、ということだ。
よく見れば、Latest Releaseの下に書かれているTipsに「PWMやATが使いたいならNon-OSを使え」とあった。

 

Non-OS版はgithubには上がっていないようだ。


では、うちにあるWROOM-02にはどれが焼いてあるのか確認しよう。

AT+GMR
AT version:0.25.0.0(Jun 24 2015 18:02:27)
SDK version:1.1.2
compile time:Jun 24 2015 18:15:29
OK

コンパイル日時が2015年6月24日。
この「SDK v1.1.2 Patch for AT firmware」かなぁ。
http://bbs.espressif.com/viewtopic.php?f=46&t=648
AT_bin_v0.25とあるから、これかな。

これを最新にしようとしたら、こうなるのか。

  • ベース:Non-OS版1.4.0 or Patch 1.4.1_pre5
  • ATコマンド:AT v0.50

Patchと書いてあったが、展開するとまるまる入っていた。
差分はこう(左側はv1.4.0)。

image

v1.4.0のbin/atと、AT_v0.50に入っているファイルの違いは、AT_v0.50にはblank.bin、boot_v1.4(b1).bin、esp_init_data_default.binの3ファイルがあるだけだ。
それ以外にも、512+512だの、1024+1024だのフォルダがあるのだが、どれを焼くのだろう?

ねむいさんのぶろぐ | ESP-WROOM-02を使ってみる2 -外付けSPIフラッシュの書き換え-
こちらでは、1024+1024とのこと。
readme.txtにFlashサイズが書いてあるので、そこから選べばよいのだろう。
あら、WROOM-02は32MbitのFLASHが載っているのだが、「32Mbit」と「32Mbit-C1」がある。
ブログでは、32Mbit-C1を選ばれているのだが、はて、なんでだろうか?

-C1 designation from readme.txt in SDKv1.4\bin\at - ESP8266 Developer Zone
こちらによると、-C1がつく方は公式ダウンロードツール用みたいだ。
でも、それなら公式ダウンロードツールは-C1がついたサイズだけ表示してればいいんじゃないのか?

image

ツールのホバーを見ると、コンパイル時の設定でキャッシュがどうのこうのと書いてある。
もうわからなくなってきたので、キャッシュのCとでも思うことにしよう(違うと思うが)。

0 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。