« 特定小電力トランシーバー T48用 AC電源変換アダプタ | トップページ

2022年9月21日 (水)

XIAO ESP32C3について(不具合と対処方法)

作成中!

XIAO ESP32C3(以下XIAO ESP32)はXAIOとpin配置が互換(詳しくは以下の表を参照)の小型マイコンです。

CPUはXIAOとは異なるためバイナリ互換はありませんが、Pin配置が類似で同じ周辺機器を使う事ができます。

だだし、XIAO ESP32は登場したばかりでArduinoのライブラリが安定していないためか、または使い方が間違っているのか不明ですが、動作が不安定(場合によっては起動しない)場合があります。以下に実際に体験した不具合と対処方法を記載します。


事象1:

ボードマネージャにESP32は有るのに「XIAO ESP32C3」が選べない

対策1:

「XIAO ESP32C3」が表示されるのはライブラリのバージョンが2.0.4以上です。
環境設定に以下の行を追加してから2.0.4以上を設定すれば「XIAO ESP32C3」が選べるようになります。
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json


事象2:

コンパイルしたスケッチがロードできない。(タイムアウト)

「XIAO ESP32C3」を3つ購入したところ1つだけこの症状になりました。


Arduino:1.8.19 (Windows Store 1.8.57.0) (Windows 10), ボード:"XIAO_ESP32C3, Enabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 160MHz (WiFi), QIO, 80MHz, 4MB (32Mb), 921600, None, Disabled"
最大1310720バイトのフラッシュメモリのうち、スケッチが199816バイト(15%)を使っています。
最大327680バイトのRAMのうち、グローバル変数が9572バイト(2%)を使っていて、ローカル変数で318108バイト使うことができます。
esptool.py v4.2.1
Serial port COM13
Connecting....Traceback (most recent call last):

File "esptool.py", line 34, in <module>
File "esptool\__init__.py", line 1004, in _main
(中省略)
File "serial\serialwin32.py", line 325, in write
serial.serialutil.SerialTimeoutException: Write timeout

[10996] Failed to execute script 'esptool' due to unhandled exception!
スケッチの書き込み中にエラーが発生しました

esotoolを手で実行すると、ESP32-C3: Wrong boot mode detected (0x8)! The chip needs to be in download mode.
と言うメッセージがでてきました。これはブートモードがダウンロードモードに無いとのメッセージです。

対策2:

Pin_20220924222101

以下のいずれかの方法を試してみてください。私の場合は③で解決しました。

①BOOT BUTTONとRESET BUTTONを同時に押しBOOT BUTTON⇒RESET BUTTONの順に離しコンパイルする。

②BOOT BUTTONを押したままコンパイルする。

③BOOT BUTTONとRESET BUTTONを同時に押し、RESET BUTTONを離しコンパイルする。(BOOT BUTTONは押したまま)

※いずれの場合も、転送が開始されればBUTTONは離して良い。


事象3:

BLEの大き目のスケッチ(100%ではない)をインストールすると以下のメッセージを吐いて暴走する。
この状態になると途中でリセットがかかるため、新しいスケッチが書き込めない。(途中まで進むが中断する)

ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403d10fc
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd6100,len:0x438
load:0x403ce000,len:0x918
load:0x403d0000,len:0x24e4
entry 0x403ce000

対策3:

暴走する原因は不明ですが、新しいスケッチが書き込めないのは困る。
そこで空のスケッチ(新規作成で生成されるスケッチ)を書き込むと以降は普通に書き込むことができます。


XIAO ESP32C3のPin配置

  XIAO ESP32C3 XIAO
Pin番号 Analog Degital GPIO その他 Analog Degital その他
1 A0 D0 2   A0 D0 DAC
2 A1 D1 3   A1 D1  
3 A2 D2 4   A2 D2  
4 A3 D3 5   A3 D3  
5   D4 6 SDA A4 D4 SDA
6   D5 7 SCL A5 D5 SCL
7   D6 21 TX A6 D6 TX
8   D7 20 RX A7 D7 RX
9   D8 8 SCK A8 D8 SCK
10   D9 9 MISO A9 D9 MISO
11   D10 10 MOSI A10 D10 MOSI
12       3V3     3V3
13       GND     GND
14       5V     5V

 

« 特定小電力トランシーバー T48用 AC電源変換アダプタ | トップページ

無料ブログはココログ
フォト
2022年10月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31