1

ファームウェアを STM32L152 にフラッシュしようとしていますが、代わりに次のものがあります。

オンチップデバッガーを開く 0.10.0+dev-00312-g1a3cbbf3 (2018-03-02-20:11)
GNU GPL v2 の下でライセンスされています
バグレポートについては、お読みください
    http://openocd.org/doc/doxygen/bugs.html
アダプター速度: 300 kHz
アダプタ_nsrst_delay: 100
情報 : 選択されたトランスポートが低レベルのターゲット コントロールを引き継ぎました。プレーンな JTAG/SWD とは結果が異なる場合があります
分離していない
情報 : 240 kHz を使用して、要求された速度 300 kHz に一致できません
情報 : 240 kHz を使用して、要求された速度 300 kHz に一致できません
情報: クロック速度 240 kHz
情報: STLINK v2 JTAG v28 API v2 SWIM v6 VID 0x0483 PID 0x3748
情報: stlink api v2 を使用
Info : 目標電圧: 1.769170
Info : stm32l1.cpu: ハードウェアには 6 つのブレークポイントと 4 つのウォッチポイントがあります
Info : gdb 接続をポート 3333 でリッスンしています
情報 : 240 kHz を使用して、要求された速度 300 kHz に一致できません
情報 : 240 kHz を使用して、要求された速度 300 kHz に一致できません
アダプター速度: 240 kHz
デバッグ要求によりターゲットが停止しました。現在のモード: スレッド
xPSR: 0x01000000 PC: 0x0800b324 msp: 0x20007ffc
STM32L: HSI の有効化
Info : 1800 kHz を使用すると、要求された速度 2000 kHz に一致しません
Info : 1800 kHz を使用すると、要求された速度 2000 kHz に一致しません
アダプター速度: 1800 kHz
** プログラミング開始 **
自動消去有効
情報: デバイス: STM32L1xx (Cat.3 - 中密度以上)
情報 : STM32L フラッシュ サイズは 256kb、ベース アドレスは 0x8000000 です
警告: アドレス 0x00000000 のフラッシュ バンクが見つかりません
0.003700 秒 (0.000 KiB/秒) でファイル build/firmware.bin から 0 バイトを書き込みました
**プログラミング終了**
** 検証開始 **
ブレークポイントが原因でターゲットが停止しました。現在のモード: スレッド
xPSR: 0x61000000 PC: 0x2000002e msp: 0x20007ffc
エラー: チェックサムが一致しません - バイナリ比較を試みています
差分 0 アドレス 0x00000004。0xb5 ではなく 0x25 でした
差分 1 アドレス 0x00000005。0xa7 ではなく 0xb3 でした
~~~~それらの多く~~~~
128 以上のエラー、残りは出力されません。
** 検証に失敗しました **
shutdown コマンドが呼び出されました

ファームウェア.cfg

ソース [interface/stlink.cfg を検索]

WORKAREASIZE 0x8000 を設定
トランスポート選択 hla_swd

ソース [ターゲットを検索/stm32l1.cfg]

init_reset 停止

プログラム build/firmware.bin ベリファイ リセット 終了

おもしろいのは、プログラミングしようとするとfirmware.elf、すべて問題ないことです。もちろん、firmware.binは から生成されるfirmware.elfため、同じリンカ スクリプトを共有します (または、この部分で間違っていますか?)。

MEMORY { FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K } ...

OpenOCD0.10.00.9.0.

4

1 に答える 1