问题标签 [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 回答
1482 浏览

reset - NIOS II - 从软件重置 FPGA(重新加载 FPGA 配置,不只是重置处理器)

语境

我正在编写在 NIOS II 处理器上的 uClinux 中运行的代码。FPGA 是 Stratix II。FPGA 设计是由不再在公司工作的其他人完成的,我不是固件设计师,只是一个软件程序员。

问题

FPGA 在上电时从闪存设备加载其配置。我编写了一个重新编程闪存的应用程序,但我需要找到一种方法让它重新加载 FPGA 配置,我需要通过软件来完成。目前,让 FPGA 重新加载的唯一方法是循环供电,但这在客户的环境中是不可能的。

我正在编写的语言并不真正相关,足以说我可以轻松地写入已知地址的硬件寄存器,例如在 Tcl 中:nioswr32 $reg_addr $value我试图找到的是某种我可以的复位寄存器利用。也许是 JTAG 接口?我找到了对 JTAG_UART 的引用,但显然这只是为了通过 JTAG 提供控制台功能。也许有一个我可以弄乱的硬件看门狗定时器?

请注意,我不只是试图重置 NIOS 处理器。我可以使用busybox轻松做到这一点,但这不会重新加载FPGA固件。

下面是我的system.h标题的副本,我相信它是由 SOPC Builder 生成的,因此您可以查看可用的资源。

0 投票
2 回答
66 浏览

c - 没有先验知识的 TCP 绑定绑定的进程

在进一步阅读之前,以下内容仅适用于运行嵌入式 Linux 和经过大量修改的内核的 MMUless (cortex-m*) 部件。

我有一个非常具体的理由*问这个问题,但我认为这个问题一般来说更有趣:

0)这必然适用于我正在编写的特定服务,尽管任何扩展或抽象都会很有趣。

1)假设我是一个进程的实例化,并且我知道可能存在与我相同的进程的先前或未来实例化。我收到了一个唯一的** 参数,它告诉我我正在实例化i,其中i被限制为一组 [0 - ( N -1)] ,总共有N个可能的实例化。基于i,我能够向配置服务注册并请求有关 I(第i个实例化)必须如何表现的当前参数。此外,我使用i确定性地创建一个 TCP 端口,以及其他与此处无关的参数,我必须绑定到该端口。

所以,问题是只知道我想要的 TCP 端口(来自我的论点** i,无论是否相关),我怎么知道是否有任何其他进程绑定到同一个 TCP 端口?

当然可以处理失败的绑定,但是对于我的应用程序......以及一般的问题,在尝试绑定之前,对于已经绑定的端口,C 中最有效的测试是什么?或者更好地说,我想知道绑定是否会失败,而不是尝试绑定并处理失败。

*我正在使用某个库***和 nommu uC,当两个进程尝试绑定到同一个传输协议上的同一个端口时,这会导致所有的地狱——我不知道为什么,我没有时间弄清楚.

**我相信很少会出现某些情况,在这种情况下,两个实例可能会使用相同的参数异步生成,而该参数应该提供唯一和排他的标识;给定流程和系统架构,此流程的每个实例必须是连续的,因此是唯一的。如果启动具有相同参数的两个实例化,则一个实例必须以最少且受进程限制的逻辑和操作而死。

***我正在使用 uCLibc,但我提到的库有点晦涩难懂。

0 投票
0 回答
330 浏览

linux-device-driver - 未检测到 i2c-0 设备驱动程序

我是嵌入式 Linux 的初学者。我正在研究 Hitex LPC4350 评估板。我已经编写了一个代码来使用 I2C 在我的板上闪烁 LED。

我可以找到存在的设备驱动程序:

当我尝试加载我的模块时 - 我收到消息:

我有 i2c 点头:

我错过了什么吗?我尝试了给出的各种选项,但没有用。

请帮我。

编辑:

I2C 引脚连接到 I2C 扩展器 PCA9673,I2C 地址为 0x48

这是我的代码:

0 投票
1 回答
696 浏览

linux - buildroot X server 设置RGB值

我会使用 X 服务器在我的屏幕上设置 RGB 颜色。我已经在我的 arm board buildroot 上安装了 X 服务器和所有 X11r7 应用程序。我会通过代码 rgb 设置颜色(例如 #FFe3a1 或颜色名称),我尝试通过 rgb.txt 文件但我找不到 rgb 应用程序。

任何人都可以帮助我推荐一些使用 X Server 的 X 应用程序或示例代码。

0 投票
1 回答
339 浏览

linux - uclinux和设备驱动的必要性

通常无 MMU 的系统也没有 MPU(内存保护单元),用户模式和内核模式之间也没有区别。在这种情况下,假设我们有一个没有 MMU 的系统,它的某些硬件映射在 CPU 地址空间中,如果可以从用户空间访问所有硬件资源,那么在内核中拥有设备驱动程序真的有意义吗? ?

内核代码是否对内存有更多的控制权,然后是用户代码?

0 投票
1 回答
139 浏览

cortex-m3 - 如何为 cortex m3 使用预构建的工具链

我已经下载了以下用于 cortex m3 的 gnu 工具链并将其解压缩,但我不明白如何使用它-> http://www.codesourcery.com/sgpp/lite/arm/portal/package6503/public/arm-uclinuxeabi/ arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2

我的电脑是windows 7,是不是需要linux作为主机??

0 投票
1 回答
531 浏览

linux - 将busybox编译为BFLT可执行文件

我正在为 no-mmu 架构编译一个busybox rootfs。此编译的输出是 ELF 32 位 LSB 可执行文件。

file _install/bin/busybox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 2.6.32,

我想要一个 BFLT 可执行文件(与 uclinux 相同)。如何将 ELF 转换为 BFLT 或从 busybox 生成 BFLT 文件?

没有Buildroot可以做到这一点吗?

添加信息:

  • 我正在使用工具链 arm-none-linux-gnueabi
  • 构建为静态可执行文件
  • 选项强制 NOMMU 构建启用
0 投票
0 回答
52 浏览

fpga - 如何在 cortex-m3 和 fpga 上安装的 uclinux 之间进行通信

嗨,我有一个带有 cortex-m3 作为硬 IP 的 fpga 芯片,我在 cortex-m3 上安装了 uclinux。我编写了 ac 代码,它根据我给出的数字打开 8 个 LED(它在 uclinux 上运行良好)但现在我想从 uclinux 上的 c 代码中给出输入数字并将其传输到 fpga,然后 fpga 将对其进行处理并发光Leds,但我没有找到办法(uclinux和fpga之间的通信)。

例如,我可以使用 uclinux 与 pendrive 通信,因为我有它的驱动程序,或者我可以为任何其他设备编写,但如何将 fpga 电路显示为 uclinux 的设备,我认为一种方法是 uclinux 可以访问 cortex-m3 的任何地址类似地使用指针我可以为 fpga 做到这一点,但我不明白 fpga 上的数字电路如何具有地址。

0 投票
1 回答
131 浏览

cortex-m3 - 在 freertos 上运行 C 应用程序,该应用程序已经在 uclinux 上运行

一个应用程序正在 uclinux 上运行,它安装在 cortex-m3 上,但现在我想使用 freertos 作为操作系统而不是 uclinux,

例如,我运行一个 tcp 服务器客户端应用程序,其中客户端在 uclinux 上,服务器在安装了 linux 的计算机上,它运行良好,反之亦然

在 FreeRTOS 的情况下,我使用 lwip 作为 ip 堆栈,应用程序和 freertos 和 lwip 被编译并生成 hex 文件,我可以将它放入 cortex-m3 但是当我运行它时,服务器和客户端之间没有通信

--->那么我需要做任何具体的改变吗

用于 uclinux 的 arm-uclinuxeabi-gcc 工具链 用于 freertos 的 arm-none-eabi-gcc 工具链

0 投票
1 回答
288 浏览

cross-compiling - 为 arm-cortex uclinux 交叉编译 openvpn 时出错

我正在尝试使用 arm-uclinuxeabi 工具链交叉编译 openvpn 出现错误

init.c 的以下部分出错

它的解决方案是什么?

我发现 tuncfg 是在 init.c 所在的同一文件夹中的 tun.c 文件中定义的