ファーム書き込みは以前は通常のUSBシリアルでできていたみたいだが、今はFTDIチップを使ったUSBシリアルモジュールを使わないといけないようだ。
配線
FTDIチップを使ったUSBシリアルモジュールとして、WaveShare の FT232 USB UART Board (Type A) を使いました。
TWE-LITE | FT232 UART Board | 説明 |
---|---|---|
TXD | RXD | |
PRG | GNDに接続 | |
RXD | TXD | |
GND | GND | |
VCC | VCCIO | VCCIOは3V3に設定 |
Ubuntu でやってみる編
以下のページを元に作業してみた
「tweterm.py」
https://sdk.twelite.info/twelite-sdkno/fumuua/tweterm.py
環境
- Ubuntu 18.04
- TWELITE DIP
- Python 3.6.9
インストール
tweterm.py は SDK に入っている。SDKをダウンロードして解凍しておく。
また、サイトの情報を元に、必要なパッケージをインストールしておく。
sudo apt-get install libusb-dev
sudo apt-get install python3-pip
sudo pip3 install pyserial
sudo pip3 install pyftdi
作業
$ cd MWSDK/Tools/tweprog_py/
$ ls -alh
合計 120K
drwxr-xr-x 3 nanbuwks nanbuwks 4.0K 5月 28 2018 .
drwxr-xr-x 5 nanbuwks nanbuwks 4.0K 5月 28 2018 ..
-rw-r--r-- 1 nanbuwks nanbuwks 5.4K 10月 27 2017 MW-SLA-1E.txt
-rw-r--r-- 1 nanbuwks nanbuwks 6.9K 10月 27 2017 MW-SLA-1J.txt
-rw-r--r-- 1 nanbuwks nanbuwks 981 10月 30 2017 TWEEnum.py
-rw-r--r-- 1 nanbuwks nanbuwks 2.6K 10月 30 2017 TWELogger.py
-rw-r--r-- 1 nanbuwks nanbuwks 1.5K 10月 30 2017 TWEProg.py
-rw-r--r-- 1 nanbuwks nanbuwks 2.9K 10月 30 2017 TWEProg_Firm.py
drwxr-xr-x 2 nanbuwks nanbuwks 4.0K 5月 28 2018 __pycache__
-rw-r--r-- 1 nanbuwks nanbuwks 8.6K 10月 30 2017 con_pyftdi.py
-rw-r--r-- 1 nanbuwks nanbuwks 11K 10月 30 2017 flashutils.py
-rw-r--r-- 1 nanbuwks nanbuwks 866 10月 30 2017 parseFmt.py
-rw-r--r-- 1 nanbuwks nanbuwks 2.3K 10月 30 2017 parseFmt_Ascii.py
-rw-r--r-- 1 nanbuwks nanbuwks 1.8K 10月 30 2017 parseFmt_Binary.py
-rw-r--r-- 1 nanbuwks nanbuwks 8.9K 10月 30 2017 pyterm.py
-rw-r--r-- 1 nanbuwks nanbuwks 7.8K 10月 30 2017 readme-j.txt
-rw-r--r-- 1 nanbuwks nanbuwks 3.7K 10月 30 2017 term.py
-rwxr-xr-x 1 nanbuwks nanbuwks 16K 10月 30 2017 tweterm.py
実行権ついているので、実行してみる
$ ./tweterm.py
No USB-Serial device has been detected
USBシリアルが接続していないからですね。
$ ./tweterm.py
Error: The device has no langid
と出てきました。FTDIデバイスのアクセス権限の問題です。アクセス権限の設定がめんどくさかったので、sudoで動かしました。
$ sudo ./tweterm.py
Available interfaces:
ftdi://ftdi:232:AI069IL2/1 (FT232R USB UART)
Please specify the USB device
と出て、FTDIデバイスを指定しろと出てきます。上の実行結果にデバイス名が出てますが、念の為サーチしてみて、
$ sudo ./tweterm.py -p ftdi:///?
Available interfaces:
ftdi://ftdi:232:AI069IL2/1 (FT232R USB UART)
Please specify the USB device
出てきたデバイス名を使って書き込みをしてみます。
$ sudo ./tweterm.py -p ftdi://ftdi:232:AI069IL2/1 -b 115200 -F ../../../App_TweLite_1_8_2_BIN/App_Twelite-Master-BLUE.bin
Error:
Bye.
配線が間違えていたので、直すと書けました
$ sudo ./tweterm.py -p ftdi://ftdi:232:AI069IL2/1 -b 115200 -F ../../../App_TweLite_1_8_2_BIN/App_Twelite-Master-BLUE.bin
*** TWE Wrting firmware ... ../../../App_TweLite_1_8_2_BIN/App_Twelite-Master-BLUE.bin
MODEL: TWEModel.TWELite
SER: 1000f97
FILEINFO: 04 03 0008
0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..done - 10.53 kb/s
Entering minicom mode
*** r:reset i:+++ A:ASCFMT B:BINFMT x:exit>[RESET TWE]
Windows
TWE-Programmer.exe を使います。
同様の接続で書けました。
なお、配線間違いのときに出てきたメッセージを、参考のために貼っておきます。
Entering minicom mode
*** r:reset i:+++ A:ASCFMT B:BINFMT x:exit>[Canceled]
*** r:reset i:+++ A:ASCFMT B:BINFMT x:exit>[+ + +]
*** r:reset i:+++ A:ASCFMT B:BINFMT x:exit>[+ + +]
Exception: UsbError: [Errno 32] Pipe error
*** r:reset i:+++ A:ASCFMT B:BINFMT x:exit>[Canceled]