Stlink: STM32F031K6 Nucleo: 最小限のリンカー スクリプトによる 1.5.0 と 1.6.0 の間の回帰

作成日 2020年11月04日  ·  5コメント  ·  ソース: stlink-org/stlink

注意: チケットを送信する前に、#906 の指示を読み、それに従ってください。 したがって、すべてのフィールドが入力されていることを確認してください。

  • [x] 重複または類似の問題が発生しないように真剣に取り組みました

  • プログラマー/ボードタイプ: 内蔵

  • オペレーティング システムとバージョン: macOS 15、openSUSE Tumbleweed
  • Stlink ツールのバージョンおよび/または git コミット ハッシュ: v1.6.0
  • Stlink コマンドライン ツール名: st-util
  • ターゲット チップ (および該当する場合はボード): STM32F031K6、STM32F103C8T6 (ブルー ピル)、STM32F3DISCOVERY

期待される/説明:

https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/ の最小限のリンカー スクリプトのチュートリアルに従っているときに、私の問題が発生しました
これのソース コードは、 https://github.com/WRansohoff/STM32F0_minimalでも見つけることができ

コードなどは問題なくコンパイルされます。
次にst-util実行し、 arm-none-eabi-gdb main.elftarget extended-remote :4242を使用してボードに接続します
次に、 load main.elfを使用してプログラムをロードします。

これが、v1.5.0 と v1.6.0 の動作が分岐する場所です。
v.1.5.0 では、 siを使用してプログラムをステップスルーでき、ループに入ってr0がインクリメントされるのを確認できます。

v.1.6.0 では、 siと、プログラム カウンターがすぐに0xfffffffeにジャンプし、 r0はインクリメントされません。
ただし、 r70xdeadbeef正常に設定される場合があります。

また、OpenOCD 0.10.0 を使用してこれを実行しましたが、問題なく実行できました。
libusb 1.0.23 を使用してソースから v1.5.0 をビルドし、パッチ #704 を適用したことに注意してください。

さらに情報が必要な場合はお知らせください。

buneeds-fix buregression componenst-util needinvestigation olinux omacOS programmestlinkv2 programmestlinkv2-1 targestm32f0 targestm32f1 targestm32f3

全てのコメント5件

あなたのプログラマーはどのハードウェアタイプですか? 基本情報のセットを完成させるために、より正確に説明してください。
新しいツールセット バージョンは (再び) 機能しますか?

Nucleo ボードと Discovery ボードには組み込みのプログラマーを使用しています。これは ST-Link v2 であり、ブルーピルには ST-Link v2 USB プログラマーであると思います。

v1.6.1 では動作しません。これは私が macOS で使用していたバージョンですが、openSUSE では v1.6.0 でした。

@gcohara developブランチを試していただけますか? stm32f07 でテストしましたが、うまくいきました。

developブランチで試してみたところ、動作していることを確認できました!
ごめんなさい、とにかくそうすべきでした。

これは定期的なメンテナンス タスクと追跡に影響するため、オープン チケットをクローズしないでください。 解決済みのチケットは、問題追跡システムによって自動的にクローズされます。

このページは役に立ちましたか?
0 / 5 - 0 評価