問題タブ [stm32cubeide]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - log2 は、C の STM32F4 MCU で障害を引き起こします
このコードがハード フォールトを引き起こし、無限ループにジャンプするのはなぜですか?
val
邪悪な行をハードコードされた 1に置き換えると、コードが機能します。そのため、 (コードに示されているように)に渡しval
たときにのみ問題が発生します。log2
なぜこうなった?
STM32F429ZI MCU で STM32CubeIDE (Eclipse ベース) を使用しています。
アップデート:
逆アセンブリ ウィンドウで例外を確認すると、これが発生した例外であることがわかりました。
fffffff9: MI コマンドの実行に失敗しました: -data-disassemble -s 4294967289 -e 4294967429 -- 3 デバッガー バックエンドからのエラー メッセージ: アドレス 0xfffffffe のメモリにアクセスできません
なぜこれが起こっているのか誰にも分かりますか?
更新 2:
アセンブリ命令でのデバッグ:
強調された行は d0=0, r7=0x2002ffcc です
この行を実行した後、逆アセンブラは にジャンプしWWDG_IRQHandler
ます。
更新 3:
GCC アセンブラー オプション (これが何をするかは不明):
GCC コンパイラ オプション:
GCC リンカー オプション:
アップデート 4:
math.h
この問題は、たとえばの多くの機能で発生したようfmin
です。
stm32cubeide - 「デバッガー接続を待機しています... Debugger connected Debugger connection lost.」のようなエラーを削除するにはどうすればよいですか。シャットダウンしています...」
STM32CubeIDEを使用してコードを生成していますが、デバッグを開始すると、
STMicroelectronics ST-LINK GDB サーバーのようなエラーが発生します。バージョン 5.2.3
最新バージョンの st-link USB ドライバー (en.stsw link009) を使用しています。また、USBからTTLへのコンバーターを使用しています。最初はすべてが非常にうまく機能し、約 10 個のコードが正常に実行されました。しかし、今、上記のエラーに直面しています。では、どうすれば解決できますか?
前もって感謝します。
c++ - NFC チップでの STM32 I2C の問題
STM32F207ZET6を使用して PCB を作成しました。これには、 I2C 経由で接続されたNXP NFCチップがあります。私が抱えている問題は、NFC チップと通信できないことです。
ARM チップと NFC 間の I2C 接続を確認しました。両方のチップが正しい電力を得ていることを確認しました。
stlink-v3 で stm32cube IDE を使用しています。I2C1 ピンを構成し、次のコードを記述しました。
私が試したこと
HAL_I2C_IsDeviceReady()
NFCが接続されているかどうかを確認するために使用しようとしました。これは true を返しますが、そこに入力したすべてのアドレスでも true を返します。- コマンドを送信しようとしましたが、それらをバッファ配列に読み戻そうとしました。返されたものはすべて 0 でした。
どんな助けでも大歓迎です、ありがとう。
完全なコード
graphics - STM32F746G と touchGFX の問題、IAR と CubeIDE
TouchGFXを試してみたい。簡単な例を作成しました。私は CubeMX を使用し、追加のソフトウェアとして X-Cube-TouchGFX 4.13.0 を選択します。例とウェビナーを使用して、すべてをうまく構成します。次に、TouchGFX デザイナーを使用してサンプル用のシンプルな UI を挿入しましたが、すべてうまく機能しました。
アプリケーション構造を使用して、CubeIDE で IAR プロジェクトを生成します。Advanced and
linker Settings : Heap = 200 ; Stack = 800;
プロジェクトをコンパイルしても問題はありませんが、プロジェクトをコンパイルすると、Make
次のエラーが表示されます。
後で STM32CubeIDE のプロジェクトを生成すると、次のエラーが表示されます。
c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm -none-eabi\bin\ld.exe: 領域「FLASH」が 596908 バイトオーバーフローしました
stm32 - STM32Cube IDE 同じコードが実行されたり、ハードフォールトになったりします...ロシアンルーレット
IDE が私をトローリングしているという問題に遭遇しました。
ITM (SWO) を介して mcu からトレースバックする単純なプロジェクトがあります。基本的に、STlink デバッガーを起動すると、デバイスフラッシュプログラムに接続され、IDE はすべてのブレークポイントを無視します。手動で停止して、リセット ハンドラーからデフォルト ハンドラーに変更したことを確認しました。hardfault を除くすべてのハンドラーにエイリアスを設定しました。
それで、奇妙なたわごとが起こり始めました。私は自分のコードをチェックしました...犯罪者はいません。まったく..メモリをチェックしたところ、すべてが本来あるべき場所にありました。ベクトルテーブルのメモリをチェックしました...再びスタックポインタが最初で、次にリセットハンドラのアドレスです(サムモード)。すべて順調。デバッガーを再度起動すると、魅力的に動作します。
そのため、コードを何も変更せずにデバッガーを再起動することにしましたが、最終的にハードフォールトになりました...その後、ハードフォールトなしで再度起動しましたが、デフォルトのハンドラーにいます。ランダムに障害が発生したり、実行されたりします。私は2〜3時間かけて、すべてのビットと指示をチェックして、何がうまくいかないかを確認しました. しかし、どこに行くかをランダムに選択するように見えます-ハードフォールト、通常の実行、またはデフォルトハンドラーが必要であると決定しました。
このメモリによると、少なくともリセットハンドラーに移動しようとする必要があります
0x20010000 スタック ポインター - アドレスは正当です。確認しました。
0x080001D5 は、0x080001D4 のリセット ハンドラーを指します。
0x080001C9 デフォルトのハンドラー アドレスで、次はハードフォールトです。
さらに奇妙なこと...デバッガーをOPENOCDに切り替えて...
明らかに、RAM からの起動が困難であり、リセット ハンドラで何が起こっているのかが明確にわかりません。その後、デバッガーを数回再起動すると、正常に実行されます。
アップデート:
私は今、それが IDE のファンキーな動作であると 100% 確信しています。スタンドアロンのopenOCDクライアントでプログラム全体をステップ実行すると、魅力的に動作します。ハンドラーへのハードフォールトやその他の予期しないジャンプはありません。