問題タブ [stm32]

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.

0 投票する
1 に答える
1543 参照

discovery - STM32F4 Can1 から最初のメッセージを取得して Can2 に送信する方法、Can1 と Can2 の速度が異なる

開発キット STM32f4 ディスカバリ キットがあり、Canbus インターフェイス モジュールが 2 つあります。Can1 から最初のメッセージを取得して Can2 に送信する方法、 Can1 と Can2 は速度が異なります

0 投票する
2 に答える
3003 参照

arm - ARM 割り込みのレイテンシを補償しますか?

私は信号を生成する STM32F4 CPU のプロジェクトに取り組んでいます。

STM32 の CPU クロック (プリスケーラなし) に汎用タイマーを使用して、オーバーフロー時に割り込みをトリガーし、その後 GPIO で定期的な信号を生成します。

非常に正確な時間 (基本的には 1 CPU サイクルの精度まで) に GPIO をトリガーする必要があります。優先度 & al を設定することで、このジッターを +-5 サイクルに減らすことができましたが、CPU の動作によっては、このジッターが存在します。

この数サイクルのジッターを補正する必要があります。正確なタイミングで GPIO を切り替える限り、数サイクルの遅延を追加しても問題はありません。

私の考えは、カウンターの現在の値を読み取り、FIXED_NUMBER-CURRENT_VALUE 時間のアクティブなループを作成して、正確な時間にループを終了できるようにすることでした。

ただし、C で単純なループを実行する - FOR ループ、または while(counter->value < TARGET) は、ジッターを減らす代わりに追加するため、機能しません。

私は何か間違ったこと/素朴なことをしていますか? アセンブリで行う必要がありますか?それはCとどのように違うでしょうか(GCCで逆アセンブリをチェックして、ループが最適化されていないか、メモリにヒットしていないかを確認しましたか?)

(私は空の、最適化されていないがメモリループ本体に当たらないことを保証しました)

編集: AVRでこの例を参照してください (私が知っているより安定しています)

edit2 : 次のようなアセンブリで単純なループを試しました (r0 は私のカウンター、待機するサイクル数、レジスター内)

繰り返しますが、ジッタはそれがない方が優れています。

要するに、私はどれだけ遅らせるべきかをすでに知っています。コードのブランチが確実にNサイクルを消費し、別のケースではMサイクルを消費する方法が必要です。残念ながら、パイプラインのリフィルには信頼できるサイクル数がかかるように見えないため、分岐だけでは機能しないようです。また、条件式も常に同じサイクル数を取るため (何もしない場合もあります)、そうではありません。

フラッシュの代わりに RAM から実行すると、一貫性が向上しますか? (NB stm32f4 にはフラッシュ プリフェッチがあります。)

0 投票する
1 に答える
449 参照

c - STM32F103x_XL FLASH バンク 2 は BUSY のまま

STM32F10x_StdPeriph ライブラリで STM32F103ZG を使用しています。Keil ARM-MDK を使用してプロジェクトの開発を開始しましたが、現在は GCC に移行しています。これまでのところ、切り替えは非常にスムーズに進んでいます。FLASH の最後のページを構成ページとして使用して、製品固有のパラメーターを保存します。これは明らかにバンク 2 にあるページです。場合によっては、これらの構成パラメーターを実行時に更新する必要がありますが、GCC に移行したので、書き込みを試みるとすぐに 2 番目のメモリ バンクがビジー状態になります。それから、電源を入れ直すまでビジーのままです。消去は正常に動作しますが、書き込みは失敗します。すべての FLASH のロックを解除し、FLASH にアクセスするためにすべてのクロックが初期化されていることを確認します。いくつかのフォーラムの他のいくつかの投稿は、私のリンカー ファイルの問題を示唆していますが、私が使用するすべての例は違いがありません。

誰かが私が間違っていることを教えてくれたら、とても感謝しています。

ありがとう、

H

0 投票する
5 に答える
57305 参照

c - USART受信割り込みstm32

私はSTM32とUSART割り込みに取り組んでいるマップ上で開発します。USART1を構成し、受信割り込みを有効にするようにした後。受信の中断が検出されないという問題????

0 投票する
3 に答える
2365 参照

stm32 - STM32/CC1120 にワイヤレス m-bus プロトコルを実装する

STM32/CC1120 システムにワイヤレス m-bus プロトコルを実装しようとしていますが、wmbus の動作原理や実装例に関する有用なドキュメントが見つかりません。誰か、チュートリアル/ドキュメント/仕様を見つけるのを手伝ってくれませんか? ありがとう :)

0 投票する
1 に答える
15711 参照

sensors - 外部温度センサーがSTM32F207VCに接続されているときにEXTI0割り込みを生成する

STM32F207VC コントローラーを使用しています。外部プローブ温度センサーを stm32 の内部 ADC チャネルの 1 つに接続しています。

これがコントローラーに接続されているときに外部割り込みを生成したいので、外部温度センサーから測定を開始する必要があります。

誰でも私にコードまたはこれに関する助けを提供してください

ありがとう

0 投票する
2 に答える
1358 参照

user-interface - 組み込みGUI-GWENに似ていますか?

既存のRTOSを備えたタッチスクリーン付きTFTLCDなど、さまざまなLCDを使用するためのライブラリを作成しました。ライブラリには、線の描画、円、フォントのレンダリングなど、すべての高レベルのルーチンが含まれています。

ここで、ライブラリをより便利にし、ユーザーがボタン、スライダー、ラジオボタン、およびその他すべての従来のGUI要素を作成できるように小さなGUIツールキットを提供したいと思います。かなりうまく機能するGWENがあります。

私の質問:私の目的のために使いやすいGWENのような無料のオープンソースライブラリはありますか?イベント処理などの内部全体を実装する必要があるため、Qtのようなものを取得することはできません。また、RTOSはPOSIXをサポートする必要があります。私は本当にGUI要素が欲しいだけです。それ以上は何もありません。非常に軽量で、すべての高レベルクラスのみを実装する必要があります。STM32F1(100kB未満のRAMを搭載したARM Cortex-M3)などの小型マイクロコントローラーで実行することが想定されているため、可能な限り軽量にする必要があります。

0 投票する
1 に答える
4320 参照

upgrade - STM32 でファームウェアをアップグレードする方法は?

みなさん、こんにちは。

ばかげた質問かもしれないと思います。

STM32F2XXXシリーズのコントローラを使用しています。ファームウェアをアップグレードしたいです。新しいファームウェアはコントローラーの RAM に保存されます。

この新しいファームウェアを使用してデバイスのファームウェアをアップグレードしたい場合、ブートローダー コードで行う必要がある変更は何ですか?

ありがとう

0 投票する
0 に答える
1272 参照

eclipse - elf ファイルにデバッグ情報が含まれていると、Eclipse で「シンボル テーブルがロードされていません」というメッセージが表示される

私は STM32 プロセッサに取り組んでいます。readelf -w を使用すると、elf ファイルから大量のデバッグ情報を抽出できました。出力の短い部分を以下に示します。

dwarfdump は、デバッグ情報が elf ファイルで利用可能であることも確認します。

次のソフトウェア パッケージを使用しています: Eclipse Juno arm-2011.03/bin/arm-none-eabi-gdb OpenOCD および JTAG キー

elf ファイルを生成したら、それを STM32 プロセッサに焼き付け、Eclipse でデバッグ セッションを開始します。JTAG は起動と停止ができたので、OpenOCD デーモンで問題ないと思います。「シンボルテーブルがロードされていません」という事実のため、ブレークポイントを設定できません。私が気付いたのは、「変数/ブレークポイント/レジスタ/モジュール」ウィンドウの中で、ロードされたelfファイルを示すモジュールタブに次の詳細が含まれていることです: タイプ: 実行可能シンボル: ロードされていないシンボルファイル: BuildResult.elf

デバッグ構成->スタートアップタブで、「イメージの読み込み/シンボルの読み込み」をチェック/チェック解除しても違いはありません。eclipse が elf ファイルに含まれるシンボル情報をどのようにデバッグ プロセスにロードするのか疑問に思っています。

提案、ヒントは大歓迎です。

0 投票する
3 に答える
18234 参照

stm32 - Keil STM32 を使用してビルド中に未定義のシンボル SystemInit (startup_stm32f2xx.o から参照)

STM32F207VC コントローラーを使用しています。uvision4 IDE を使用しています。単純なコードをコンパイルしようとすると、エラー tst1.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f2xx.o) が表示されます。. プロジェクト ディレクトリに stm32f2x ファイルを配置しました。

しかし、それでも同じ問題です。

これを解決するのを手伝ってください。

ありがとう