标签: arm

我可以在 Chumby One 上安装 PHP 吗?

我很享受破解我的Chumby One。但是,如果我可以在其上运行 PHP,我更愿意。我有perlpython安装。

有谁知道我是否可以为其编译 PHP,或者是否有现成的 Chumby 发行版包含 PHP?

arm php

6
推荐指数
1
解决办法
313
查看次数

ARM 的交叉编译期望

我已经下载了expect5.4。我正在尝试为运行精简版 linux 的 ARM(PandaBoard) 交叉编译它。

在配置的初始设置中,我尝试

Shell$ ./configure --host=ARM
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for correct TEA configuration... ok (TEA 3.9)
configure: configuring expect 5.45
checking for Tcl configuration... found /home/user1/scripts/tcl8.6.0/unix/tclConfig.sh
checking for existence of /home/user1/scripts/tcl8.6.0/unix/tclConfig.sh... loading
configure: --prefix defaulting to TCL_PREFIX /usr/local
configure: --exec-prefix defaulting to TCL_EXEC_PREFIX /usr/local
checking for ARM-gcc... /home/user1/toolchain/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
checking for C …
Run Code Online (Sandbox Code Playgroud)

linux arm cross-compilation expect

6
推荐指数
1
解决办法
2万
查看次数

安装跨工具链以在 Debian 上构建 ARM 二进制文件

我尝试安装一个交叉工具链,以便我可以在 amd64(Debian 测试“jessie”)上为我的 ARM 系统构建 Linux 内核。我有这个条目sources.list

deb http://www.emdebian.org/debian sid main
Run Code Online (Sandbox Code Playgroud)

当我尝试安装gcc-4.7-arm-linux-gnueabi 时,出现错误:

cc-4.7-arm-linux-gnueabi : 依赖:libgomp1-armel-cross (>=4.7.2-5) 但它不会被安装

libgomp1-armel-cross又依赖于gcc-4.8-base-armel-cross,它在任何地方都不可用。

在某些时候,我确实设法从同一个存储库安装了这些交叉构建工具,甚至在几周前构建了一个现在可以在这些 ARM 系统上运行的内核。该存储库中是否有损坏的东西?我尝试了几个其他版本的 GCC,但仍然遇到同样的问题。

一个不理想的解决方案是在 Ubuntu 12.04 VM 中交叉构建。该发行版具有可从其官方存储库获得的 ARM 交叉编译器。

arm debian gcc cross-compilation linux-kernel

6
推荐指数
2
解决办法
8934
查看次数

如何确定Linux板是否使用硬件FPU?

我正在使用基于相当老的飞思卡尔 ARM 芯片的嵌入式 Linux 板。如何确定那里的 Python 解释器是否使用了芯片上的硬件 FPU?

我的 /proc/cpuinfo 是:

处理器:ARM926EJ-S rev 5 (v5l)
BogoMIPS : 179.81
特点:swp 半拇指 fastmult edsp java
CPU 实现者:0x41
CPU架构:5TEJ
CPU变体:0x0
CPU部分:0x926
CPU版本:5

linux arm floating-point

6
推荐指数
1
解决办法
8014
查看次数

Debian:如何解决重定位错误?

我正在运行 Debian 7.1。我试图apt-get install -f,并搞砸了。所有命令行返回

ln: relocation error: /lib/arm-linux-gnueabihf/libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux-armhf.so.3 with link time reference
Run Code Online (Sandbox Code Playgroud)

好像有些软链接坏了,但我不知道如何解决。

arm debian symlink dynamic-linking glibc

6
推荐指数
1
解决办法
1565
查看次数

访问内存映射 I/O 很慢

我有一个 Terasic-SoCKIT(fpga 和 arm cortex a9),我在 HPS 上运行 Linux。我正在尝试访问内存映射 I/O,编写了一个带有函数“request_mem_region”和“ioremap”的简单字符驱动程序。

内存映射 IO 是 AXI 总线,我可以使用它向 FPGA 传输数据。我看到每次写入大约需要 6us,对于我的应用程序,我需要它小于 1us。此外,驱动程序在几次写入后停止写入映射的 IO(看不到 fpga 中的数据正在更改;驱动程序中的缓冲区是否已满??)。

问题是我是否遗漏了什么,或者因为写入是从虚拟地址到物理地址发生的,所以它不能再快了?如果从虚拟地址写入速度变慢,有没有办法加快速度?我知道,ARM 有一个 DMAC,但我还没有探索它。

谢谢你,卡西克

对不起,我没说我正在测量用户空间代码中的时间。后来查了一下驱动写入的时间,是纳秒级。所以,我认为大部分时间是从用户空间写入内核。

所以,我做了一些进一步的阅读并了解到 ioremap() 将物理地址映射到内核虚拟地址,而 remap_pfn_range() 将物理地址/IO 内存映射到用户虚拟空间(这就是我需要的;从用户写入 IO 内存空间)。我使用了简单的 mmap 示例 - http://web.cecs.pdx.edu/~jrb/ui/linux/examples.dir/simple/simple.c作为内核驱动程序。以下代码是我的用户空间代码:

    using namespace std;
    #include <iostream>
    #include <sys/mman.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <sys/mman.h>
    #include <fcntl.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <stdint.h>
    #include <ctime>


    #define PAGE_SIZE 4096
    #define HPS2FPGA_BRIDGE_BASE 0xc0000000
    #define BLINK_OFFSET 0x0

    volatile unsigned char *blink_mem;
    void *bridge_map; …
Run Code Online (Sandbox Code Playgroud)

io arm virtual-memory

6
推荐指数
1
解决办法
4800
查看次数

二进制文件大小之间的差异 - x86_64 与 ARM

在为 x86_64 编译的 Linux 内核之间进行二进制差异时,版本之间的差异相对较大(超过 25%)。不同版本的源存档之间的大小差异较小(大约 8% 或更小)。

ARM 的二进制内核映像之间的大小差异是否会小于 x86_64?我在某处读到 ARM 可执行文件之间的二进制差异小于 x86_64 可执行文件的二进制差异,因为编译后的代码放置在更可预测的位置,但我不记得在哪里找到它。

二进制 ARM Linux 内核映像版本之间的差异是否小于 x86_64?

linux arm

6
推荐指数
1
解决办法
5878
查看次数

了解 /proc/cpuinfo 的输出

我有一块LeMaker HiKey开发板。我购买它是为了在 ARM64 cpu 架构上测试几个库。该板提供两个Cortex-A53处理器,提供八个内核,使用Linaro Linux:

$ uname -a
Linux hikey 3.18.0-linaro-hikey #1 SMP PREEMPT Mon Nov 30 00:11:03 UTC 2015
aarch64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我观察到自检的运行速度比预期的要慢一些,所以我正在对其进行温和的调查。我还注意到 a catof/proc/cpuinfo正在返回看起来不太正确的东西,但我不确定它是否值得关注。它对我来说看起来不太正确,因为我曾经看到每个核心的 cpu 信息(类似于/proc/cpuinfo 中的处理器数量)。

的输出是否/proc/cpuinfo表明电路板或其配置有问题?还是某些开发板需要此输出?


ARM Cortex A53(八核)

$ cat /proc/cpuinfo 
Processor   : AArch64 Processor rev 3 (aarch64)
processor   : 0
processor   : 1
processor   : 2
processor   : 3
processor   : 4
processor   : 5
processor   : 6
processor   : 7
Features    : fp …
Run Code Online (Sandbox Code Playgroud)

linux cpu arm

6
推荐指数
1
解决办法
9839
查看次数

如何在不依赖 MAC 地址的情况下唯一标识 ARM 设备?

我有一堆 ARM 设备。它们在硬件上没有区别。我可以在不使用 MAC 地址的情况下以某种方式为每个设备获取一个唯一的 ID 吗?即使我使用新内核和 rootfs 刷新 NAND,此 ID 也必须保持不变。其硬件基于 Atmel AT91SAM9。

linux arm

6
推荐指数
1
解决办法
4940
查看次数

是否可以在 ARM 上运行 x86 可执行文件?

我正在尝试将 Navicat 这是一个 x86-64 二进制文件安装到我的 aarch64 机器上,这导致“无法执行二进制文件:Exec 格式错误”

这是file在可执行文件上运行的结果:

navicatess15-sqlserver-en.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=d629f6099d2344ad82818172add1d38c5e11bc6d, stripped

这是我的uname -a

Linux penguin 4.19.98-08076-g24ab33fb8e14 #1 SMP PREEMPT Wed Apr 1 17:17:36 PDT 2020 aarch64 GNU/Linux

有什么办法可以在我的机器上运行这个可执行文件吗?

(Idk 如果这有什么不同,但我在带 OP1 处理器的三星 Chromebook Plus 上运行 Linux)

arm debian executable x86 chrome-book

6
推荐指数
2
解决办法
2万
查看次数