2019/05/18

ESP32-DevKitにmicropythonをインストール、esptoolで焼いてみる

普段はGUIのフラッシュライタ(flash_download_tool)でファームを更新していたが、、pythonで書かれたesptoolでESP32-DevKitのファーム更新をしてみる。 esptoolは以下のGITにあるが、、 https://github.com/espressif/esptool pipでも入るそうである。自分の環境はCygwinでpythonをあれこれ入れてかなり環境がおかしくなっていので、フルパスでpipを起動しないとエラーになる。
 /usr/bin/pip2.7 install --upgrade pip
 /usr/bin/pip2.7 install esptool
コマンドは以下(micropythonサイトより)
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-20190125-v1.10.bin
cygwinの場合、人にもるかもしませんが、自分のcygwinでは、/dev/ttyS10のようである。
$ esptool.py --chip esp32 --port /dev/ttyS10 erase_flash
esptool.py v2.6
Serial port /dev/ttyS10
Connecting....
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 30:ae:a4:ca:da:18
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.3s
Hard resetting via RTS pin...
次にファームを焼いてみる。 http://micropython.org/download#esp32 esp32-ppp-fix.bin (latest) が最新らしいので、、素直にこれを選択。
$ esptool.py --chip esp32 --port /dev/ttyS10  write_flash -z 0x1000  esp32-ppp-fix.bin
esptool.py v2.6
Serial port /dev/ttyS10
Connecting........_
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 30:ae:a4:ca:da:18
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 1147552 bytes to 717585...
Wrote 1147552 bytes (717585 compressed) at 0x00001000 in 63.7 seconds (effective 144.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
手動でフラッシュを焼いてた時は、ENとBOOTピンをGNDに落として電源OFF/ONしてCPUのモードを切り替えて、、とやっていたけど、DevKitのボードでは手動リセットが不要のようである。これは、DTS/CTS等でEN/BOOTを操作してくれているから?? 回路図みないとどういうからくりなのかちょっと分からず。 uPythonから再起動させてみた。バージョンは、 v1.10-331-ge38c68310-dirty 。。dirtyって何?
>>> machine.reset()
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:4936
load:0x40078000,len:9332
load:0x40080400,len:6216
entry 0x400806e8
I (432) cpu_start: Pro cpu up.
I (432) cpu_start: Application information:
I (432) cpu_start: Compile time:     23:54:40
I (434) cpu_start: Compile date:     May  8 2019
I (440) cpu_start: ESP-IDF:          v3.3-beta1-268-g5c88c5996
I (446) cpu_start: Starting app cpu, entry point is 0x40082844
I (438) cpu_start: App cpu up.
I (457) heap_init: Initializing. RAM available for dynamic allocation:
I (464) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (470) heap_init: At 3FFB9B88 len 00026478 (153 KiB): DRAM
I (476) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (482) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (489) heap_init: At 40093398 len 0000CC68 (51 KiB): IRAM
I (495) cpu_start: Pro cpu start user code
I (66) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
MicroPython v1.10-331-ge38c68310-dirty on 2019-05-09; ESP32 module with ESP32
Type "help()" for more information.
慣れたらCUIでファーム焼く方が楽。バッチ化もできるし。

ESP32 初期状態でのブートメッセージ

購入したばかりのESP32-DevKitC-32Dで電源ONした際のブートメッセージを記録。今後microPythonを焼てしまうのでもう同じメッセージは出ないと思われ。


ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3ffc0000,len:0
load:0x3ffc0000,len:2304
load:0x40078000,len:3788
ho 0 tail 12 room 4
load:0x40098000,len:532
entry 0x4009813c


**************************************
*       hello espressif ESP32!       *
*        2nd boot is running!        *
*            version (V0.1)          *
**************************************
compile time 18:16:58

  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size : 4MB
Partition Table:
## Label            Usage          Type ST Offset   Length
 0 factory          factory app      00 00 00010000 00100000
 1 rfdata           RF data          01 01 00110000 00040000
 2 wifidata         WiFi data        01 02 00150000 00040000
End of partition table
Loading app partition at offset 00010000
section 0: paddr=0x00000020 vaddr=0x00000000 size=0x0ffe8 ( 65512)
section 1: paddr=0x00010010 vaddr=0x3f400010 size=0x05b64 ( 23396) map
section 2: paddr=0x00015b7c vaddr=0x3ffba720 size=0x01378 (  4984) load
section 3: paddr=0x00016efc vaddr=0x40080000 size=0x00400 (  1024) load
section 4: paddr=0x00017304 vaddr=0x40080400 size=0x126ac ( 75436) load
section 5: paddr=0x000299b8 vaddr=0x00000000 size=0x06658 ( 26200)
section 6: paddr=0x00030018 vaddr=0x400d0018 size=0x325b4 (206260) map
start: 0x400807ac

Initializing heap allocator:
Region 19: 3FFBBA98 len 00024568 tag 0
Region 25: 3FFE8000 len 00018000 tag 1
Pro cpu up.
Pro cpu start user code
nvs_flash_init
frc2_timer_task_hdl:3ffbc564, prio:22, stack:2048
tcpip_task_hdlxxx : 3ffbeca8, prio:20,stack:2048
phy_version: 80, Aug 26 2016, 13:04:06, 0
pp_task_hdl : 3ffc34f0, prio:23, stack:8192

:>enter uart init
uart init wait fifo succeed
exit uart init

IDF version : master(db93bceb)

WIFI LIB version : master(934d079b)

ssc version : master(r283 4d376412)

!!!ready!!!
mode : softAP(32:ae:a4:ca:da:18)
dhcp server start:(ip: 192.168.4.1, mask: 255.255.255.0, gw: 192.168.4.1)

+WIFI:AP_START

2019/05/12

土曜日の楽しみ、、NHKのドラマ「腐女子、うっかりゲイに告(コク)る」

普段はドラマ見ないのですが、BL好きな女子が男子に告白したけど、相手が芸だったというドラマ。これは面白すぎて(というと不謹慎でしょうか)、映像の作りが非常に細やかで、心を追いかけており、見ずにはおれない。
NHKとしてはラブシーンとかかなり踏み込んで映像化している印象。二人はまだ高校生だけど、お互いがどこまで分かり合えるのか。。これからの話の展開が非常に気になります。ちなにみに、、無料コミックはPixiv等で読めるようです。

ご参考URL
腐女子、うっかりゲイに告(コク)る。 (NHKサイト)
https://www.nhk.or.jp/drama/yoru/fujoshi/

彼女が好きなものはホモであって僕ではない(Pixiv)
https://comic.pixiv.net/works/5500

彼女が好きなものはホモであって僕ではない(Amazon)