ファームウェアのアップデート

このセクションでは、ファームウェアのアップデート方法について説明します。私たちは SEGGER J-LinkOpenOCDSerial-COM 経由など、様々な方法をサポートしています。

注釈

  • 更新プロセス中は接続を維持し、正しい デバイスインターフェース を使用してください。

  • LEAPS UWBS はBLE経由でのファームウェアアップデートもサポートしており、より詳細な情報については BLE経由のファームウェア更新 を参照してください。

より詳細な情報については、以下からご希望の方法を選択してください:

セットアップの準備

  • 少なくともデバイスがあります。

  • 更新するバイナリファイル。(.hex または .bin)

  • SEGGER J-Link をインストールしました。

SEGGER J-Linkを使ったアップデート方法のステップバイステップの説明

  1. SEGGER J-Linkをインストールします。

Windows用のダウンロードファイル JLink_Windows_V766_x86_64.exe を探してください。

  • ファイルをダブルクリックしてインストールを開始します。

  • プロンプトが表示されたら、管理者パスワードを入力してください。

  • ライセンス条項を読み、同意してください。

  • デフォルトのインストール先フォルダは、通常 C:∕Program Files (x86)∕SEGGERJLink にあります。

  • デフォルトのUSBドライバを承認してください。

インストールが完了すると、システムフォルダにフォルダとドライバファイル一式がインストールされます。新しくインストールするたびに、これらのファイルは上書きされますのでご注意ください。

JLink_MacOSX_V766_x86_64.pkg という名前の macOS ダウンロードファイルを探してください。

  • ファイルをダブルクリックしてインストールを開始します。

  • ライセンス条項を読み、同意してください。

  • プロンプトが表示されたら、管理者パスワードを入力してください。このパスワードはアプリケーションフォルダに書き込むのに必要です。

インストール後、次の場所にフォルダができます: /Applications/SEGGER/JLink_V766/. バージョンごとにフォルダが異なることを覚えておいてください。このフォルダにはアプリケーションに関連するすべての実行ファイルとライブラリが保存されます。

GNU/Linux用のSEGGERダウンロードサイトにアクセスし、目的のパッケージを見つけてください。32/64ビット版から選択してください。

  • .tgzファイルをダウンロードし、コンピュータに保存してください。

  • ターミナルウィンドウを開きます。

例えば、Ubuntu (Linux) で64ビットの .tgz ファイルをインストールするには、以下のコマンドを使ってください:

mkdir -p ~/opt/SEGGER
cd ~/opt/SEGGER
tar xf ~/Downloads/JLink_Linux_V766_x86_64.tgz
chmod a-w ~/opt/SEGGER/JLink_Linux_V766_x86_64
ls -l ~/opt/SEGGER/JLink_Linux_V766_x86_64

上記のコマンドを実行した後:

  • ~/opt/SEGGER にフォルダが作成されます。

  • ダウンロードした .tgz ファイルの内容が ~/opt/SEGGER フォルダに展開されます。

  • JLink_Linux_V766_x86_64` ファイルのパーミッションが変更されます。

  • ~/opt/SEGGER/JLink_Linux_V766_x86_64 フォルダの内容をチェックすることでインストールを確認できます。

新規インストール時にシステムフォルダ内の既存のファイルを上書きすることに注意してください。

  1. SEGGER J-Link を開き、バイナリファイルをフラッシュします。

  • 最新の J-Link ソフトウェア&ドキュメントパックがインストールされていることを確認してください。

  • J-LinkをPCに接続してください。

  • ターゲットシステムをJ-Linkに接続

  • J-Flash Liteの起動

../../../_images/jflashliteexe03.png
  • デバイス、デバッグインターフェイス、通信速度の選択

  • ファイルを選択し、[デバイスをプログラム]をクリックするか、[チップを消去]をクリックします。

  • J-Flash Liteは要求された操作を実行します

../../../_images/jflashliteexe04.png
  • 最新の J-Link ソフトウェア&ドキュメントパックがインストールされていることを確認してください。

  • J-LinkをPCに接続します。

  • ターゲットシステムをJ-Linkに接続

  • J-Link Commanderを起動してください。

  • 以下のコマンドを入力してください:

  • J-Link> device <devicename> // 既知のデバイスのリストについては、ここを参照してください。

  • J-Link> r

  • J-Link> h

  • J-Link> loadbin <PathToBinFile>, <programmingaddress>

  • J-Link Commander はフラッシュダウンロードを実行し、成功したら時間統計を出力します。

更新が完了すると、ボードは自動的にリセットされます。

セットアップの準備

  • 少なくとも 1 つのデバイス。

  • パッケージには、アップデート用のスクリプトとバイナリが含まれています。

  • Installed OpenOCD.

OpenOCD (Open On-Chip Debugger) 経由でのアップデート方法を順を追って説明します。

  1. OpenOCD デバッガのインストール

  • Windows 用の xPack OpenOCD package をダウンロードする。

  • C:\xpack-openocd-0.11.0-1 フォルダーに解凍します。

  • パスを追加します: Windows ユーザーパス環境変数に C:\xpack-openocd-0.11.0-1\bin というパスを追加してください。

  • macOS 用の xPack OpenOCD package をダウンロードする。

  • tarball を解凍してローカルにインストールします。

例えば、xpack-openocd-0.11.0-1-linux-arm.tar.gz ファイルをインストールするには、以下のコマンドを使います:

mkdir -p ~/.local/xPacks/openocd
cd ~/.local/xPacks/openocd
tar -zxvf ~/Downloads/xpack-openocd-0.11.0-1-linux-arm.tar.gz (with PC’s AMD core, using … linux-x64.tar.gz with PC’s Intel core)
....
sudo chmod -R -w xpack-openocd-0.11.0-1/
~/.local/xPacks/openocd/xpack-openocd-0.11.0-1/bin/openocd --version
export PATH="~/.local/xPacks/openocd/xpack-openocd-0.11.0-1/bin/:$PATH"
cd ~
source .bashrc

例えば、Ubuntu (Linux)では、xpack-openocd-0.11.0-1-linux-arm.tar.gzファイルをインストールするには、以下のコマンドを使用します:

mkdir -p ~/.local/xPacks/openocd
cd ~/.local/xPacks/openocd
tar -zxvf ~/Downloads/xpack-openocd-0.11.0-1-linux-arm.tar.gz (with PC’s AMD core, using … linux-x64.tar.gz with PC’s Intel core)
....
sudo chmod -R -w xpack-openocd-0.11.0-1/
~/.local/xPacks/openocd/xpack-openocd-0.11.0-1/bin/openocd --version
export PATH="~/.local/xPacks/openocd/xpack-openocd-0.11.0-1/bin/:$PATH"
cd ~
source .bashrc
  1. OpenOCDのバージョンを確認する

openocd --version
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.11.0-00155-ge392e485e (2021-03-15-16:43)
Licensed under GNU GPL v2
For bug reports, read
  http://openocd.org/doc/doxygen/bugs.html
  1. パッケージをダウンロードしてPCに解凍します。

UDKボードの例: WinZip や 7-Zip のようなプログラムを使って、ダウンロードした to be defined ファイルを解凍します。

  1. お気に入りのターミナル アプリケーションを開きます。

  • Linux または macOS では、ターミナル アプリケーションのように。

  • Windowsでは Powershell アプリケーションのようなものです。

  1. 抽出されたパッケージが含まれるフォルダーに移動します。

  • cd から /path/to/LEAPS-UWBS-Firmware-OpenOCD

  1. ケーブルを使用してデバイスを PC に接続します。

  • UDK ボードの例: USB-Cデータケーブルを使用して、デバイスの USB-C Data Port 2 をPCに接続します。

  1. スクリプトを実行して、ファームウェアを自動的に更新します。

Windows では、reflash-leaps-rtls-2ab.bat コマンドを使用します。

macOSでは、 reflash-leaps-rtls-2ab.sh コマンドを使用する。

GNU/Linuxでは、reflash-leaps-rtls-2ab.sh コマンドを使用する。

たとえば、Ubuntu (Linux) の場合:

./reflash-leaps-rtls-2ab.sh
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.11.0-00155-ge392e485e (2021-03-15-16:43)
Licensed under GNU GPL v2
For bug reports, read
  http://openocd.org/doc/doxygen/bugs.html
DEPRECATED! use 'adapter speed' not 'adapter_khz'
set_test_mode
Info : Using CMSIS-DAPv2 interface with VID:PID=0x0d28:0x0204, serial=01100E003602002e003f4146570120313238
Info : CMSIS-DAP: SWD Supported
Info : CMSIS-DAP: FW Version = 2.1.0
Info : CMSIS-DAP: Serial# = 01100E003602002e003f4146570120313238
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : high-speed (adapter speed 10000) may be limited by adapter firmware.
Info : clock speed 10000 kHz
Info : SWD DPIDR 0x2ba01477
Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : starting gdb server for nrf52.cpu on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000031ec msp: 0x20003488
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
Info : nRF52840-CKAA(build code: D0) 1024kB Flash, 256kB RAM
auto erase enabled
wrote 1048576 bytes from file leaps-rtls-all-2ab-v0.14-rc25.hex in 38.776192s (26.408 KiB/s)
  1. 更新が完了すると、ボードは自動的にリセットされます。

セットアップの準備

  • 少なくとも 1 つのデバイス。

  • パッケージには、アップデート用のスクリプトとバイナリが含まれています。

  • python3 <https://www.python.org/downloads/>`_ をインストールした。

シリアル-COM経由でのアップデート方法のステップバイステップの説明

  1. パッケージをダウンロードしてPCに解凍します。

UDKボードの例: WinZip や 7-Zip のようなプログラムを使って、ダウンロードした to be defined ファイルを解凍します。

  1. お気に入りのターミナル アプリケーションを開きます。

  • Linux または macOS では、ターミナル アプリケーションのように。

  • Windowsでは Powershell アプリケーションのようなものです。

  1. 抽出されたパッケージが含まれるフォルダーに移動します。

  • red:cd から /path/to/LEAPS-UWBS-Firmware-Serial-COM へ。

  1. 依存関係をインストールします。初めての場合は、以下のようなPythonバイナリをインストールする必要があります:

  • serial (pip install serial)

  • libusb (pip install libusb

  • tqdm (pip install tqdm)

  • ...

  1. アップデートを実行するために、2つのポートのうち1つを選択できます。

UDK ボードの例: USB-C Data Port 1 を使えば、eldrバイナリとメインバイナリを別々にアップデートできます。逆に、USB-C Data Port 2 を使うと、複数のデバイスを同時にアップデートすることができます。

  1. Use a USB-C Data Cable to connect the USB-C Data Port 1 of devices to your PC.

Run the following command to perform the update eldr and main: sudo python3 ./udk-leaps-uwbs-serial-com.py --main ./main_binaries.bin --eldr ./eldr_binaries.bin

~/LEAPS-UWBS-Firmware-Serial-COM$ sudo python3 ./udk-leaps-uwbs-serial-com.py --main ./udk-leaps-uwbs-fira-v0.15.0-rc8.bin --eldr ./udk-leaps-uwbs-eldr-v0.15.0-rc8.bin
03:11:55 Device 01/02 (SerialNumber=3DB15A2CCB8053C8): Reset
03:11:55 Device 02/02 (SerialNumber=904AD29FD29D2452): Reset
15:12:15 Device 01/02 (SerialNumber=904AD29FD29D2452): Uploading MAIN: 100%|████████████████████████████| 716192/716192 [00:16<00:00, 44623.94it/s]
15:12:15 Device 02/02 (SerialNumber=3DB15A2CCB8053C8): Uploading MAIN: 100%|████████████████████████████| 716192/716192 [00:16<00:00, 44630.31it/s]
15:12:37 Device 01/02 (SerialNumber=904AD29FD29D2452): Uploading ELDR: 100%|████████████████████████████| 235748/235748 [00:05<00:00, 42419.44it/s]
15:12:37 Device 02/02 (SerialNumber=3DB15A2CCB8053C8): Uploading ELDR: 100%|████████████████████████████| 235748/235748 [00:05<00:00, 42498.01it/s]
03:12:43 Resetting devices
  1. USB-Cデータケーブルを使って、デバイスの USB-C Data Port 2 をPCに接続する。以下のコマンドを実行し、eldrまたはmainのアップデートを行う:

    • python3 ./leaps-serial-com.py -d serial_port_of_device --eldr ./eldr_binaries.bin を実行します。

    • python3 ./leaps-serial-com.py -d serial_port_of_device --main ./main_binaries.bin とします。

~/LEAPS-UWBS-Firmware-Serial-COM$ python3 ./udk-leaps-uwbs-serial-com.py -d /dev/ttyACM0 --eldr ./udk-leaps-uwbs-eldr-v0.15.0-rc8.bin
02:54:30 Resetting device
02:54:33 Uploading file /home/leaps/LEAPS-UWBS-Firmware-v0.15.0/LEAPS-UWBS-Firmware-Serial-COM/udk-leaps-uwbs-eldr-v0.15.0-rc8.bin (235748 bytes)
100%|████████████████████████████| 235748/235748 [00:28<00:00, 8129.43it/s]
02:55:07 Ok (upload time = 34.70 seconds)
02:55:10 Resetting device

~/LEAPS-UWBS-Firmware-Serial-COM$ python3 ./udk-leaps-uwbs-serial-com.py -d /dev/ttyACM0 --main ./udk-leaps-uwbs-fira-v0.15.0-rc8.bin
02:56:25 Resetting device
02:56:28 Uploading file /home/leaps/LEAPS-UWBS-Firmware-v0.15.0/LEAPS-UWBS-Firmware-Serial-COM/udk-leaps-uwbs-fira-v0.15.0-rc8.bin (716192 bytes)
100%|████████████████████████████| 716192/716192 [01:27<00:00, 8175.81it/s]
02:58:11 Ok (upload time = 102.74 seconds)
02:58:14 Resetting device
  1. アプリは、更新の進行状況を示す視覚的なインジケーターまたは進行状況バーを提供します。アップデートプロセスが完了するまで、辛抱強く待ってください。

  2. 更新が完了すると、ボードは自動的にリセットされます。

ファームウェアを確認し、成功を確認してください

お好きなターミナル・アプリケーションを開いてください、

  • GNU/LinuxまたはmacOSでは、Terminal アプリケーションのようにする。

  • Windowsでは Powershell アプリケーションのようなものです。

例えば、Ubuntu(Linux)では、minicomを開いてダブルエンターを押す:

minicom -b 115200 -D /dev/ttyACM0
../../../_images/jflashliteexe05.png

接続のために、まず DWM1001-DEVDWM3001CDK 開発キットの主なコンポーネントの概要を見てみましょう。

注釈

UDKキットについては、 ハードウェアインターフェイス セクションの詳細情報を参照してください。

../../../_images/dwm1001_io.png ../../../_images/dwm3001c_io.png