英語フランス語スペイン語

OnWorksファビコン

stm32flash - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで stm32flash を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの 32 つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド stmXNUMXflash です。

プログラム:

NAME


stm32flash - UART または I32C を介した STM2 用のフラッシュ ユーティリティ

SYNOPSIS


stm32フラッシュ [-cfhjkouvCR] [-a バスアドレス] [-b ボーレート] [-m シリアルモード] [-r ファイル名]
[-w ファイル名] [-e NUM] [-n カウント] [-g 住所] [-s 開始ページ] [-S 住所[:長さ]][-F
RX_length[:TX_長さ]][-i GPIO_文字列] [tty_device | i2c_デバイス]

DESCRIPTION


stm32フラッシュ STM32のフラッシュメモリを読み書きします。

ST アプリケーション ノート AN32 に準拠したブートローダーを STM3155 に組み込む必要があります。
AN4221。 stm32フラッシュ シリアルポートを使用します tty_device またはi2cポート i2c_デバイス 対話します
STM32のブートローダーを使用します。

OPTIONS


-a バスアドレス
バス上のアドレスを指定してください i2c_デバイス。 このオプションは I2C インターフェイスには必須です。

-b ボーレート
ボーレート速度を指定します tty_device。 ST ブートローダーは次のことができることに注意してください。
AN2 の第 3155 章で説明されているように、ボー レートを自動的に検出します。 これ
オプションはオプションと一緒に必要になる場合があります -c または、次のようなやり取りがあった場合
ブートローダーが期待されています。 デフォルトは 57600.

-m モード
UARTデータのフォーマットを指定します。 モード は XNUMX 文字の長さの文字列です。
文字は、文字サイズ、パリティ、ストップ ビットをこの厳密な順序で指定します。
現在使用されている唯一の値は、 8e1 標準の STM32 ブートローダー用と 8n1 for
標準の STM32W ブートローダー。 デフォルトは 8e1.

-r ファイル名
STM32 フラッシュを読み取り、その内容を書き込むように指定します ファイル名 生のバイナリで
形式 (以下を参照) FORMAT 変換).

-w ファイル名
STM32 フラッシュに次の内容を書き込むように指定します。 ファイル名。 使用できるファイル形式は、
raw バイナリまたは intel hex のいずれか (以下を参照) FORMAT 変換)。 ファイル形式は
自動的に検出されます。 フォーマット検出をバイパスし、バイナリ モードを強制するには (例:
STM32 フラッシュにインテル XNUMX 進内容を書き込みます)、使用します -f オプションを選択します。

-u STM32 フラッシュからの書き込み保護を無効にするように指定します。 STM32 がリセットされます
この操作の後。

-j フラッシュ読み取り保護を有効にします。

-k フラッシュ読み取り保護を無効にします。

-o 消去のみ。

-e NUM 消去のみを指定する NUM フラッシュに書き込む前のページ。 デフォルトでは、
フラッシュ全体。 と -e 0 フラッシュは消去されません。

-v 書き込み操作後にフラッシュの内容を検証するように指定します。

-n カウント
失敗した書き込みを最大で再試行するように指定します カウント 回。 デフォルトは10回です。

-g 住所
実行を開始するアドレスを指定します (0 = フラッシュ開始)。

-s 開始ページ
フラッシュ ページ オフセットを指定します (0 = フラッシュ開始)。

-S 住所[:長さ]
読み取り/書き込み/消去/CRC 操作の開始アドレスとオプションで長さを指定します。

-F RX_length[:TX_長さ]
現在のインターフェイスの最大フレーム サイズを指定します。 STM32 ブートローダーが原因
このプロトコルでは、ホストは RX で 256 バイト、または RX で 258 バイトを超えるフレームを処理しません。
テキサス州現在のコードにより、RX の最小制限は 20 バイトです (完全な応答を読み取るため)。
コマンドGETの)。 TX の最小制限は 5 バイトであり、プロトコルによって要求されます。

-f ファイルの読み取り中にバイナリパーサーを強制する -w.

-h ヘルプを表示します。

-c 既存の UART 接続を再開し、初期 INIT シーケンスを送信しないように指定します
ボーレートを検出します。 ボーレートは既存の接続と同じに保つ必要があります。
これは、リセットが失敗した場合に役立ちます。

-i GPIO_文字列
ホスト上で GPIO シーケンスを指定して、STM32 がブートローダーに出入りするように強制します。
モード。 GPIO は、ホストから UART の横の STM32 に接続された実際の G​​PIO のいずれかです
接続、または GPIO として使用される UART のモデム信号。 (下記参照 ブートローダー GPIO
シーケンス の形式の場合 GPIO_文字列 そしてさらなる説明)。

-C メモリ内容の CRC を計算するように指定します。 デフォルトでは、CRC は
Flash コンテンツ全体。 使用 -S 異なるメモリアドレス範囲を提供します。

-R 終了時にデバイスをリセットするように指定します。 次のいずれかの場合、このオプションは無視されます。 -g, -j, -k
or -u も指定されています。

ブートローダー GPIO シーケンス


この機能は現在、Linux ホストでのみ使用できます。

ST アプリケーション ノート AN2606 で説明されているように、リセット後、STM32 は次のいずれかを実行します。
適用されるレベルに応じて、ユーザー フラッシュまたはブートローダー内のアプリケーション プログラム
リセット中の STM32 の特定のピン。

STM32 ブートローダーは、ピン BOOT0="high" とピンを設定することによって自動的にアクティブ化されます。
BOOT1="low" にしてからリセットを適用します。 ユーザーフラッシュ内のアプリケーションプログラムが起動される
ピン BOOT0="low" を設定し (BOOT1 のレベルは無視されます)、次に
リセットします。

ホスト コンピュータからの GPIO がコンフィギュレーション ピンとリセット ピンのいずれかに接続されている場合、
STM32、 stm32フラッシュ ホスト GPIO を制御して STM32 をリセットし、強制的に実行できます。
ブートローダーまたはアプリケーションプログラムの実行。

ブートローダー モードに入るときとブートローダー モードから出るときの GPIO 値のシーケンスは、次のように提供されます。
コマンドラインオプション -i GPIO_文字列.

の形式 GPIO_文字列 次のとおりです。
GPIO_string = [エントリシーケンス][:[終了シーケンス]]
シーケンス = [-]n[,シーケンス]

上記のシーケンスでは、負の数は「低」レベルの GPIO に対応します。 数字
符号のないものは、「高」レベルの GPIO に対応します。 値「n」は GPIO のいずれかになります。
ホスト システム上の番号、または文字列「rts」、「dtr」、または「brk」。 文字列「rts」と「dtr」
対応する UART のモデム ライン RTS および DTR を GPIO として駆動します。 文字列「brk」は強制的に
UART は TX ラインで BREAK シーケンスを送信します。 BREAK後、UARTは通常に戻ります
「ノンブレイク」モード。 注: 文字列「-brk」は効果がなく、無視されます。

終了シーケンスは、-R が指定された場合にのみ実行されることに注意してください。 -Rを指定した場合でも、
終了シーケンスがない場合は、ソフトウェア トリガーのリセットが実行されます。

例として、ホストと STM32 の間に次の接続があると仮定します。
· ホスト GPIO_3 は STM32 のリセット ピンに接続されています。
· ホスト GPIO_4 は STM32 ピン BOOT0 に接続されています。
· ホスト GPIO_5 は STM32 ピン BOOT1 に接続されています。

この場合、ブートローダー モードに入るシーケンスは次のとおりです。最初に GPIO_4="high" を設定し、
GPIO_5="低"; 次に、GPIO_3="low" に続いて GPIO_3="high" によってリセット パルスを送信します。 の
に対応する文字列 GPIO_文字列 は「4、-5、-3,3、XNUMX」です。

ブートローダーを終了してアプリケーション プログラムを実行する手順は次のとおりです。
GPIO_4="低"; 次にリセットパルスを送信します。 対応する文字列 GPIO_文字列 is
「-4、-3,3、XNUMX」。

完全なコマンド ライン フラグは「-R -i 4,-5,-3,3:-4,-3,3」です。

STM32W はパッド PA5 を使用してブート モードを選択します。 リセット中に PA5 が「ロー」の場合、STM32W は
ブートローダーモードに入ります。 PA5 が「High」の場合、フラッシュ内のプログラムが実行されます。

例として、GPIO_3 が PA5 に接続され、GPIO_2 が STM32W のリセットに接続されているとします。 コマンド:
stm32flash -R -i -3,-2,2:3,-2,2 /dev/ttyS0
提供:
· エントリ シーケンス: GPIO_3=低、GPIO_2=低、GPIO_2=高
· 終了シーケンス: GPIO_3=high、GPIO_2=low、GPIO_2=high


デバイス情報を取得します。
stm32flash /dev/ttyS0

verify を指定して書き込み、実行を開始します。
stm32flash -w ファイル名 -v -g 0x0 /dev/ttyS0

フラッシュをファイルに読み取ります:
stm32flash -r ファイル名 /dev/ttyS0

実行を開始します:
stm32flash -g 0x0 /dev/ttyS0

指定:
· エントリシーケンス: RTS=低、DTR=低、DTR=高
· 終了シーケンス: RTS=高、DTR=低、DTR=高
stm32flash -R -i -rts,-dtr,dtr:rts,-dtr,dtr /dev/ttyS0

FORMAT 変換


ST によって提供される、または ST ツールで作成された Flash イメージは、多くの場合 Motorola のファイル形式です
Sレコード。 rawバイナリ、intel hex、Motorola S-Record間の変換が可能
ソフトウェアパッケージSRecordを通じて。

作者


オリジナルのソフトウェアパッケージ stm32フラッシュ によって書かれています ジェフリー マクレー <[メール保護]>
2012 年以来、によって維持されています。 トーモッド ヴォルデン <[メール保護]>.

マニュアル ページと STM32W および I2C の拡張機能は、次のように作成されています。 アンソニー ボルネオ島
<[メール保護]>.

バグがある場合はプロジェクトのホームページで報告してください http://stm32flash.sourceforge.net .

onworks.net サービスを使用してオンラインで stm32flash を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad