问题标签 [uclibc]
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.
embedded - lpc1788 cortex m3 与 uclinux 的中断处理
我是 uclinux 设备驱动程序的新手,请指导我如何做到这一点..
假设我已将开关连接到其中一个皮质 m3 控制器引脚,并且每当切换开关时,按下连接到控制器其他引脚的 LED 以点亮。
如何编写驱动程序和注册驱动程序以及如何从用户空间访问驱动程序......??
请用一个简单的例子来解释我。
c - 没有libiconv的C字符串编码UTF8
我知道大多数语言都回答了这个问题,但我还没有找到 C 的解决方案,或者我误解了一些东西。
我已经声明了一个“char *strSSID”。我在处理表单页面的 POST 参数的 Web 服务器中有一个函数。此函数在“srtSSID”中返回一个名为 SSID 的参数,用于配置无线的 SSID 名称。但问题是 SSID 中的特殊字符(如“ñ”)在 Linux 上可以正常看到,而在我的手机或 Windows 上则可以看到奇怪的字符。
我知道问题是编码。在我的平台(mips 和 uclibc 库)中,像“ñ”这样的特殊字符存储在两个位置(我的意思是例如“srtSSID[0]”和“strSSID[1]”来存储 SSID 的第一个“ñ”字符) 的 strSSID。
我需要一些帮助。
谢谢
c - memcpy 调用中的内存错误
我在调用时面临“内存故障”:
这是一段代码:
mymsg 是一个指向结构的指针:
味精_T:
MAX_SEND_SIZE = 4096
, value 是一个 (void *)char *string 包含 "" (\0 或空链) 和 size = 4096,所以我不明白为什么我会遇到内存错误。我检查没有内存重叠。这是执行的输出:
我还没有发现这里什么样的条件会导致分段,因为所有内存都已分配好,值为空字符串并且没有内存重叠。
我有时只会出现内存错误(它似乎是随机的),而其他时候进程会执行并退出而没有错误。
c - 使用 GCC/binutils 的符号别名间歇性工作
我正在开发一些在有限时间内运行裸机的软件,直到 Linux 端口准备好迎接黄金时段。该软件正在与提供 malloc、clock_gettime 等实现的 uClibc 链接,但问题是它们都依赖于只会捕获硬件的系统调用,因为我们还没有内核来处理它们。
我一直在使用别名来覆盖我们需要的函数,即 our_mem.c:
问题是这似乎有点随机。我可以有一个构建,其中所有调用都正确别名,在下一个构建中,我修改了不相关文件中的某些内容,它突然工作到一个点,然后其中一个调用转到 uClibc malloc。起初我认为这是链接顺序的问题,但是构建系统总是以相同的顺序链接,并且相同的调用将在一个构建中工作并在下一个构建中失败。二进制文件(显然)是静态链接的。
我不确定这到底是如何使用别名的,因为我没有找到太多关于它的文档,但几年前我已经在 malloc 和朋友(也使用 uClibc)上成功使用了这种技术,然后它一直工作.
gcc - GCC-GNAT Ada 交叉编译器 (Debian/glibc -> AlpineLinux/uclibc)
我编译了一个 GCC 4.8.1 交叉编译器(BUILD/HOST:debian/glibc,TARGET:alpinelinux/uclibc)。C 编译器运行良好,但 Ada 暂时无法运行。
/home/juan/GCC/obj/gcc/ada/rts/adaint.c:http://nopaste.info/ffcb612692.html _ _
/usr/include/sched.h:http://nopaste.info/5332aed42a.html /usr/include/bits/sched.h:http://nopaste.info/46323ab5d8.html _
_ _ _
/opt/alpine/usr/include/sched.h:http://nopaste.info/998896bafe.html /opt/alpine/usr/include/bits/sched.h:http://nopaste.info/e8cfbd2844.html _
_ _ _
有人知道,怎么了?
正在发生的事情的更详细的输出:
timezone - glibc 到 uclibc 时区映射文件
我遇到了一个从 glibc 到 uclibc 的时区字符串的映射文件。它看起来像这样:
非洲/阿比让=GMT0
非洲/阿克拉=GMT0
非洲/亚的斯亚贝巴=EAT-3
非洲/阿尔及尔=CET-1
...
这个文件已经很老了(4 年),并且在 glibc 上添加了几个新的 TimeZone。但是,我找不到最新的映射文件。映射文件有 451 个条目,因为这些天支持的总时区字符串超过 900 个。是否有相同的更新映射文件?
c - 由于缺少类型,构建 uclibc linux 3.10-2 (Debian jessie x86_64) 失败
我正在尝试使用 linux 内核 3.10-2-amd64 在 x86_64 上构建 uClibc 0.9.27 [1] 。我可以验证它是在 Ubuntu 12.04.3 上使用 3.2.0-49-generic 内核构建的。运行 make 时,它设法构建了很多目标文件,但最终到达CC libc/inet/if_index.os
,抱怨
我验证了我收集的文件中存在的类型应该被吸入。在 的情况下__kernel_long_t
,包含文件如下所示:
那么,该错误来自哪里,我该如何解决?
[1]是的,我知道最新版本是 0.9.33.2,但我需要那个特定版本。
c - 获取 malloc 合并错误的示例程序
我想先在我的 PC 上测试 mcheck 功能以检测 malloc 合并错误。这样,我确信这将有助于找出嵌入式 Linux 机器上的类似崩溃。不幸的是,崩溃至少需要 3-4 天。因此,我正在寻找一个示例程序,它会产生类似的崩溃,如下所示。
c - libical的交叉编译
我正在尝试将 libical 移植到基于 arm 的平台,但编译时出错。这是我的构建步骤的结果:
$ ./configure --prefix=/opt/libical --build=i686-gnu-linux --host=arm-merlin-linux-uclibc
到目前为止对我来说看起来不错。现在正在建设。
$ make
构建环境是 Debian 6 挤压:
uname -a
Linux 2.6.32-5-686 #1 SMP Sun Sep 23 09:49:36 UTC 2012 i686 GNU/Linux
编译器版本为 4.2.1
源/构建脚本是否有错误?依赖问题?如何解决这个问题?如果有 libical 的替代方案,只要它是用 c 或 c++ 编写的,它也可以。
linux - 当 ipv6 通信失败时回退 ipv4 机制
我有一些问题要理解与网络通信中的后备机制有关的问题。
设置:带有 uclibc 和 busybox 的嵌入式设备 (mips)
我是 ipv6 地址的客户。我需要联系 xxx.com 上的服务。当我使用 nslookup 测试我的服务的主机名时。我得到了两个结果,一个 ipv4 和一个 ipv6 地址。所以我有两种方法可以联系我的服务器。
据我了解,我得到了这个结果,这要归功于 dns 机制,它读取了我的 resolv.conf 文件并通过套接字联系 dns 服务器以获取与请求的主机名相关联的 ip
测试:我运行 ping6 -I eth0 myservice.com
感谢 strace,我看到了这个命令。结果是:
由于某种原因,我无法通过 ipv6 Y:Y:Y:Y:Y:Y:Y:Y 联系服务器 myservice。在我看来,当 ipv6 方式失败时,有一种备用机制允许我通过 ipv4 联系我的服务器。不幸的是,正如您所见,在 ipv6 尝试之后,我看不到任何 ipv4 尝试。
问题:获得这种当前行为是否正常?必须在哪里实施这种回退机制?在我的 ping 代码端的忙箱内。感谢 dns 机制在 uclibc 内部?别的地方 ?
谢谢,亚瑟。