HowTo:使用方法・手順説明

更新日:2024-07-22

U-Flash(Universal Flashloader)ツールの使用方法


【回答】

Universal Flash Loaderツールを使用して標準JTAGインターフェースをサポートしない RL78、RH850、STM8、PIC、AVR、8051、MSP430、Infineon Aurixなどマイコンデバイスへの書き込みは可能です。(Q)SPI、FRAM、EEPROMメモリへの書き込みもサポートしています。

事前準備・ツール設定:

U-Flash(Universal Flashloader)ツールはFlasher ソフトウェアパッケージに含まれています。事前にFlasher ソフトウェアをインストールしてください。
U-Flashツール対象モデル:Flasher PRO、Flasher PRO XL、Flasher Compact、Flasher Portable PLUS、Flasher ATE

Flasherソフトウェアのダウンロード及びインストール手順


実行手順:

STEP表示

U-Flashツールの起動:

パソコンのスタートメニューからSEGGER-Flasherソフトウエアパッケージの「U-Flash」プログラムを実行します。

Start J-FlashStartup J-Flash Screen

以下の順でU-Flashプロジェクト設定を行います。

  1. マイコンデバイスを選択します。
  2. 書き込むアプリケーションデータファイルを指定します。
  3. Flasherを指定します。
  4. プロジェクトのコンフィグレーション設定を行います。

マイコンデバイスの設定:

ツール画面上の「Select device」ボタン又は「Configure → Select device」メニューコマンドでデバイス選択ダイログを開きターゲットマイコンデバイス及びインターフェースモードを選択します。

Open Select Device Dialog

ターゲットボード上のマイコンデバイスと同じ型番のデバイスをダイログから選択し、「OK」ボタンを押します。
Renesas RL78「R5F104PJAFB」デバイスを選択する事例:

Select Device

選択するマイコンデバイスシリーズによりまして接続可能なインターフェースモードが異なります。

STM8シリーズ:SWIM
AVRシリーズ:UPDI
8051シリーズ:C2
Infineon PSOC1 シリーズ:ISSP
Infineon AURIX シリーズ:DAP / JTAG
PIC シリーズ:ICSP
dsPIC シリーズ:ICSP
ESP32 シリーズ:UART
MSP430 シリーズ:JTAG / BSL via UART
RL78 シリーズ:UART(TCK)
M16C シリーズ:Bootloader
RH850 シリーズ:UART
RX シリーズ:BL via UART
Renesas RA6 シリーズ:SBF via UART / Select TIF in project settings
Renesas RA8 シリーズ:SBF via UART / SBF via JTAG / SBF via SWD / Select TIF in project settings
EEPROM / FRAM:I2C
SPI NOR Flash:SPI


プログラムイメージデータの指定:

ツール画面上の「Select data file」ボタン又は「File → Open data file」メニューコマンドで書き込むイメージデータファイル(HEX、BIN、MOT、SREC)を選択します。

Select DataFile

また、「File→Generate test data file..」メニューコマンドで書き込みテスト用ダミーデータファイル(MOT式)が作成可能です。

Generate DataFile

HowTo参考情報:複数イメージを一つのデータファイルとして保存する方法


Flasherの選択:

Flasher本体をパソコンに接続し、ツール画面上の「Select Flasher」ボタン又は「Configure → Select Flasher..」メニューコマンドでFlasher選択ダイログを開きます。USB又はLANポート経由で接続されているFlasher本体一覧はFlasher選択ダイログに表示されます。書込みを行うルートのFlasherをダイログから選択し、「OK」ボタンを押します。

Flasher selection

「File→Save project」又は「File→Save project as..」メニューコマンドでプロジェクトを保存します。「*.jflash」ファイルとしてUniversal Flashloaderプロジェクトを保存します。

Save Project


U-Flashプロジェクトの設定:

ツール画面上の「Configure project」ボタン又は「Configure → Project Settings..」メニューコマンドでプロジェクト設定ダイログを開きます。

Open Project Setup

コンフィグレーション設定ダイアログの設定項目は以下の2つのカテゴリに分かれています。

  1. Flasher基本操作関連の一班コンフィグレーション設定(ダイアログ画面の左側)
  2. マイコンデバイス及びインターフェースモードに依存するコンフィグレーション設定(ダイアログ画面の右側)
選択されるマイコンデバイス及びインターフェースモードによりまして、コンフィグレーション設定ダイアログの設定項目・レイアウトが異なります。コンフィグレーション設定ダイアログに一般設定と環境依存の設定グループがあります。プロジェクト設定ダイアログの左下のプルダウンオプションメニューから「Basic View」又は「Extended View」レイアウトモードを選べます。

Basic View→ 基本的に必要な設定項目のみ表示
Extended View→ オプション延長機能を含めてすべての設定項目を表示

以下、U-Flashプロジェクトの一班コンフィグレーション設定項目について説明します。

General Project Setup

U-Flash Settings:

U-Flash設定
設定項目名説明
Configuration project nameFlasher本体に保存するプロジェクトのコンフィグレーション設定ファイルの名前を指定します。
Project display textFlasher Portable PLUS本体での書き込み操作の時に本体の液晶パネルに表示するプロジェクト名(ユーザ指定タイトル)を指定します。
Save serial number in project fileFlasher本体のシリアル番号をU-Flashプロジェクトに保存します。次回プロジェクトを起動する時に対象シリアル番号のFlasherに接続します。
Add project to FLASHER.INIFlasher本体の「FLASHER.INI」ファイルにプロジェクトを記載します。Flasher Portable PLUS本体の場合は「FLASHER.INI」ファイルに記載されているプロジェクトリストに追加します。/td>
Use longer file namesこのオプションを有効に設定する場合は、最大31文字までのプロジェクトファイル名が設定可能です。デフォルト設定はファイル名の最大文字数が「8」となっております。
Skip blank dataこのオプションを有効に設定する場合は、DATファイルにブランク(未使用)セクター領域に対してデータ作成を行いません。
※Infineon Aurix (TC2xx)及びAurix-2 (TC3xx)デバイス環境の場合はこのオプションを無効に設定してください。


Flasher Settings:

「Overwrite FLASHER.INI settings」オプションにチェックを入れて、Flasher本体の「FLASHER.INI」ファイルの「CONFIG」グループ下のコンフィグレーション設定値を変更することができます。

Flasher関連の設定
設定項目名説明
ShowDatCRCAfterProgramming「ShowDatCRCAfterProgramming = "1"」コマンドを設定した CONFIG 項目を追加します。ShowDatCRCAfterProgrammingを有効に設定する場合は、書き込みコマンド毎にログファイルに DAT ファイルの CRC 値を記録する設定は可能です。

Tasks:

「#AUTO」ASCIIコマンド又はFlasher本体のボタンを押して書込みを行う場合のコマンドの詳しい内容を設定します。デフォルト設定では、Erase、Program及びVerifyコマンドは実行されます。

AUTOコマンドタスク設定
設定項目名説明
Erase methodモード設定により、フラッシュERASEコマンドを実行します。
  • Do not erase:ERASE処理を行いません。
  • Erase required, non-empty sectors:既にデータが消されているセクターを除く残りのセクター(アプリケーションデータイメージに関わる領域のフラッシュセクター)だけを消します。
  • Erase required sectors:アプリケーションデータイメージに関わる領域のフラッシュセクターのデータを全て消します。
Programアプリケーションプログラムのデータをフラッシュに書き込みます。
Verifyフラッシュデータの比較(ベリファイ)を行います。


Target power supply control:

Flasher(PIN19)から基板への電源供給(+5V)の場合は「Target power supply control」グループの「Output VSupply on pin#19」項目を有効に設定します。電源出力(PIN19)からターゲット接続+書込みコマンド開始までの時間は「Delay until programming」設定(単位:ミリ秒、設定範囲:20ms~3000ms)可能です。Flasher本体からの電源出力は「+5V」固定となり、異なる電圧が必要であれば、オプション製品「J-Link Target Supply Adapter」をご検討ください。
基板に外部電源アダプタが使用されている場合は、「Output VSupply on pin#19」項目を無効に設定してください。

P19 Power Supply

FlasherデバッグポートコネクタのVTref信号(PIN-1)経由でターゲットに電力が供給されているかどうかを確認し、ターゲット側の電圧に合わせてデバッグポートコネクタ信号(CJTAG/SWD/DAP/I2Cなど)の出力レベルを制御します。VTref(FlasherコネクタPIN1)はターゲット側に接続されていない場合は、「Manually set signal I/O level」項目を有効にして固定設定(Signal I/O level)モードは設定可能です。設定範囲:1200mV~5000mV(単位:mV)

マニュアルモードVTref設定

Generate and program serial numbers:

生産ラインでのターゲット基板ごとのシリアルID番号の設定が出来ます。

シリアル番号プログラミング設定

「Generate and program serial numbers」オプションにチェックを入れて以下の項目を設定します。書込みが正常に終了する場合のみシリアル番号を更新(インクリメント)します。

設定項目名説明
Addressシリアル番号を保存する先のアドレス値を指定します。
Incrementシリアル番号のインクリメント数を設定します。設定範囲:1~0x10000000
Lengthシリアル番号のデータサイズ(バイト数)を設定します。設定範囲:1~4Bytes
Next serial number次のシリアル番号の値を示します。

デバイス依存のコンフィグレーション設定:

選択されているデバイス関連のコンフィグレーション設定項目はプロジェクト設定ダイアログ画面の右側に配置されています。選択されているデバイスファミリーによりまして設定項目及びレイアウトが異なります。

以下、いくつかのデバイス関連のコンフィグレーション設定内容を解説します。


RL78関連のコンフィグレーション設定:

RL78 Setting
  • VerboseOutput:表示するログメッセージのレベル設定
  • BaudRate:RL78 UARTポートの通信レートクロック

STM8関連のコンフィグレーション設定:

STM8 Setting
  • HighSpeed:HIGHクロック又はLOWクロックを選択します。
  • StartApplication:フラッシュ書込み後にリセットをかけてアプリケーションを起動します。
  • VerboseOutput:表示するログメッセージのレベル設定
  • continue on verification error:有効に設定する場合は、データ比較(ベリファイ)にエラーが発生してもVerify処理を中断しません。

I2C EEPROM / FRAM関連のコンフィグレーション設定:

I2C Setting
  • I2C Speed:I2Cポートの通信レートクロック
  • I2C Address settings:I2Cポートのアドレス設定
  • VerboseOutput:表示するログメッセージのレベル設定
  • continue on verification error:有効に設定する場合は、データ比較(ベリファイ)にエラーが発生してもVerify処理を中断しません。

SPI NOR Flash関連のコンフィグレーション設定:

SPI NOR Flash Setting
  • SPI Speed:SPIポートの通信レートクロック
  • VerboseOutput:表示するログメッセージのレベル設定
  • continue on verification error:有効に設定する場合は、データ比較(ベリファイ)にエラーが発生してもVerify処理を中断しません。
  • ChipEraseMode:ERASEモードを設定します。

ESP32-S2関連のコンフィグレーション設定:

ESP32-S2 Setting


MSP430FR関連のコンフィグレーション設定:

MSP430FR Setting
  • BaudRate:UARTポートの通信レートクロック
  • EXTRA_POWER_ON_DELAY:Flasher(PIN19)から基板への電源供給(+5V)の場合は、電源出力(PIN19)からターゲット接続+書込みコマンド開始までの時間を設定します。
  • StartApplication:フラッシュ書込み後にリセットをかけてアプリケーションを起動します。
  • VerboseOutput:表示するログメッセージのレベル設定
  • Verify all:有効に設定する場合は、データ比較(ベリファイ)にエラーが発生してもVerify処理を中断しません。

AURIX-2 (JTAG)関連のコンフィグレーション設定:

AURIX-2 (JTAG) Setting
  • JTAGSpeed:JTAGクロック設定
  • DeviceId、DeviceIdMask:デバイスIDのビットマスク設定
  • Use RAM flasher:RAMからフラッシュローダを実行します(高速フラッシュ書込み)
  • VerboseOutput:表示するログメッセージのレベル設定

ターゲット接続コネクタピンマップ:

選択するマイコンデバイスシリーズによりまして接続可能なインターフェースモードが異なります。ツール画面上の「Show wiring」ボタン又は「Help → Show wiring diagram」メニューコマンドで対象ターゲットデバイスとの接続(Flasher 20-Pinコネクタ)のピンマップ情報を参照してください。ピンマップ情報はローカルブラウザに表示されます。
※コネクタインターフェースのクロック、I/Oデータ信号のプルアップ・プルダウン抵抗設定に関して特に指定がなく、対象デバイスの一般評価ボードの回路と同様に実装していただければ問題ありません。

find Wiring Diagram

Infineon AURIX-2:DAP

AURIX-2 DAP Wiring PinMap

Infineon AURIX-2:JTAG

AURIX-2 JTAG Wiring PinMap

RL78:UART (TCK)

RL78 Wiring PinMap

STM8(SWIM)

STM8 Wiring PinMap

AVR(UPDI)

AVR Wiring PinMap

C8051(C2)

C8051 Wiring PinMap

dsPIC33(ICSP)

dsPIC33 Wiring PinMap

dsPIC30F HVP(ICSP)

dsPIC30F HVP Wiring PinMap

PIC16(ICSP)

PIC16 Wiring PinMap

RH850(UART)

RH850 Wiring PinMap

MSP430FR(BSL via UART)

MSP430FR Wiring PinMap

MSP430(JTAG)

MSP430 Wiring PinMap

RX(FINE-UART)

RX Wiring PinMap

ESP32S2+S3(UART)

ESP32S2+S3 Wiring PinMap

NOR Flash(SPI)

SPI NOR Flash Wiring PinMap

EEPROM/FRAM(I2C)

EEPROM/FRAM Wiring PinMap

変換アダプタ(オプション):

RL78用変換アダプタ

Flasher本体の20PinコネクタをRL78のデバッグインターフェース(14-Pin)に変換します。

RL78用変換アダプタ

STM8用変換アダプタ

Flasher本体の20PinコネクタをSTM8のSWIMインターフェースに変換します。

STM8用変換アダプタ

SEGGER Flying Wire Adapter

ジャンパーワイヤでカスタムピンマップコネクタに接続可能。

Flying Wire Adapter

SEGGER 50-Mil 10-Pin Patch Adpter

50-Mil 10-Pin Patch Adpter

フラッシュ書込み操作:

以下の順でU-Flashプロジェクトからフラッシュ書込み操作を行います。

  1. ツール画面上の「Select data file」ボタン又は「File → Open data file」メニューコマンドで書き込むイメージデータファイル(HEX、BIN、MOT、SREC)を選択します。
  2. Flasher本体をパソコンに接続し、ツール画面上の「Select Flasher」ボタン又は「Configure → Select Flasher..」メニューコマンドでFlasher選択ダイログを開きます。USB又はLANポート経由で接続されているFlasher本体一覧はFlasher選択ダイログに表示されます。書込みを行うルートのFlasherをダイログから選択し、「OK」ボタンを押してFlasher選択ダイログを閉じます。
  3. Flasherにコンフィグレーション設定及びデータファイルをダウンロードします。
  4. 以下のいずれかの方法でフラッシュ書込みを行います。

Flasherに設定及びデータファイルをダウンロード:

Flasherに接続されていない場合は、ツール画面上の「Connect」ボタンを押してFlasher本体に接続します。
※ Flasherに接続されていない場合は、U-Flashツールの「Send to Flasher」ボタン及び「Action」メニュー下のコマンドが無効になります。

Flasherに接続

Flasherへの接続後に、「Action → Download configuration」メニューコマンドを実行、又はツール画面上の「Send to Flasher」ボタンを押してFlasherにコンフィグレーション設定及びデータファイルをダウンロードします。
ConsoleログウインドウにDATデータファイルのCRC計算値が表示されます。

Flasherにダウンロード

マニュアルアクションコマンドでの書き込み:

「Action → Auto」メニューコマンドで(ERASE→書き込み→ベリファイ)順でフラッシュプログラミングタスクを実行します。結果(OK/NG)及び処理時間についてはConsoleウインドウのログメッセージから確認します。

※マニュアルアクションコマンドでの書き込みは最新ハードウエアモデルのFlasher本体が必要です。古いハードウエアバージョンのFlasherモデルは「Action → Auto」メニューコマンド操作に対応しておりません。

AUTOコマンドAUTOコマンドコンソール

以下のメニューコマンドを実行して個別操作も可能です。
「Action → Erase」:フラッシュメモリのセクターをイレーズ(0xFFデータ)します。
「Action → Program」:データイメージをターゲット上のフラッシュメモリに書き込みます。
「Action → Verify」:データファイルとフラッシュデバイスのデータをベリファイします。
「Action → Read」:デバイスのメモリデータを読み出します。

また、ツール画面下のコマンドウインドウからASCII コマンドも発行可能です。

ASCII コマンドウインドウ

Remote Control ASCIIコマンドの詳細・仕様:
https://wiki.segger.com/UM08022_Flasher#Commands_and_replies

ASCIIコマンドエラーメッセージコード:
#ERR007:#CANCELコマンドを受けて実行中のコマンド処理をキャンセルしました。
#ERR008:コマンド実行中ステータス【BUSY状態】
#ERR009:コマンド処理中にメモリ取得に失敗しました。
#ERR010:ファイル(*.CFG、*.DAT、*.PEXなどFlasher本体のファイル)を開けませんでした。
#ERR011:ファイルのデータ読み出しに失敗しました。
#ERR012:ファイルのデータ書き込みに失敗しました。
#ERR013:ファイル削除できませんでした。
#ERR255:未定義エラーコード(エラーメッセージの詳細が表示される)


スタンドアロンモードでの書き込み:

スタンドアロンモードPROG

スタンドアロンモードにせていしましたFlasher本体をターゲットデバイスに接続して、Flasher本体上のPROGボタンを押してフラッシュ書き込みを実行します。書き込みの結果は本体上のLEDで表示されます(緑:書き込み+Verify成功、 赤:書き込み失敗又はVerifyエラー)。

FAQ(参考情報):スタンドアロンモード書込み操作でのFlasher本体のLED表示ステータス内容について

実行中にログを確認したい場合は、Flasher本体をRS232ポート又はLANポート経由でパソコンに接続して、RS232シリアルCOMポートコンソール又はTELNETコンソール上のログ表示で結果を確認します。Flasher Portable PLUSモデルの場合は、本体上の液晶パネルからログ内容及び結果の確認ができます。

RS232シリアルCOMポートコンソール又はTELNETコンソールからASCIIコマンドを発行してフラッシュ書き込み操作を制御できます。
例:「#AUTO」コマンドを実行してERASE→PROGRAM→VERIFYコマンドを順に処理します。

スタンドアロンモードコンソール

※遠隔操作コマンドのメッセージフォーマット:
・ASCII コマンド文字列は「#」で始まります。
・ASCII コマンド文字列は「‘\r’」で終了します。
・ASCII コマンドは、大文字又は小文字が可能です。

NOTE:
C#、VB.NETアプリケーションからもTELNETクライエントインターフェースを実装して、ASCIIコマンド命令でフラッシュ書き込み操作できます。

Remote Control ASCIIコマンドの詳細・仕様:
https://wiki.segger.com/UM08022_Flasher#Commands_and_replies

ASCIIコマンドエラーメッセージコード:
#ERR007:#CANCELコマンドを受けて実行中のコマンド処理をキャンセルしました。
#ERR008:コマンド実行中ステータス【BUSY状態】
#ERR009:コマンド処理中にメモリ取得に失敗しました。
#ERR010:ファイル(*.CFG、*.DAT、*.PEXなどFlasher本体のファイル)を開けませんでした。
#ERR011:ファイルのデータ読み出しに失敗しました。
#ERR012:ファイルのデータ書き込みに失敗しました。
#ERR013:ファイル削除できませんでした。
#ERR255:未定義エラーコード(エラーメッセージの詳細が表示される)

NOTE:
Flasher Portable PLUS及びFlasher Compact本体にはRS232及びLANポートインターフェースはありませんので、Flasher Portable PLUS及びFlasher Compactモデル本体でのフラッシュ書込み操作ログ+タイミングを確認したい場合は、U-Flashツールのマニュアルアクションコマンドでの書き込みをご利用ください。


遠隔操作(ハンドシェークコントロール)での書き込み:

Flasher-PRO本体では、RS232コネクタ経由のハンドシェークコントロールで、PLC又は外部機器からトリガーイベントを発生させて「Auto」コマンド処理の遠隔操作が可能です。RS232インターフェースのSUB-D9(コネクタ・オス)のPIN1、4、5、7は以下のようにハンドシェークコントロール信号として使用します。

Flasher PLC connect

ハンドシェークコントロール信号:

Flasher Handshake
  • START【PIN-1】:START信号に+5V~30VのPULSEトリガー(30ms~)をかけると、Flasher本体に登録されているJ-Flashプロジェクトの「Production」タブページでの設定の通りに「AUTO」コマンド処理(ERASE→書き込み→ベリファイ)を実行します。
  • BUSY【PIN-4】:BUSYは「AUTO」コマンド処理の実行中状態を出力する信号です。「AUTO」コマンドの実行中にHIGHレベルを出力します。コマンド終了後にLOWレベル(Ready)に戻ります。
  • OK【PIN-7】:OKは「AUTO」コマンド処理の結果を出力する信号です。BUSY信号(PIN4)がReady状態に戻りましたら、OK信号がLOWレベルの場合は正常終了と示します。OK信号がHIGHレベルの場合はエラー終了と示します。
  • GND【PIN-5】:Ground信号


U-Flashツールメニューコマンド一覧:

File メニュー

  • New project:デフォルト設定で新規のU-Flashプロジェクトを作成します。
  • Open project...:現在のプロジェクトを終了して指定されたプロジェクト(*.uflash)を開きます。複数のプロジェクトを同時に開くことは出来ません。
  • Save project:現在操作中のU-Flashプロジェクトを保存します。
  • Save project as...:現在操作中のU-Flashプロジェクトを別のプロジェクトとして保存します。
  • Save project as template...:本プロジェクトをテンプレートとして保存します。
  • Save Flasher UNI file...:U-Flashプロジェクトのコンフィグレーション設定をUNIファイルとして保存します。
  • Save Flasher DAT file...:Flasher本体にロードするためのデータファイル(*.DAT)をローカルフォルダに保存します。
  • Open data file...:ターゲットボードのフラッシュに書き込むデータのイメージファイルを開きます。イメージファイル形式はIntel HEX(*.HEX)、Motorola S(*.MOT、*.SREC)、バイナリ(*.BIN、*.RAW)をサポートします。
  • Generate test data file...:書き込みテスト用のデータパターンを作成します。
  • Exit:U-Flashプログラムを終了します。

Action メニュー

  • Download configuration:プロジェクトコンフィグレーション設定ファイル及びデータファイルをFlasher本体にダウンロードします。
  • Auto:プロジェクト設定ダイアログのTasksグループ設定のコマンド順「Erase → Program → Verify」で処理を行います。
  • Erase:フラッシュメモリのセクターをイレーズ(0xFFデータ)します。
  • Program:データイメージをターゲット上のフラッシュメモリに書き込みます。
  • Verify:データファイルとフラッシュデバイスのデータをベリファイします。
  • Read:デバイスのメモリデータを読み出します。
  • Read to file...:データを読み出してファイルとして保存します。

Configure メニュー

  • Select device...:デバイス選択ダイログを開きます。デバイス選択ダイログからターゲットデバイス及びインターフェースモードを選択します。
  • Select Flasher...:Flasher選択ダイログを開きます。USB又はLANポート経由で接続されているFlasher本体一覧はFlasher選択ダイログに表示されます。
  • Project Settings... (Alt+F7):プロジェクトコンフィグレーション設定ダイログを開きます。

Help メニュー

  • Show wiring diagram:選択されているターゲットデバイス用のコネクタピンマップ情報をローカルブラウザーで表示します。

前の質問

フラッシュ書き込み用新規 J-Flashプロジェクトを作成します

次の質問

BLE無線モジュールフラッシュ書込み方法