ファームウェアを 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.0
と0.9.0
.