更新日:2024-07-22
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
U-Flashツールの起動:
パソコンのスタートメニューからSEGGER-Flasherソフトウエアパッケージの「U-Flash」プログラムを実行します。
以下の順でU-Flashプロジェクト設定を行います。
マイコンデバイスの設定:
ツール画面上の「Select device」ボタン又は「Configure → Select device」メニューコマンドでデバイス選択ダイログを開きターゲットマイコンデバイス及びインターフェースモードを選択します。
ターゲットボード上のマイコンデバイスと同じ型番のデバイスをダイログから選択し、「OK」ボタンを押します。
Renesas RL78「R5F104PJAFB」デバイスを選択する事例:
選択するマイコンデバイスシリーズによりまして接続可能なインターフェースモードが異なります。
・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)を選択します。
また、「File→Generate test data file..」メニューコマンドで書き込みテスト用ダミーデータファイル(MOT式)が作成可能です。
HowTo参考情報:複数イメージを一つのデータファイルとして保存する方法
Flasherの選択:
Flasher本体をパソコンに接続し、ツール画面上の「Select Flasher」ボタン又は「Configure → Select Flasher..」メニューコマンドでFlasher選択ダイログを開きます。USB又はLANポート経由で接続されているFlasher本体一覧はFlasher選択ダイログに表示されます。書込みを行うルートのFlasherをダイログから選択し、「OK」ボタンを押します。
「File→Save project」又は「File→Save project as..」メニューコマンドでプロジェクトを保存します。「*.jflash」ファイルとしてUniversal Flashloaderプロジェクトを保存します。
U-Flashプロジェクトの設定:
ツール画面上の「Configure project」ボタン又は「Configure → Project Settings..」メニューコマンドでプロジェクト設定ダイログを開きます。
コンフィグレーション設定ダイアログの設定項目は以下の2つのカテゴリに分かれています。
Basic View→ 基本的に必要な設定項目のみ表示
Extended View→ オプション延長機能を含めてすべての設定項目を表示
以下、U-Flashプロジェクトの一班コンフィグレーション設定項目について説明します。
設定項目名 | 説明 |
---|---|
Configuration project name | Flasher本体に保存するプロジェクトのコンフィグレーション設定ファイルの名前を指定します。 |
Project display text | Flasher Portable PLUS本体での書き込み操作の時に本体の液晶パネルに表示するプロジェクト名(ユーザ指定タイトル)を指定します。 |
Save serial number in project file | Flasher本体のシリアル番号をU-Flashプロジェクトに保存します。次回プロジェクトを起動する時に対象シリアル番号のFlasherに接続します。 |
Add project to FLASHER.INI | Flasher本体の「FLASHER.INI」ファイルにプロジェクトを記載します。Flasher Portable PLUS本体の場合は「FLASHER.INI」ファイルに記載されているプロジェクトリストに追加します。/td> |
Use longer file names | このオプションを有効に設定する場合は、最大31文字までのプロジェクトファイル名が設定可能です。デフォルト設定はファイル名の最大文字数が「8」となっております。 |
Skip blank data | このオプションを有効に設定する場合は、DATファイルにブランク(未使用)セクター領域に対してデータ作成を行いません。 ※Infineon Aurix (TC2xx)及びAurix-2 (TC3xx)デバイス環境の場合はこのオプションを無効に設定してください。 |
「Overwrite FLASHER.INI settings」オプションにチェックを入れて、Flasher本体の「FLASHER.INI」ファイルの「CONFIG」グループ下のコンフィグレーション設定値を変更することができます。
設定項目名 | 説明 |
---|---|
ShowDatCRCAfterProgramming | 「ShowDatCRCAfterProgramming = "1"」コマンドを設定した CONFIG 項目を追加します。ShowDatCRCAfterProgrammingを有効に設定する場合は、書き込みコマンド毎にログファイルに DAT ファイルの CRC 値を記録する設定は可能です。 |
「#AUTO」ASCIIコマンド又はFlasher本体のボタンを押して書込みを行う場合のコマンドの詳しい内容を設定します。デフォルト設定では、Erase、Program及びVerifyコマンドは実行されます。
設定項目名 | 説明 |
---|---|
Erase method | モード設定により、フラッシュERASEコマンドを実行します。
|
Program | アプリケーションプログラムのデータをフラッシュに書き込みます。 |
Verify | フラッシュデータの比較(ベリファイ)を行います。 |
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」項目を無効に設定してください。
FlasherデバッグポートコネクタのVTref信号(PIN-1)経由でターゲットに電力が供給されているかどうかを確認し、ターゲット側の電圧に合わせてデバッグポートコネクタ信号(CJTAG/SWD/DAP/I2Cなど)の出力レベルを制御します。VTref(FlasherコネクタPIN1)はターゲット側に接続されていない場合は、「Manually set signal I/O level」項目を有効にして固定設定(Signal I/O level)モードは設定可能です。設定範囲:1200mV~5000mV(単位:mV)
生産ラインでのターゲット基板ごとのシリアルID番号の設定が出来ます。
「Generate and program serial numbers」オプションにチェックを入れて以下の項目を設定します。書込みが正常に終了する場合のみシリアル番号を更新(インクリメント)します。
設定項目名 | 説明 |
---|---|
Address | シリアル番号を保存する先のアドレス値を指定します。 |
Increment | シリアル番号のインクリメント数を設定します。設定範囲:1~0x10000000 |
Length | シリアル番号のデータサイズ(バイト数)を設定します。設定範囲:1~4Bytes |
Next serial number | 次のシリアル番号の値を示します。 |
デバイス依存のコンフィグレーション設定:
選択されているデバイス関連のコンフィグレーション設定項目はプロジェクト設定ダイアログ画面の右側に配置されています。選択されているデバイスファミリーによりまして設定項目及びレイアウトが異なります。
以下、いくつかのデバイス関連のコンフィグレーション設定内容を解説します。
RL78関連のコンフィグレーション設定:
STM8関連のコンフィグレーション設定:
I2C EEPROM / FRAM関連のコンフィグレーション設定:
SPI NOR Flash関連のコンフィグレーション設定:
ESP32-S2関連のコンフィグレーション設定:
MSP430FR関連のコンフィグレーション設定:
AURIX-2 (JTAG)関連のコンフィグレーション設定:
ターゲット接続コネクタピンマップ:
選択するマイコンデバイスシリーズによりまして接続可能なインターフェースモードが異なります。ツール画面上の「Show wiring」ボタン又は「Help → Show wiring diagram」メニューコマンドで対象ターゲットデバイスとの接続(Flasher 20-Pinコネクタ)のピンマップ情報を参照してください。ピンマップ情報はローカルブラウザに表示されます。
※コネクタインターフェースのクロック、I/Oデータ信号のプルアップ・プルダウン抵抗設定に関して特に指定がなく、対象デバイスの一般評価ボードの回路と同様に実装していただければ問題ありません。
Infineon AURIX-2:DAP
Infineon AURIX-2:JTAG
RL78:UART (TCK)
STM8(SWIM)
AVR(UPDI)
C8051(C2)
dsPIC33(ICSP)
dsPIC30F HVP(ICSP)
PIC16(ICSP)
RH850(UART)
MSP430FR(BSL via UART)
MSP430(JTAG)
RX(FINE-UART)
ESP32S2+S3(UART)
NOR Flash(SPI)
EEPROM/FRAM(I2C)
変換アダプタ(オプション):
Flasher本体の20PinコネクタをRL78のデバッグインターフェース(14-Pin)に変換します。
Flasher本体の20PinコネクタをSTM8のSWIMインターフェースに変換します。
ジャンパーワイヤでカスタムピンマップコネクタに接続可能。
SEGGER 50-Mil 10-Pin Patch Adpter
フラッシュ書込み操作:
以下の順でU-Flashプロジェクトからフラッシュ書込み操作を行います。
Flasherに設定及びデータファイルをダウンロード:
Flasherに接続されていない場合は、ツール画面上の「Connect」ボタンを押してFlasher本体に接続します。
※ Flasherに接続されていない場合は、U-Flashツールの「Send to Flasher」ボタン及び「Action」メニュー下のコマンドが無効になります。
Flasherへの接続後に、「Action → Download configuration」メニューコマンドを実行、又はツール画面上の「Send to Flasher」ボタンを押してFlasherにコンフィグレーション設定及びデータファイルをダウンロードします。
ConsoleログウインドウにDATデータファイルのCRC計算値が表示されます。
マニュアルアクションコマンドでの書き込み:
「Action → Auto」メニューコマンドで(ERASE→書き込み→ベリファイ)順でフラッシュプログラミングタスクを実行します。結果(OK/NG)及び処理時間についてはConsoleウインドウのログメッセージから確認します。
※マニュアルアクションコマンドでの書き込みは最新ハードウエアモデルのFlasher本体が必要です。古いハードウエアバージョンのFlasherモデルは「Action → Auto」メニューコマンド操作に対応しておりません。
以下のメニューコマンドを実行して個別操作も可能です。
「Action → Erase」:フラッシュメモリのセクターをイレーズ(0xFFデータ)します。
「Action → Program」:データイメージをターゲット上のフラッシュメモリに書き込みます。
「Action → Verify」:データファイルとフラッシュデバイスのデータをベリファイします。
「Action → Read」:デバイスのメモリデータを読み出します。
また、ツール画面下のコマンドウインドウから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:未定義エラーコード(エラーメッセージの詳細が表示される)
スタンドアロンモードでの書き込み:
スタンドアロンモードにせていしました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は以下のようにハンドシェークコントロール信号として使用します。
ハンドシェークコントロール信号:
U-Flashツールメニューコマンド一覧:
File メニュー
Action メニュー
Configure メニュー
Help メニュー