LLVM GCC 4.2 中内联汇编的奇怪编译
我正在尝试优化以下 C 宏: rotate(v0, v1) a0 = v0, b0 = v1, v0 = a0*c - b0*s, v1 = a0*s + b0*c 其中 Cortex-A8 处理器的所有变量都是双精度。 内…
在 Cortex A8 上启用 NEON,并将 fpu 设置为 SoftVFP 或无
我正在尝试使用 RVDS 4.0 为 Cortex A8 构建可执行文件。我的代码使用 NEON,但我想将 fpu 选项设置为 none 或 SoftVFP。 ARM 网站提到,当 fpu 设置…
让 VROM 加载图像并跳转到 Nexus One 上的某个地址?
我想尝试在我的 Nexus One 手机上运行低级代码,但我找不到合适的手册来描述如何操作。 据我所知,VROM 在跳转到引导加载程序之前会进行一些初始引导…
如何从 ARM 汇编调用 C 函数?
我正在 Android 设备上编写针对 ARM Cortex-A 的代码(使用 GNU 汇编器和编译器),并且正在尝试在 Assembly 和 C 之间建立接口。特别是,我对从 Asse…
如何在 ARM 上进行整数(有符号或无符号)除法?
我主要致力于 Cortex-A8 和 Cortex-A9 的研究。我知道有些架构没有整数除法,但是除了转换为浮点数、除法、转换为整数之外,最好的方法是什么?或者这…
iOS 设备中的低级循环计数器
现在很明显 皮质-A8 性能计数器在 iPhone/iPad 上不可用(它们需要在用户模式下显式启用,而 Apple 尚未这样做),是否有其他方法可以在 iOS 上获得合…
Android JNI makefile:在哪里设置 CFLAGS?
我一直在思考如何准确地告诉 Android 在 Cortex-A8 上使用 VFP 在我的本机 C 代码中进行浮点运算。我知道我需要设置的编译器标志。问题是我在哪里做?…
为什么 ARM NEON 不比普通 C++ 更快?
这是一个 C++ 代码: #define ARR_SIZE_TEST ( 8 * 1024 * 1024 ) void cpp_tst_add( unsigned* x, unsigned* y ) { for ( register int i = 0; i < A…
ARM 锁定寄存器写操作导致设备崩溃
我正在使用运行 Linux 内核的 ARM Cortex A-8 设备进行一些实验。 我可以毫无问题地访问和读取 L2 缓存锁定寄存器的值: asm volatile ("mrc p15, 1, …
ARM Cortex-A8:一次内存读取读取了多少字节?
我正在尝试改进在 ARM cortex-a8 处理器上运行的图像处理项目。 我正在从内存中访问 8 位灰度图像数据。在我的函数中,现在我正在逐字节访问单个像素…
ARM Cortex-A8:如何同时使用 NEON 和 vfpv3
我正在使用 Cortex-A8 处理器,但我不明白如何使用 -mfpu 标志。 Cortex-A8 上有 vfpv3 和 neon 协处理器。以前我不知道如何使用 neon,所以我只使用 …
ARM Cortex-A8:VFP 和 NEON 有什么区别
在ARM Cortex-A8处理器中,我了解NEON是什么,它是一个SIMD协处理器。 但同时也是协处理器的VFP(矢量浮点)单元是否可以用作SIMD处理器呢?如果可以…
如何使用NEON比较(大于或等于)指令?
一般如何使用 NEON 比较指令? 这是一个案例,我想使用大于或等于指令? 目前我有一个, int x; ... ... ... if(x >= 0) { .... } 在NEON中,我想以同…
ARM Cortex-A8:如何测量缓存利用率?
我有一个 Freescale 的 i.MX515EVK,一个 ARM Cortex-A8/Ubuntu 平台,不幸的是,板上的 Linux 内核不支持一些众所周知的分析器,例如 Oprofiler 或 Z…