寝台急行はまなす

札幌駅 22:00発 増結12両編成 青森行き

Pycom(Wipy)のファームをESP32 dev-kitに焼く

MicroPython Advent Calendar 2017 - Qiita

MicroPython Advent Calender 14日目です。
忘年会などで数日更新が滞りました。 面目次第もございません。。。

さてPycomというメーカを先日紹介しました。 Pycomのボードは技適が取れていないので使えませんが、
使われているのは秋月で売ってるのと同じESP32です。

ファーム焼いたら動くかなーと思って探していたら以下のページを発見。
秋月電子のdevkitで試してみました。

Update Pycom WiPy Firmware From Commandline

ESP32−DevKitC ESP−WROOM−32開発ボード: 無線、高周波関連商品 秋月電子通商 電子部品 ネット通販

注意!!

forumで出ていた最新のファーム(1.10.2.b1)ではうまく動きませんでした。
※起動できずリセットがかかりつづける状態に。。。

1.9.2.b2では書き込みに成功してmicropythonが立ち上がりました。
moduleなどの動作確認はできていないので、あくまで自己責任でお願いします。
ファームは以下から1.9.2.b2を持ってきます。

https://forum.pycom.io/topic/517/downgrading-firmware-advanced-users

$ wget https://software.pycom.io/downloads/WiPy-1.9.2.b2.tar.gz
$ tar xvf WiPy-1.9.2.b2.tar.gz
$ ls -1
WiPy-1.9.2.b2.tar.gz
bootloader.bin
partitions.bin
script
wipy.bin

解凍したファイルを順番に書き込んでいきます。
ブートローダを0x1000に書き込みます。

$ esptool --port /dev/ttyUSB0 --baud 115200 --after no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size detect 0x1000 bootloader.bin
esptool.py v2.0-beta1
Connecting....
Detecting chip type... ESP32
Uploading stub...
Running stub...
Stub running...
Attaching SPI flash...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x022f
Compressed 16560 bytes to 10763...
Wrote 16560 bytes (10763 compressed) at 0x00001000 in 1.0 seconds (effective 139.1 kbit/s)...
Hash of data verified.

Leaving...
Staying in bootloader.

partition tableファイルを0x8000に書き込みます。

$ esptool --port /dev/ttyUSB0 --baud 115200 --after no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size detect 0x8000 partitions.bin 
esptool.py v2.0-beta1
Connecting....
Detecting chip type... ESP32
Uploading stub...
Running stub...
Stub running...
Attaching SPI flash...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 3072 bytes to 133...
Wrote 3072 bytes (133 compressed) at 0x00008000 in 0.0 seconds (effective 1488.3 kbit/s)...
Hash of data verified.

Leaving...
Staying in bootloader.

最後にファームウェアを0x10000に書き込みます。

$ esptool --port /dev/ttyUSB0 --baud 115200 --after no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size detect 0x10000 wipy.bin 
esptool.py v2.0-beta1
Connecting......
Detecting chip type... ESP32
Uploading stub...
Running stub...
Stub running...
Attaching SPI flash...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 1178608 bytes to 777638...
Wrote 1178608 bytes (777638 compressed) at 0x00010000 in 68.7 seconds (effective 137.2 kbit/s)...
Hash of data verified.

Leaving...
Staying in bootloader.

f:id:ken5owata:20171216150341p:plain:w300

秋月で売っているDev-kitでWipyのファームが動きました。
GPIOはピン配置が違うので、うまく動かないかもしれませんがその他の機能は大丈夫そうです。