问题标签 [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.

0 投票
0 回答
108 浏览

linux - busybox 选项总是(新)

我遇到的问题是,每次我更改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 文件之间传输,但那个特别不是?我对配置构建系统知之甚少,无法找到答案。

0 投票
0 回答
47 浏览

sockets - 使用 FPGA UCLINUX SOCKET 和 Python 套接字的可能差异

我正在研究altera FPGA,并在uclinux上编写了一个客户端应用程序。我还用 Python 编写了服务器客户端应用程序。我的 FPGA 客户端能够与 Python 服务器连接,但是当服务器放置在通过多个路由器的远程位置时,它无法连接。

如果有人知道可能的错误在哪里以及调试问题的方法

0 投票
2 回答
34054 浏览

linux - 如何将我自己的软件添加到 Buildroot Linux 包中?

我正在尝试将自己的程序添加到使用 Buildroot 创建的小型 linux 中。到目前为止我所做的:

  • 我在“buildroot/package/”中创建了一个名为“HelloWorld”的新目录。在 'buildroot/package/HelloWorld' 我有:一个 Config.in、HelloWorld.mk 和 HelloWorld 目录。 Config.in持有这个:

HelloWorld.mk 持有这个:

(灵感来源) HelloWorld 目录包含:main.c & Makefile:

主.c:

生成文件:

编辑:而且我还添加了源“package/HelloWorld/Config.in”到“package/Config.in”但是当我挂载我的 rootfs.ext2 分区时,我在 /usr/bin 中找不到我的 HelloWorld 可执行文件......,我对此真的很陌生,没有任何先验知识,所以请你向我解释一下,我错过了什么,因为我确定我做错了什么。

更新:该程序在所需位置构建和安装,但是当我尝试像这样运行它时:./helloworld,我得到:bash: ./helloworld: No such file or directory它具有执行权限。它有什么问题?(我将rootfs.ext2挂载到ubuntu目录后尝试运行它,buildroot的目标arch是i386,所以应该没问题,对吧?)

在构建和安装 HelloWorld 程序并最终运行它之后,我想添加到 init.d 以便它在启动后启动,并将 HelloWorld 替换为不需要 X 服务器的 Qt Window,就像这里的东西.

灵感的主要来源在这里

0 投票
1 回答
432 浏览

linux - 交叉编译时 ucLinux libbzip2 reloc 类型错误

我一直在尝试编译包含 libCurl 的 ucLinux,但是任何时候我在配置中包含 curl 时都会在尝试编译 libbzip2 时出错。

我正在为冷火 68K 处理器交叉编译它。

它说 PIC 不支持重定位类型,但我不知道如何解决这个问题。我的印象是所有的库都需要编译为 PIC。

这是输出:

0 投票
1 回答
188 浏览

sockets - Blackfin uClinux 套接字创建失败

我的客户有一个旧版本的 uClinux,内核 2.6.22,在 Blackfin STAMP 板上运行。主应用程序分为 14 个进程,另外还有一个网络服务器在板上运行。

我们看到的错误是,网络服务器一直在愉快地运行,而 VOIP 应用程序似乎用完了文件句柄并且无法创建新的套接字。我已经尝试了我所知道的所有调试技术。我有一个 JTAG 调试器,但内存对于调试符号来说太小了。我不能用 Valgrind 或类似的东西编译。有什么猜测吗?

谢谢,

麦克风

0 投票
1 回答
1698 浏览

gcc - --disable - 在 gcc 编译器中共享

我是这个网站的新手。我使用的编译器是 --disable -shared。但我需要创建 .so 文件。在创建 .so 文件时我收到此错误

错误:没有为可加载部分指定内存区域

我应该如何克服这个错误。

0 投票
1 回答
3712 浏览

c - 如何使用用户空间的ioremap()api在uClinux中读取和写入SPI闪存上的寄存器

我正在编写一个示例应用程序,用于读取寄存器并在给定的 SPI 设备地址上写入特定值。

我正在使用altera spi 1.0 驱动程序并在注册spi 设备时将基地址设为0xE5002460。

我想使用 ioremap 调用从用户空间读取/写入来自 SPI Flash 的寄存器。

是否有任何代码片段或任何关于如何使用 ioremap 函数的示例,该函数可以直接从给定的基地址读取寄存器的值,而无需为此编写任何特定的驱动程序?

0 投票
1 回答
186 浏览

assembly - uclibc for i386架构中系统调用相关的asm代码是什么意思

谁知道下面asm代码的意思

有人可以向我解释一下吗 %2 表示 asm 输入和输出中的第三个参数,所以 %k2 表示 .L__X bpushl 和 bmovl 的含义和含义似乎对 ia32 没有这样的说明

0 投票
3 回答
3721 浏览

linux - uclinux - 与 libc.so.0 库的链接

我正在尝试为带有运行 uClinux 的 ARM 处理器的嵌入式系统编译“hello world”C 应用程序。我正在使用这个工具链

当我使用 -static 编译标志编译 C 应用程序时,应用程序工作正常。当我删除 -static 标志时 - 我收到一个错误:can't load library 'libc.so.6'

目标上不存在 libc.so.6,进入目标设备上的 /lib 文件夹,符号链接 libc.so.0 指向 libuClibc-0.9.33.2.so

我如何“告诉”编译器与 libc.so.0 链接?

0 投票
1 回答
6301 浏览

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在编译文件时使用,但即使这样也没有帮助我。同样的错误出来。:(

我已经把sysroot路径放到目标机器的 GCC 的 sysroot 路径

生成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 后这是输出。