問題タブ [uclinux]
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.
linux - busybox オプションは常に (NEW)
私が抱えている問題は、busybox 構成設定を (menuconfig を使用して) 変更するたびに、ビルド中に同じ質問が表示されることです。
デフォルトのベンダー設定を更新すると、busybox の .config ファイルの値がベンダー ファイルに書き込まれます。たとえば、 を変更するCONFIG_UDHCPC=y
と、ベンダーの構成ファイル (vendors/MyCo/MyProd/config.vendor-xxx) が で更新されCONFIG_USER_BUSYBOX_UDHCPC=y
ます。
CONFIG_UDHCPC_ZEROCONF
これは、オプションでは発生しません。ベンダー構成ファイルに手動で追加しようとしCONFIG_USER_BUSYBOX_UDHCPC_ZEROCONF=y
ましたが、それでも質問されます。
私の質問は、.config ファイルと config.vendor ファイルの間で他のオプションがどのように転送されているかということですが、特にそのオプションはそうではありませんか? 答えを見つけるには、構成ビルドシステムについて十分に知りません。
linux - 独自のソフトウェアを Buildroot Linux パッケージに追加するにはどうすればよいですか?
Buildroot で作成した小さな Linux に独自のプログラムを追加しようとしています。私がこれまでに行ったこと:
「buildroot/package/」内に「HelloWorld」という新しいディレクトリを作成しました。「buildroot/package/HelloWorld」内には、Config.in、HelloWorld.mk、および HelloWorld ディレクトリがあります。 Config.inはこれを保持します:
HelloWorld.mk はこれを保持します:
(インスピレーション源) HelloWorld ディレクトリには、main.c と Makefile が含まれています。
main.c :
メイクファイル:
編集:そして、ソース「package/HelloWorld/Config.in」も「package/Config.in」に追加しましたが、rootfs.ext2 パーティションをマウントすると、/usr/bin 内に HelloWorld 実行可能ファイルが見つかりません..、私はこれに本当に慣れておらず、予備知識がないので、何か間違ったことをしていると確信しているので、これに何が欠けているのか説明してください。
更新:プログラムはビルドされ、目的の場所にインストールされますが、次のように実行しようとすると、次のよう./helloworld
になります: bash: ./helloworld: No such file or directory
It has execution rights. 何が問題なのですか?(rootfs.ext2 を ubuntu ディレクトリにマウントしてから実行しようとしましたが、buildroot のターゲット アーキテクチャは i386 なので、問題ないはずですよね?)
HelloWorld プログラムをビルドしてインストールし、最終的に実行した後、起動後に起動するように init.d に追加し、HelloWorld を X サーバーを必要としない Qt Window に置き換えたいと思います。 .
インスピレーションの主な源はここにあります。
sockets - Blackfin uClinux ソケット作成の失敗
私のクライアントには、Blackfin STAMP ボードで実行されている古いバージョンの uClinux、カーネル 2.6.22 があります。メイン アプリケーションは 14 のプロセスに分割され、さらに、ボード上で実行されている Web サーバーがあります。
私たちが目にしているバグは、VOIP アプリケーションがファイル ハンドルを使い果たし、新しいソケットを作成できないように見える一方で、Web サーバーは正常に動作し続けることです。私が知っているすべてのデバッグ手法を試しました。JTAG デバッガーを使用していますが、デバッグ シンボルに対してメモリが小さすぎます。Valgrind などでコンパイルできません。推測はありますか?
ありがとう、
マイク
c - ユーザー空間から ioremap() API を使用して、uClinux で SPI フラッシュ メモリのレジスタを読み書きする方法
レジスタを読み取り、特定の SPI デバイス アドレスに特定の値を書き込むために使用する 1 つのサンプル アプリケーションを作成しています。
Altera spi 1.0 ドライバーを使用しており、spi デバイスの登録中にベース アドレスを 0xE5002460 として取得しました。
ioremap 呼び出しを使用して、ユーザー空間から SPI フラッシュのレジスタを読み書きしたいと考えています。
そのための特定のドライバーを作成せずに、指定されたベースアドレスからレジスターの値を直接読み取ることができる ioremap 関数の使用方法に関するコードスニペットまたは例はありますか?
assembly - i386 アーキテクチャの uclibc の syscall 関連の asm コードの意味は何ですか?
次のasmコードの意味を知っている人
誰かが私にこれを説明できますか%2はasm入力と出力の3番目のパラメータを意味するので、%k2は.L__X bpushlとbmovlの意味と意味を意味し、bmovlはia32のそのような命令ではないようです
linux - クロス コンパイル エラーでライブラリ 'libc.so.6' を読み込めません
liblog.so
i386 コントローラーで実行される動的ライブラリー ( ) を実装しようとしています。
それをコンパイルすると、ファイルが正常
Host Machine (Ubuntu Machine)
にコンパイルおよび生成されます。ターゲットマシンに配置されるファイルです。.so
liblog.so
/usr/lib
ホストマシンで出力。
ターゲット マシンでの出力:
ターゲット マシン (現在は VMware) に送信すると、実行すると [
はい].\log_client
と表示されます。can't load library 'libc.so.6'
log_client
liblog.so
コンパイル コマンド
生成中liblog.so
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -c log.c -o liblog.o
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -shared -o liblog.so liblog.o -rdynamic -lcrypto -lssl
生成中log_client
cp liblog.so ../../../../build/i386/buildroot-2011.11/output/target/usr/lib
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -c log_client.c
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -o log_client log_client.o -llog -rdynamic -lcrypto -lssl
動作している他のコードに同じ手順を使用していますが、そのコードはこのカスタマイズされたライブラリ ( liblog.so
) を使用していませんが、警告もありましたが、ここには投稿しませんでした。私を助けてください、私はイライラしています!!
------------編集----------
file
出力
------------更新----------
--sysroot
ファイルのコンパイル中に使用するよう提案された人もいましたが、それでも役に立ちませんでした。同じエラーが出ます。:(
ターゲット マシンの GCC のsysrootsysroot
パスへのパスを入力しました
生成中liblog.so
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -c log.c -o liblog.o --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -shared -o liblog.so liblog.o -rdynamic -lcrypto -lssl --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
生成中log_client
cp liblog.so ../../../../build/i386/buildroot-2011.11/output/target/usr/lib
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -c log_client.c --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -o log_client log_client.o -llog -rdynamic -lcrypto -lssl --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
アップデート
objdump の実行後 これが出力です。