問題タブ [stm32f7]
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.
gdb - STM32 CubeIDE プロジェクトをデバッグできなくなりましたが、コードは j-link なしで動作します
どういうわけか、CubeIDE と j-link でプロジェクトをデバッグ モードで開始できない状態に陥ってしまいました。コードがコンパイルされ、フラッシュが書き込まれますが、main.c のメイン関数の最初の命令で停止する代わりに、プロジェクトの逆アセンブリ部分でスタックします。
タイトルバーには「ソースが見つかりません」と表示され、作業ウィンドウには次のように表示されます。
アドレス "0x20011b88" で、デバッグ情報がないか、プログラム コードの外部でブレークします。
このアドレスを分解すると、次のようになります。
しかし、ステップインすると、次のウィンドウがポップアップ表示されます。
MI コマンドの実行に失敗しました: -exec-step 1 デバッガー バックエンドからのエラー メッセージ。現在の関数の境界が見つかりません
ここで明らかな何かが欠けているに違いないので、ご指導いただければ幸いです。また、どこで勉強すればよいか、プロジェクトのデバッグをどのように開始するかについての詳細な指針も歓迎されます。
よろしくお願いします、R.
timer - ハードウェア タイマーを使用して DMA で設定された数の ADC 変換をトリガーする方法は?
私は HAL を使用して STM32CubeIDE で STM32F767 に取り組んでいます (ベア メタルを完全に学習する時間がありません。空き時間に行っています)。TIM2 を CH1 と CH2 の両方で PWM としてセットアップし、周期は 200us、デューティ サイクルは CH1 で 25%、約 1.5% です。CH2 は 30%。ADC1 も 1.8 Msps に設定しています。私が望むのは、ADCがトリガーするPWM CH2の立ち上がりエッジで、DMAが50サンプル(または最終的に決定するバッファサイズ。現在は50)を読み取り、次にADC / DMAが次の立ち上がりまで待機することですPWM CH2 のエッジで ADC/DMA をさらに 50 サンプルトリガします。簡単に言えば、PWM CH2 が立ち上がるたびに、サイズ 50 の ADC バッファが満たされるようにします。今、私はすでに割り込みとポーリングでこれを達成していますが、CPUを可能な限り除外したいと考えています。
問題: ボードのリセット直後に PWM CH2 の最初の立ち上がりエッジで ADC がアクティブになると、ADC は信号の変換を永久に実行し、DMA はバッファを更新します。PWMがADCを常にトリガーするか、DMAがADCを1回だけトリガーしてから永久に実行しないようにします。
主要:
参照用に GPIO を切り替えるセットアップと変換完了のコールバック:
完全を期すための割り込みハンドラ:
変換が行われるたびにトグルする GPIO を設定しました。TIM2 CH1 は黄色、TIM2 CH2 は青色、ADC 完了 GPIO トグルは紫色です。ここでわかるように、PWM CH2 の最初の立ち上がりエッジで、ADC が変換を完了するため、GPIO がトグルします。これは完璧で、これをすべての立ち上がりエッジで繰り返したいと思います。ただし、2 番目の画像では、まったく同じ時間の後に再び切り替わることはありません。タイマーに関係なく、常にADCを実行してトグルしています。
私はそこに90%いると確信しており、次のタイマートリガーの準備ができているレジスターでビットをクリアするだけでよいのですが、リファレンスマニュアルはまったく明確ではないため、試行錯誤の結果になりました。どんな助けやアイデアも素晴らしいでしょう。ADC_SR または ADC_CR1/CR2 レジスタでこの機能を制御することはできないようです。ありがとう。
debugging - OpenOCD を使用した STM32F767 のデバッグ - 不明なデバイス ID の問題
VSCode で OpenOCD 0.10.0 を使用して STM32F767 (NUCLEO-F767ZI ボード) をデバッグしようとすると、次のエラーが発生します。
OpenOCD は単にこの MCU をサポートしていないということですか?
どうすれば解決できますか?以下にlaunch.json構成
を添付します。