问题标签 [arm]
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.
embedded - 为 ARM Thumb2 寻找有效的整数平方根算法
我正在寻找一种快速、仅整数的算法来查找无符号整数的平方根(其整数部分)。代码必须在 ARM Thumb 2 处理器上具有出色的性能。它可以是汇编语言或 C 代码。
欢迎任何提示。
arm - 有谁知道如何启用 ARM FIQ?
有谁知道如何启用 ARM FIQ?
c - 使用串行端口从 C 程序打开或关闭 LED 的步骤?
我知道有一个类似的帖子: Steps to make a LED blink from a C/C++ program?
但现在我正在开发一个基于 arm 的开发板,它似乎有两个串行端口,我可以用它来打开或关闭 LED。
基本上我认为流程是,使一个引脚串行“1”或打开,LED 将打开,“0”使其关闭。
是否有一些我可以参考的 C 语言参考代码?
java - Android 会阉割 ARM 的 Jazelle 技术吗?
我所看到的理由是我们应该说“Bastardizing”Android 中的 Java 字节码是性能。(我怀疑还有另一个原因。)但是,通过更改字节码,他们不是让 Jazelle 等硬件加速技术没有实际意义,从而实际上降低了移动 Java 平台的可用性能吗?
知道目标平台是基于 ARM 的移动平台对我来说似乎与直觉相反。虽然它可能会在其他 CPU 架构上为您提供更好的性能,但它似乎在 ARM 和 Jazelle 面前唾弃。
它对 Java 性能有什么样的量化影响?
它是否真的提高了性能,如果是这样,如何?
对其他平台有什么影响?(即 x86,mips,yadda,yadda,yadda...)
exception - 如何确定一个任务为什么会破坏,VxWorks?
我有一个在 ARM uC 上运行的 VxWorks 应用程序。
首先让我总结一下应用程序;
应用程序由第 3 方堆栈和网关应用程序组成。我们已经实现了一个操作系统抽象层来支持操作系统的独立性。
底层堆栈有自己的内存管理和控制设施,它将内存块保存在一个双向链表中。
例如 ; 我们不直接执行 malloc/new , free/delege 。相反,我们调用 OSA 层的例程,它从 OS 获取内存并将其放入列表中,然后将此内存返回给应用程序。(例程:XXAlloc,XXFree,XXReAlloc)
当释放内存时,我们再次使用 XXFree。
事实上,这个块是一个结构,它有
- 魔术数字指示内存块的开始和结束 - 用户请求分配的大小 - 由于对齐问题而实际分配的大小 前一个和下一个指针 - 指向返回给应用程序的内存块的指针。显示应用程序中调用 xxAlloc 的位置的链接寄存器。
使用这种块结构堆栈可以检查块是否损坏。
我们还有从 Linux 移植的 pthread 库,我们用它来创建/终止线程(目前有 22 个线程) -同步对象(事件、互斥体..)
taskSpawn 调用了主任务,后来该任务创建了其他线程。
这是对应用程序及其 VxWorks 界面的描述。
问题是 :
其中一项任务突然被 VxWorks 破坏,没有提供有关问题所在的信息。我也有一个 jtag 调试器,它会命中 VxWorks taskDestoy() 例程,但调用堆栈既不提供 PC 也不提供任何信息 r14。
我怀疑代码中的特定例程,其中完成了巨大的 xxAlloc 但问题非常零星地发生,不知道我可以将它映射到源代码。
我认为操作系统会检测到异常并静默执行其处理。
任何帮助都会很棒
问候
arm - 应该使用哪个 ARM 处理器通过以太网传输数据?
下面的问题与 8051 系列有关,因为它只有串行端口。现在,当我发现 ARM 处理器具有内置以太网设施时,我决定继续使用 ARM。因此,这将是最容易开始的一个,并且由于我了解 keil 环境,我想在支持 keil 的 anARM 上工作。
Thnxx,干杯。
embedded - 我应该为嵌入式应用程序使用 CRC-16 还是 IP 校验和 (RFC1071)?
我正在 ARM7 处理器上编写一个嵌入式应用程序,对于通过串行链路发送的数据以及存储在闪存中的数据,我需要某种形式的校验和。我想知道这两个 CRC 中哪一个更适合这个目的。主要的权衡是代码速度与鲁棒性。我应该考虑另一个 CRC 吗?您是否有指向 ARM 的有效实施的链接?
linux - Linux 内核中的 I2C 写确认轮询
这里平淡无奇的反应让我想知道这一点。
我一直背负着一个设备(Analog Devices 525x)(来自数据表,第 16 页):
在内部 [EEPROM] 写周期中禁用 I2C 接口。
这似乎不公平,例如“我现在要从沙发上下来,所以暂时不要使用它,因为我让座垫裂开了一个”。老实说,为什么这应该是我的问题?
无论如何,数据表表明确认轮询是答案 - 进入 Linux 内核...... Linux GPIO bit bashed I2C 驱动程序是否提供了这样做的机制? 本质上是发送一个设置了写入位的地址并继续这样做,直到出现 ACK。
我在 ARM 上使用 2.6.14 并带有反向移植的 GPIO 位抨击驱动程序(我认为来自 2.6.19)。
iphone - iPhone 3GS 上的 ARM 与 Thumb 性能,非浮点代码
我想知道是否有人对 iPhone 3GS 上的 ARM 与 Thumb 代码性能有任何硬性数据。专门针对非浮点(VFP 或 NEON)代码 - 我知道 Thumb 模式下的浮点性能问题。
更大的 ARM 指令的额外代码大小是否会成为性能危害?换句话说,如果我的可执行代码与可用内存相比相对较小,那么打开 Thumb 模式是否有任何测量的性能差异?
我问的原因是,虽然我可以使用“-marm”选项为 Xcode 中的 NEON 特定源文件启用 ARM,但这会破坏模拟器构建,因为 GCC 正在构建 x86。我想知道我是否应该关闭“编译为拇指”并完成它。
assembly - ARM 在 EOR/XOR 和 AND 上携带标志
我正在查找一些 ARM 程序集,我注意到 EOR/XOR 和 AND 都设置了 C 和 O 标志。这是如何运作的?他们总是被清除吗?他们设定了什么条件?