66得票4回答
__asm__ __volatile__ ("" : : : "memory") 的工作原理

__asm__ __volatile__ ()基本上是一种内联汇编的用法,它允许在C或C++代码块中直接嵌入汇编指令。在ARM架构中,使用"memory"修饰符可以确保内存位置被视为可变的,强制刷新缓存并防止编译器优化。

58得票6回答
交叉编译器和ldd

我已经创建了一个交叉编译的ARM可执行文件。我想查找可执行文件的库依赖项。我使用Ubuntu Natty并安装了arm-linux-gnueabi工具链,但该工具链不包含ldd。是否有可用的工具可以在Linux中查看ARM可执行文件的库依赖关系。

52得票2回答
ARM PC寄存器为什么指向下一条要执行的指令后面的那一条指令?

根据ARM IC,当处于ARM状态时,PC 的值是当前指令的地址加8字节。而在Thumb状态下: - 对于 B、BL、CBNZ 和 CBZ 指令,PC 的值是当前指令的地址加4字节。 - 对于所有其他使用标签的指令,PC 的值是当前指令的地址加4字节,结果的第1位被清零以使其字对齐。 简单...

52得票5回答
Linux内核如何管理少于1GB的物理内存?

我正在学习Linux内核的内部原理,在阅读《了解Linux内核》时,遇到了几个与内存相关的问题。其中之一是:如果我的系统只安装了512 MB的物理内存,Linux内核如何处理内存映射? 根据我的阅读,内核将0(或16)MB-896MB的物理RAM映射到0xC0000000线性地址并直接进行寻...

51得票8回答
GCC中的树莓派交叉编译。如何开始?

TL/DR:我在哪里可以找到有关为ARM(gnueabi)平台构建GCC 4.7.0交叉编译工具链的更多信息(旨在在树莓派设备上运行)? 我刚刚得到了一台全新的树莓派,非常渴望开始为它编程。我已经成功安装了GCC工具链(我正在使用Arch Linux系统映像),并编译了一些基本程序,一切正常...

50得票3回答
ARM ABI和EABI的目的是什么?

我越看这个PDF(ARM架构的应用程序二进制接口:基本标准)越是不理解它的含义。同时,我想对ARM架构的过程调用标准和ARM架构的ELF格式进行评论。

50得票2回答
如何在Linux用户空间中访问物理地址?

在运行Linux的ARM系统上,我有一个设备被内存映射到一个物理地址。在用户空间程序中,所有地址都是虚拟的,那么我该如何从这个地址读取内容呢?

49得票16回答
架构 armv7 的重复符号

在我的现有应用程序中尝试使用Layar SDK时遇到以下错误。我该如何解决?Ld /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-i...

49得票14回答
寻找一种高效的整数平方根算法,适用于ARM Thumb2。

我正在寻找一种快速的、仅适用于整数的算法,以找到一个无符号整数的平方根(其整数部分)。 代码必须在 ARM Thumb 2 处理器上具有出色的性能。它可以是汇编语言或C代码。 欢迎任何提示。

48得票4回答
ARM Cortex-A8:VFP和NEON有什么区别?

在ARM Cortex-A8处理器中,我知道NEON是什么,它是一个SIMD协处理器。但是VFP(向量浮点)单元,也是一个协处理器,它是否作为SIMD处理器工作?如果是,哪个更好用?我阅读了一些链接,例如- 1. Link1 2. Link2。但并不是很清楚它们的意思。它们说VFP从来没有被设...