問題タブ [microblaze]
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++ - ザイリンクス Microblaze 構造のパディング/パッキング
私は2つの構造を持っています:
と:
sizeof(size1) = 4; sizeof(size2) = 12;
取得しようとしているサイズは size2 で 10 です。
num3 と st_size の間に 2 バイトのパディングを追加しています。 Microblaze コンパイラはプラグマ パックをサポートしていません。
属性((packed))を使用しようとしていますが、成功していません...
何が悪いのか、これがこのように機能するのかどうかはわかりません。
ありがとう
linux - どのLinuxカーネルコードが/sys/ devices / system / cpu / cpuXを作成しますか?
microblazeアーキテクチャ用のcpufreqドライバー(ロード可能なカーネルモジュールとして)を開発しています。オンシステムクロックをスケーリングできるFPGAロジックがいくつかあり、非常にうまく機能します。の情報に従い、Documentation/cpu-freq/cpu-drivers.txt
blackfincpufreqドライバーのモデルを確認しました。
arch/microblaze/Kconfig
また、cpufreqオプションを(モジュールではなく)カーネルに組み込むために必要な変更を加えました。
私が最初にドライバーをロードしたとき、cpufreq_register_driver()
-ENODEVを返していました。これは、CPUが見つからなかったことを意味します。ドライバフラグをCPUFREQ_STICKYに設定し、モジュールを挿入できました。
しかし、この時点で、私はそれ/sys/devices/system/cpu/cpu0
が存在しないことに気づきました(存在し/sys/devices/system/cpu/cpufreq
ますが)。それで、それはなぜですか?カーネルコードのどの部分がそのディレクトリの作成を担当していますか?
xilinx - ザイリンクス XPS: 選択に DIP スイッチを使用
別のモジュールで選択信号として DIP スイッチを使用しようとしています。したがって、DIP スイッチは外部コンポーネントです。
次のエラーが常に発生します。 : エラー: Xflow - プログラム ngdbuild がエラー コード 2 を返しました。フローの実行を中止しています... make: * [__xps/system_routed] エラー 1
XPS プロジェクトで DIP スイッチを使用するにはどうすればよいですか? 値を読み取るために Microblaze を使用したくありません。
c++ - MicroBlaze での C++ のスレッド セーフ
MicroBlaze 用のマルチスレッド C++ アプリケーションを作成したことのある人はいますか? ザイリンクスのドキュメントには、次のように記載されています。
EDK で提供される標準 C ライブラリは、マルチスレッド環境用に構築されていません。printf()、scanf() などの STDIO 関数、および malloc() や free() などのメモリ管理関数は、スレッドセーフではない関数の一般的な例です。マルチスレッド環境で C ライブラリを使用する場合、スレッドの安全でない関数を保護するために、適切な相互排除技術を使用する必要があります。
さらに、MicroBlaze GCC は、スレッド モデルが「シングル」であるとレポートします。
C++ 標準ライブラリ コンテナーを使用している場合、これは確かに安全ではありませんよね?
この単純な質問に対するザイリンクスからの回答を得ることさえ、私はかなりの時間を費やしています。それを修正する方法は言うまでもありません。これは、ザイリンクスが提供するビルド システムの大きな欠陥のようです。
gcc - Microblaze クロス コンパイル
gcc を使用してザイリンクスの microblaze プロセッサ用のベアメタル プログラムをコンパイルする方法を知っている人はいますか?
これはザイリンクス SDK で非常に簡単に実行できますが、現在、microblaze ビルドをより大きなビルド ワークフローに統合しようとしています。つまり、sdk GUI を使用せずに、すべてのコマンド ラインを実行できる必要があります。
ザイリンクスのサポートとサンプルのほとんどは、その SDK を中心にしています。彼らのサイトでの gnu ツールのサポートは限られているようですが、microblaze 用の Linux カーネルをコンパイルしたいユーザーに焦点を当てているようです。シンプルなベアメタル アプリケーションをコンパイルしたいだけです。
理想的には、私は次のようなことができるでしょう
最終的に microblaze 実行可能ファイルになります。
誰もこれを以前にやったことがありますか?誰か例を知っていますか?
c - lwip microblaze echo の例のカスタマイズ
エコーの例では、データをエコーバックするために同じパケットを再度送信するこの関数があります。ユーザーが送信するものは何でも固定データを送信するように変更したかったので、これを変更しました:
これに:
そして、アプリケーションを実行しても何もエコーバックしません。なぜですか?
udp - イーサネット経由で UDP パケットを fpga spartan 3e に送信します
microblaze を含む fpga に UDP パケットを送信したいと考えています。しかし、私はIPアドレスについて問題があります。fpga の IP アドレスはどこで取得できますか。
vhdl - ISE の Microblaze システムの .ucf ファイルの問題
わかりましたので、XPS から microblaze を追加し、topvhdl ファイルを生成し、ucf ファイルを追加しました。microblaze には 4 つの GPIO がありますが、topvhdl に inout として存在しますが、.ucf ファイルにそれらのピンを入れませんでしたが、できました。プロジェクトをコンパイルしてビットストリームを生成します。ここで、トップ vhdl のすべての GPIO ピンをコメント アウトし、示されているように、microblaze システムの GPIO を内部信号に接続しました。これでも問題は発生せず、ビットストリームを生成できました。問題の原因は、LEDの7つのポートをトップvhdlファイルの外部ピンに追加したときです(GPIOとは関係ありません)。GPIOピンでエラーが発生し始めました!!! コードは次のとおりです。
エラーメッセージ :