arm相关内容

获取寄存器中的 MSB/LSB

这似乎是一个愚蠢的问题,但我真的无法说出我错过了什么 在 ARM 7 上: 我在寄存器 0 中有一个 8 位数字,比如说 10110111 我想通过这个“循环"并用当前位做一些事情,直到 8 位完成,但是我在这个简单的问题上遇到了很多麻烦.. 我的逻辑是: - 获取 r0 中数字的 MSB/LSB- 将其移至 r1-lsl/lsr r0 但是从这个逻辑来看,我不知道你将如 ..
发布时间:2022-01-17 14:26:43 其他开发

是否可以在线程之间共享一个寄存器?

我知道当操作系统/硬件在不同线程的执行之间切换时,它管理存储/恢复每个线程的上下文,但是我不知道很多细节.我的问题是:是否有任何寄存器可用于在线程之间共享信息?在 x86 中?米普斯?手臂?等等,.linux?窗户? 非常感谢任何关于如何做到这一点的建议. 解决方案 乍一看,您的问题似乎很合理.其他人试图直接回答这个问题.首先,我们有两个相当模糊的概念, 话题 注册 如 ..
发布时间:2022-01-17 14:26:37 服务器开发

ARM BLX 指令范围(绝对)

我有一个关于 ARM BLX 指令的问题,特别是关于 BLX RX 指令的问题.在 ARM 手册上,它指出对于 BLX 标签,标签应在 32MB 范围内.在我的代码中,我将 R0 寄存器设置为指向地址 1.我当前的地址和address1(目的地址)之间的距离大约是0x05000000. 当我到达指令时,它崩溃了(address1 中的代码是 ARM,所以 T 模式没有问题).在 BLX 中使 ..
发布时间:2022-01-17 14:26:21 其他开发

可以用MSBuild在ARM下构建C++项目吗?

我正在测试使用 MSBuild 为 Windows Phone 和 Windows Store 执行现有 C++ 项目的 ARM 构建的可行性.在带有 VS2012 的 Windows 7 上,我打开了 Visual Studio 2012 ARM 开发人员命令提示符.然后我试了一下,看看会发生什么: C:\cryptopp>msbuild/t:Build/p:Configuration=Deb ..
发布时间:2022-01-17 14:25:39 其他开发

NEON 简单向量赋值内在?

将 uint32x4_t 类型的 r1、r3 和 r4 加载到 NEON 寄存器中,我有以下代码: r3 = veorq_u32(r0,r3);r4 = r1;r1 = vandq_u32(r1,r3);r4 = veorq_u32(r4,r2);r1 = veorq_u32(r1,r0); 我只是想知道 GCC 是否真的将 r4 = r1 翻译成 vmov 指令.看着反汇编的代码,我并不感到 ..
发布时间:2022-01-17 14:25:01 其他开发

如果我们使用 DSB,是否需要 DMB

DSB 是 DMB 的超集吗? 如果不考虑性能,可以用 DSB 代替 DMB 解决方案 DSB 是 DMB 的超集,所以可以用 DSB 如果性能不是问题. 来自 Cortex-A 系列程序员指南: 数据同步屏障 (DSB) 这条指令强制核心等待所有挂起的显式数据访问完成,然后再进行任何可以执行额外的指令阶段.没有影响预取指令. 数据内存屏障 (DMB) ..
发布时间:2022-01-17 14:23:35 其他开发

ARM NEON 汇编程序错误:“指令不能有条件";

根据arm 信息center vadd 可以有条件地执行,但是当我尝试时 vaddeq.f32 d0,d0,d1 Xcode 返回 65: 指令不能有条件 -- vaddeq.f32 d0,d0,d1 我注意到的一件事是,似乎只有 NEON 指令会出现此错误.VFP 指令不会产生这些错误. 是否必须设置编译器标志才能启用 NEON 条件指令? 解决方案 ARM 架构参考手册说 ..
发布时间:2022-01-17 14:23:25 其他开发

SwingFXUtils 替代图像序列化(Javafx、Swing、Raspberry Pi)

我的 JavaFX 应用程序的一个用例是在一侧加载图像,通过 TCP 套接字对其进行序列化,以在另一侧将其显示为 JavaFX 图像. 为了实现这一点,我使用 SwingFXUtils.fromFXImage() 和 SwingFXUtils.toFXImage() 来创建和读取一个 BufferedImage 可以是序列化. 一切正常.但我想在树莓派上运行显示面.我发现,在 ARM ..
发布时间:2022-01-17 14:22:48 Java开发

在 ARM 程序集中将堆栈指针从 4 字节对齐 8 字节

如何将堆栈指针对齐到 8 字节,现在在 ARM 中对齐为 4 字节.根据我的理解,如果堆栈指针指向某个地址,如 0x4 、0x8、0x12 和 0x16 等,则它是 4 字节对齐的. 因此,将堆栈指针对齐为 8 字节意味着它应该指向诸如 0x8 、0x16 、0x24 和 0x32 等地址. 现在如何将 4 字节堆栈指针对齐到 8 字节对齐指针? 解决方案 不要尝试自己手动对齐 ..
发布时间:2022-01-17 14:22:39 其他开发

arm 霓虹灯比较操作产生负一

我正在尝试以下汇编代码: vclt.f32 q9,q0,#0vst1.i32 q9,[r2:128] 但如果条件为真,则q9中的对应元素设置为负一而不是正一. 我该怎么做才能得到一个积极的? 解决方案 这对于向量比较指令是正常的,因此您可以将比较结果用作带有 AND 或 XOR 指令或其他各种用例的掩码.p> 您通常不需要 +1.例如,如果要计算匹配的元素个数,只需使用减法指令 ..
发布时间:2022-01-17 14:22:29 其他开发

从手臂组装功能返回浮点数到objective-c

我编写了一个汇编函数,可以在 iPhone 4(32 位代码)和 iPhone 6s(64 位代码)上正常运行.我从 Objective-c 中的调用函数传入四个浮点数. 这是我用于 4 个浮点数的结构,下面是函数的原型 - 可以在我的 Objective-c 代码的顶部找到. struct myValues{//这是一个结构.它用于方便地对多个数据项进行逻辑分组.浮动A;//我在这里使用 ..
发布时间:2022-01-17 14:22:13 移动开发

在arm-linux中打印堆栈跟踪

我按照这篇文章打印堆栈跟踪 当我的 gcc C++ 应用程序崩溃时如何生成堆栈跟踪.它在 x86 linux 中运行良好.谁能教我如何让它在 arm-linux 上工作? 我正在使用 arm-linux-gcc 4.4.3. [root@FriendlyARM/]# ./test1错误:信号 11:[0x0] 在 x86 中 mickey@mickeyvm:~/Desktop/work ..
发布时间:2022-01-17 14:21:59 C/C++开发

如何解释 ARM 的 SMC 调用?

我一直在阅读 Android 的内核,以了解 CPU 内核(又名 DVFS、DCVS)的动态电源管理是如何完成的.我找到的代码 here 对以下函数进行一些调用(定义 here) 依次调用 SMC 汇编指令. ARM 有一个文档解释了 SMC 调用约定,但我无法使用它来理解以下功能.如何进一步跟踪 SMC 指令,以根据其输入操作数查看它实际执行的操作? s32 scm_call_atomi ..
发布时间:2022-01-17 14:21:41 其他开发

为什么 CPSR 不是银行寄存器?

在 ARM 中,SPSR 是一个分组寄存器,即每次模式更改后,CPSR 都会复制到 SPSR,模式返回后,SPSR 会复制回 CPSR.为什么 CPSR 不直接存入银行?每次模式更改似乎都有两条额外的指令(复制到spsr,复制到cpsr) 解决方案 手动模式更改不是 ARM 的效率目标.通常,手动模式更改仅用于在启动或初始化时设置堆栈等. cpsr 是活动 副本.为什么我们有一个存储 ..
发布时间:2022-01-17 14:21:34 其他开发

ARM 代码探查器

我想在 arm 9 上分析我的代码,是否有任何分析器可以为我提供函数调用时间和每个函数占用的总周期?我更喜欢任何免费的分析器.我喜欢在 linux 中使用 kcachegrind. 解决方案 我不知道任何免费的 ARM 分析器. 您可以尝试ARM RVDS 4.0 Pro.它有一个很好的 profiler.您可以使用模拟器而不是真正的硬件.它简化了一些事情,但您不会收到有关缓存未命中 ..
发布时间:2022-01-17 14:21:15 其他开发