LoginSignup
0
1

More than 3 years have passed since last update.

TWELITE のファーム書き込みしてみる

Last updated at Posted at 2020-04-04

ファーム書き込みは以前は通常のUSBシリアルでできていたみたいだが、今はFTDIチップを使ったUSBシリアルモジュールを使わないといけないようだ。

配線

FTDIチップを使ったUSBシリアルモジュールとして、WaveShare の FT232 USB UART Board (Type A) を使いました。
IMG_20200706_204230004.jpg

TWE-LITE FT232 UART Board 説明
TXD RXD
PRG GNDに接続
RXD TXD
GND GND
VCC VCCIO VCCIOは3V3に設定

IMG_20200706_211726778.jpg

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 を使います。

image.png

同様の接続で書けました。

なお、配線間違いのときに出てきたメッセージを、参考のために貼っておきます。


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]

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1