问题标签 [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 投票
1 回答
1019 浏览

c++ - QML 在 uclinux 上运行 Qt for Embedded System?

我只使用在 Mac 和 Windows 上运行的 Qt 5.1.1 编写 QML 应用程序。

有人知道uclinux中集成的Qt for Embedded System是什么版本吗?

uclinux 上的 Qt 是否支持 QML?我是否需要在 C++ 中使用 Qt 小部件重新实现 UI 才能在 uclinux 上运行它?

0 投票
1 回答
9286 浏览

asterisk - Asterisk 在所有通话中都忽略 DTMF - 不能使用按键功能

ATCOM IP01 上 uClinux 下的 Asterisk 1.4.21.2。(编辑:顺便说一句,我认为不可能在 uClinux 上将 Asterisk 升级到 1.4 的更新版本,但如果有人知道方法,我很想知道。但我认为问题不在于特定于版本。)

里面的featuremapfeatures.conf如下,但是通话过程中按键是没有效果的。

CLI显示配置的featuremap已经生效:

使用各种不同的手机(Grandstream BT-200、Panasonic KX-TGP500、X-Lite 4),但总是同样的问题。所有电话配置为使用 rfc2833,这是 Asterisk 的默认 DTMF 模式;还尝试在 sip.conf 中显式设置 dtmfmode=rfc2833。

在通话过程中按下的任何键都不会得到 Asterisk 的任何响应。当不在通话中(在拨号方案中,或在语音邮件中)时,Asterisk 总是能识别*和键。#

full => verbose,debug,dtmf如果使用或开启 DTMF 记录full => verbose,error,warning,dtmf,尽管在通话过程中按了许多键,但日志中不会出现 DTMF 条目。

问题可能是什么?


编辑:现在有附加信息,显示拨号计划中使用的拨号命令。

编辑:我发现在不使用 ael 宏的情况下问题仍然存在,只需exten=261,1,Dial(SIP/261)在 extensions.conf 中。所以我已经从问题中删除了 ael 来整理它。

我现在尝试在 sip.conf 中添加canreinvite = norelaxdtmf=yes,但问题仍然存在。

我现在还发现 DTMF 记录确实发生在ZAP通道上的呼叫期间(与我之前尝试过的 SIP 通道相反)。但是 DTMF 仍然不会触发这些功能。示例 DTMF 日志如下。

0 投票
1 回答
478 浏览

voice-recognition - 我正在尝试实现运行 uClinux 的 Pocketsphinx,但我不断收到“电话在声学模型中丢失”错误

我正在尝试在运行uClinux的微控制器上运行Pocketsphinx,我已经在控制器上安装了 pocketsphinx,但我不断收到关于声学模型和定义的几个不同错误。我目前面临的是:

“电话……在声学模型中丢失”

用所有可能的语音组合替换 ...。它从 A 开始,然后是 AE,然后进展到 B 等等。

我正在尝试将.wav文件作为输入,因此这是我用来运行软件的命令:

有没有人遇到过这个问题?如果是这样,您知道解决方法吗?

0 投票
1 回答
574 浏览

c - timer_settime 在 uClinux 上的 pthread 中调用处理函数

我有以下从 pthread_create 调用的函数。这个函数做了一些工作,设置一个定时器,做一些其他的工作,然后等待定时器到期,然后再次执行循环。但是,在计时器第一次运行时,它到期后程序退出,我不完全确定为什么。它不应该离开无限的while循环。主线程从该线程中不访问任何内容,反之亦然(目前)。

我的猜测是我可能没有正确设置线程,或者计时器没有正确调用处理函数。也许从线程更改 IDLE 全局变量会导致问题。

我想在没有信号的情况下调用处理程序,因此使用 SIGEV_THREAD_ID。无论如何,我在主线程中使用 SIGUSRx 信号。关于我在这里开始的任何想法可能有什么问题?

0 投票
1 回答
545 浏览

assembly - 汇编指令 .extern 在 uclibc-gcc 中的使用

我尝试在 .S 程序中使用 .c 文件中定义的变量。

在 .c 文件中:

在 .S 文件中:

它可以编译。但是在执行时,会出现错误消息“无法修改应用程序的文本部分;使用 GCC 选项 -fPIE 执行与位置无关的可执行文件。”

交叉编译工具是 arm-v7-linux-uclibceabi-gcc。目标是ARM cortex R4。

不能这样使用“.extern”吗?

谢谢,西米斯。

0 投票
1 回答
970 浏览

embedded - 如何使用 arm2010q1 工具链在 buildroot 上为 ucLinux 构建 FLAT 用户空间二进制文件

我有一个基于 ucLinux 内核 2.6.33 的不带 MMU 的 cortex-M3 的 buildroot 系统。内核中启用了对 FLAT、ZFLAT、SHARED_FLAT 的支持。在 buildroot 内部,所有内容都设置为 M3 等。我有一个带有工作内核和 busybox 的工作系统(在用户空间中只能是二进制文件)。系统或任何其他库上没有 uClibc。我正在尝试像这样构建最简单的用户空间应用程序:main(){}

我尝试了不同的标志。最新的组合是这样的:

^[[7m>>> zpm_t 1.0 构建^[[27m /usr/bin/make -j5 FLAGS="-c -mthumb -march=armv7 -mfix-cortex-m3-ldrd" EXTRA_LDFLAGS="-Wl,-elf2flt ,--static" CC="/mnt/repos/repos/github/nocturn_buildroot/output/host/usr/bin/ccache /mnt/repos/repos/github/nocturn_buildroot/output/host/usr/bin/arm-uclinuxeabi -gcc" LD="/mnt/repos/repos/github/nocturn_buildroot/output/host/usr/bin/arm-uclinuxeabi-ld" HEADERS="-I/mnt/repos/repos/github/nocturn_buildroot/output/target /usr/include/SDL" LIBS="-L/mnt/repos/repos/github/nocturn_buildroot/../nocturn_tools/arm-2010q1/arm-uclinuxeabi/libc/usr/lib" -C /mnt/repos/repos /github/nocturn_buildroot/output/build/zpm_t-1.0 all make[1]:进入目录/mnt/repos/repos/github/nocturn_buildroot/output/build/zpm_t-1.0' /mnt/repos/repos/github/nocturn_buildroot/output/host/usr/bin/ccache /mnt/repos/repos/github/nocturn_buildroot/output/host/usr/bin/arm-uclinuxeabi-gcc -c -mthumb -march=armv7 -mfix-cortex-m3-ldrd -I/mnt/repos/repos/github/nocturn_buildroot/output/target/usr/include/SDL t.c /mnt/repos/repos/github/nocturn_buildroot/output/host/usr/bin/ccache /mnt/repos/repos/github/nocturn_buildroot/output/host/usr/bin/arm-uclinuxeabi-gcc -Wl,-elf2flt,--static t.o -L/mnt/repos/repos/github/nocturn_buildroot/../nocturn_tools/arm-2010q1/arm-uclinuxeabi/libc/usr/lib -o t make[1]: Leaving directory/mnt/repos/repos/github/nocturn_buildroot/output/build/zpm_t-1.0'

平面文件似乎没问题:

但是在系统上我总是有一个不那么有用的段错误:

我错过了什么?这应该是非常简单的事情。另外 - 如何处理 uClibc?它应该被编译成每个二进制可执行文件还是我应该以某种方式将它放在系统上?

0 投票
1 回答
261 浏览

arm - 带有 uclinux 和 uclibc 的 Cortex-M3 上未处理的 MPU 故障

这是一个很难的问题,但我希望有人能提供帮助;)

这是我从最简单的应用程序中遇到的崩溃,它只调用 pthread_create():

这是我通过剖析应用程序从 objdump 得到的信息:

所以我们试图将值 0x5000 保存到地址 0xa001cff4 并且有一个异常:

所以它似乎是一个有效的物理 RAM 区域,地址 0xa001cff4 似乎也有效。现在这对我来说很奇怪,为什么在内核异常中它说大约 0x00000000 以及这个异常意味着什么。

另外我想说单线程应用程序运行良好,并且在为新线程分配堆栈期间遇到了这些 MPU 问题。但是我现在想了解的是 - 为什么是 MPU 故障以及它如何在有效地址上失败。

0 投票
1 回答
2427 浏览

dhcp - busybox udhcpc 收到 NAK

我有一块带有 LPC1788、32Mbyte SDRAM、128 Mbyte Nand 闪存的定制板,频率为 108Mhz。我下载了 emcraft uclinux 和网络项目。

问题是busybox udhcpc 命令:

u-boot 不发送 bootargs 网络选项。udhcpc 总是收到 NAK

这是默认脚本:

192.168.0.27 是我路由器的正确 IP 地址,但为什么收到 nak?为什么不工作udhcpc,这是我没有修改的默认项目,我不明白。请给我一个建议!

0 投票
0 回答
258 浏览

qt - 如何在 uClinux 上为 ARM7TDMI-S 安装和配置 Qt?

首先,我在 Linux (Debian) 上安装、配置和编译了 Qt 5.3.2。我的简单 Qt 程序在 Linux 上编译并运行没有任何问题。

但它不适用于处理器 lpc2478 的 uClinux。

于是我安装了 QtEmbedded-linux-4.4.0 并做了下一个配置:

然后我做了makemake install

之后我的程序没有在 uClinux arm 上运行。我做错了什么?也许我使用了错误的编译器?

0 投票
1 回答
436 浏览

c - 使用带有 uclinux 和外部库的加密加速单元

我目前正在尝试找到最佳方法来集成我的 MCU 上的加密加速单元,以利用我的自定义应用程序以及我需要使用的外部 SSL/TLS 库中的性能提升。

我的平台运行带有 uCLinux 发行版的 Freescale Kinetis (ARM Cortex-M4) 设备。我目前已设法在用户空间中运行 mbed-TLS (Polar SSL)。我也可以从 WolfSSL 运行 CyASSL。我现在正在寻找在处理器上与我的应用程序一起运行“内存映射加密加速单元”(MMCAU)外围设备的最佳策略。代码本身应该不会太难集成,因为飞思卡尔提供了一个库,其中包含围绕汇编优化代码的 C 包装。棘手的一点是允许在用户应用程序和库中使用加密单元的中间件。

一种可能性是重写 linux 加密内核模块 (cryptodev),以便在我的用户应用程序中使用 MMCAU(这将有利于从多个用户应用程序访问 MMCAU,而我的平台不支持共享库)。但是我不确定这是最好的策略。此外,mbed-TLS 似乎不提供对本机 linux 加密驱动程序的支持。

这里提出了其他替代方案(http://cryptodev-linux.org/),但是,由于我不是真正的 linux 专家,我不确定在我的情况下什么是最好的解决方案。

欢迎就此处采用最佳策略以获得最灵活的解决方案同时仍受益于硬件加密的改进性能提出建议。