問題タブ [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.
c - STM32 - DWT サイクル カウンターを有効にする方法
STM32F7-Discovery ボードを使用していますが、DWT サイクル カウンターを有効にしようとして行き詰まりました。私がオンラインで見たものから、これはそれを有効にするのに十分なはずです:
ただし、そのコードを実行するたびに、値が変更されないか、操作がスキップされます (何が起こっているのかよくわかりません)。
私はメモリ内のアドレスへのポインタを作成し、それらを直接変更しようとしましたが、どちらも役に立ちませんでした。元:
現在、私が得た唯一の方法は、Visual Studios (VisualGDB を使用) でデバッガーをステップスルーするときです。DWT->CTRL の値を ON 値に変更すると、サイクルカウンターが開始されます。それとは別に、コードで変更する値を取得できないようです。
編集:これらのコード行がタスクを実行していないだけでなく、クラッシュして続行していないという動作を引き起こしている可能性があります。
これらのコード行を実行した後、それらのメモリ位置のすべての値は同じままであり、実行されるはずの操作で変更されません。
例:
DWT->CTRL の値になるはず0x40000001
ですが、デフォルト値のままです0x40000000
以下の図は、実行時に何が起こっているかの例です。
c - Cortex m7 でのクロック サイクル カウントの測定
私は、cortex m4 でクロック サイクル カウントを測定してきましたが、今度は cortex m7 で測定したいと考えています。私が使用するボードは STM32F746ZG です。
m4の場合、すべてが機能しました:
問題は、m7 で実行したときに DWT_CTRL レジスタが変更されず、0x40000001 に変更される代わりに 0x40000000 のままであるため、サイクル カウントが常にゼロになることです。私が他の投稿で読んだことから、DWT_CTRL を変更できるようにするには、FP_LAR レジスタを 0xC5ACCE55 に設定する必要があるようです。
これらの定義を追加しました (以下の両方の FP_LAR_PTR アドレスを試しました):
そしてこの機能:
コメント解除された print を呼び出すと 0xC5ACCE55 が返されますが、関数が返された後にそれを出力すると 0x00000000 が返され、その理由がわかりません。私は正しい軌道に乗っていますか、それとも完全に間違っていますか?
編集:関数に余分なコードをすべて入れずに試し、LARレジスタのみを変更しようとしたことにも言及するのは良いことだと思います。
BR グスタフ
flash - QStlink2 で STM32F745 をフラッシュすると失敗しますが、stlink-gui では機能します
私が使用しているツールセット (linux,eclipse,arm,gcc-arm-none-eabi) は、QStlink2 でフラッシュする場合、stm32f4xx でうまく機能します。
stm32f745 を使用する新しいプロジェクトの場合、生成された .bin ファイルをフラッシュするレベルでこれが何らかの形で失敗していることがわかります。stlink-gui を使用してフラッシュすると、すべて正常に動作するため、.bin ファイル自体は問題ありません。したがって、問題は QStlink2 にあるようです
現時点では立ち往生していませんが、これをここに投稿して、他の誰かが同じ問題を抱えているかどうかを確認したかったのですか? QStlink ページにも投稿します。
ツールを実行すると、次の出力が得られます (これが長すぎる場合は申し訳ありません)。
makefile - リンカー スクリプトから 2 つの出力を生成する
STM32F746G-Discovery Board には、読み取り専用データを保存するために使用したい Quad-SPI NOR デバイスがあります。
したがって、リンカー ファイルが F746G フラッシュ用の ELF ファイルと、NOR をプログラムするための HEX ファイルを生成することが理想的です。
次に、STM32 ST-LINK Utility を使用してターゲットをプログラムし、External Loader を使用して NOR をプログラムします。
誰でも親切にこれを行う方法を教えてもらえますか?
stm32 - STM32F746 ボードに uclinux をインストールする
私はSTM32F746
ボードを持っていて、そこに uclinux をインストールしたいと思っています。emcraft サイトから画像をダウンロードu-boot-stm32f746-discovery.bin
しました。これで、ST-Link ユーティリティを使用して u-boot をフラッシュしました。しかし、networking.uImage をどうすればよいかわかりません。内蔵フラッシュでも発光させるべきですか?それともSDカードで?シリアル ポートはなく、USB とイーサネットしかなく、Windows 10 を使用しています。役に立つリンクやチュートリアルは大歓迎です。networking.uImage