问题标签 [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 选项总是(新)
我遇到的问题是,每次我更改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 文件之间传输,但那个特别不是?我对配置构建系统知之甚少,无法找到答案。
sockets - 使用 FPGA UCLINUX SOCKET 和 Python 套接字的可能差异
我正在研究altera FPGA,并在uclinux上编写了一个客户端应用程序。我还用 Python 编写了服务器客户端应用程序。我的 FPGA 客户端能够与 Python 服务器连接,但是当服务器放置在通过多个路由器的远程位置时,它无法连接。
如果有人知道可能的错误在哪里以及调试问题的方法
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,就像这里的东西.
灵感的主要来源在这里。
linux - 交叉编译时 ucLinux libbzip2 reloc 类型错误
我一直在尝试编译包含 libCurl 的 ucLinux,但是任何时候我在配置中包含 curl 时都会在尝试编译 libbzip2 时出错。
我正在为冷火 68K 处理器交叉编译它。
它说 PIC 不支持重定位类型,但我不知道如何解决这个问题。我的印象是所有的库都需要编译为 PIC。
这是输出:
sockets - Blackfin uClinux 套接字创建失败
我的客户有一个旧版本的 uClinux,内核 2.6.22,在 Blackfin STAMP 板上运行。主应用程序分为 14 个进程,另外还有一个网络服务器在板上运行。
我们看到的错误是,网络服务器一直在愉快地运行,而 VOIP 应用程序似乎用完了文件句柄并且无法创建新的套接字。我已经尝试了我所知道的所有调试技术。我有一个 JTAG 调试器,但内存对于调试符号来说太小了。我不能用 Valgrind 或类似的东西编译。有什么猜测吗?
谢谢,
麦克风
gcc - --disable - 在 gcc 编译器中共享
我是这个网站的新手。我使用的编译器是 --disable -shared。但我需要创建 .so 文件。在创建 .so 文件时我收到此错误
错误:没有为可加载部分指定内存区域
我应该如何克服这个错误。
c - 如何使用用户空间的ioremap()api在uClinux中读取和写入SPI闪存上的寄存器
我正在编写一个示例应用程序,用于读取寄存器并在给定的 SPI 设备地址上写入特定值。
我正在使用altera spi 1.0 驱动程序并在注册spi 设备时将基地址设为0xE5002460。
我想使用 ioremap 调用从用户空间读取/写入来自 SPI Flash 的寄存器。
是否有任何代码片段或任何关于如何使用 ioremap 函数的示例,该函数可以直接从给定的基地址读取寄存器的值,而无需为此编写任何特定的驱动程序?
assembly - uclibc for i386架构中系统调用相关的asm代码是什么意思
谁知道下面asm代码的意思
有人可以向我解释一下吗 %2 表示 asm 输入和输出中的第三个参数,所以 %k2 表示 .L__X bpushl 和 bmovl 的含义和含义似乎对 ia32 没有这样的说明
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 链接?
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 后这是输出。