私は最近、STM32F7ディスカバリーボード[1]を購入しました。ボードにはst-linkデバッガーが組み込まれているため、openocdを使ってフラッシュしようとしています。私は私のツールチェーン(私はmakefilesとarm-none-eabi-gccを使用しています)を使用していますが、Eclipseを使ってボードをフラッシュしてグラフィカルなデバッガを用意したいと思います。openocdでフラッシュとデバッグSTM32F7の発見
そうするためには、私は彼らのgitのレポからopenocdをインストールし、私は次の設定ファイルでそれを起動します。
source [find board/stm32f7discovery.cfg]
そして、私は腕なし - eabi-で日食で次のコマンドを使用しますボードをフラッシュするGDB:
target remote localhost:3333
monitor flash protect 0 0 11 off
monitor flash erase_address 0x08000000 0x100000
monitor flash write_image erase "/absolute/path/hello-world.hex" 0 ihex
monitor reset halt
私は日食の私のデバッグチェーンを設定するために使用チュートリアルから第1を含め、コマンドの別のリストを試してみました[2]、または他のSOの記事[3] [4] 。ときどき書き込み操作が失敗し、正しくないPC(たとえば、リセットハンドラーの場合はアドレス0x080004acではなく0xfffffffe)になります。したがって、CPUは存在していなくても(メモリの外側に)何かを実行しようとしますが、失敗します。
あなたは何が間違っているか考えていますか?小さな精度:私はLinuxで作業しています。
乾杯、
アントワーヌ。
[1]:www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848/PF261641?sc=stm32f7-discovery
[2]:vedder.se/2012/12 /デバッグ-stm32f4-使用-openocd-GDBアンド日食/
[3]:stackoverflow.com/questions/5535110/stm32-gdb-openocd-commands-and-initialization-for-flash -and-RAM-デバッグ
[4] [5]
をstackoverflow.com/questions/17003519/stm32f4discovery-openocd-telnet-uploading-demo-program github.com/texane/stlink
[編集]
私もgithubのからST-Linkプログラムを使用しようとした[5]とGDBにロードするために、私は同様のエラーを取得:
を2016-03-23T09:22:22 INFO src/stlink-common.c: Attempting to write 32768 (0x8000) bytes to stm32 address: 134217728 (0x8000000)
2016-03-23T09:22:22 WARN src/stlink-common.c: Failed to unlock flash!
EraseFlash - Sector:0x0 Size:0x8000
Flash page at addr: 0x08000000 erased
2016-03-23T09:22:22 INFO src/stlink-common.c: Finished erasing 1 pages of 32768 (0x8000) bytes
2016-03-23T09:22:22 INFO src/stlink-common.c: Starting Flash write for F2/F4/L4
2016-03-23T09:22:22 INFO src/stlink-common.c: Successfully loaded flash loader in sram
enabling 32-bit flash writes
size: 32768
2016-03-23T09:22:23 INFO src/stlink-common.c: Starting verification of write complete
2016-03-23T09:22:23 ERROR src/stlink-common.c: Verification of flash failed at offset: 0
あなたはtexaneのST-Linkプログラムを試みることができますopenocdの代わりにgithubから。それはST部品にとってはかなりうまく機能する傾向があります。プログラミング後に明示的なハードウェアリセットや電源の再投入を試みましたか? –
私もgithubからst-linkを試しましたが、私はボードをフラッシュすることはできません。私はいつもエラーが出ます(編集された記事を参照)。私はそれをプログラムすることができないので、ボードの電源を入れ直すと何もしません。 – Antoine
これでst-flashコマンドラインツールを試してみてください.GDBからのフラッシュが動作するかどうかはわかりません。特定のチップ/ボードに関する既知の問題についてgithubをチェックすることもできます。 –