问题标签 [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.

0 投票
2 回答
793 浏览

memory - 如何在 WinMobile6 上启用 ARMv6 非对齐访问?

ARMv6 引入了一个很棒的特性——未对齐的内存访问,这使得代码中的一些事情变得更加简单和快速。但是微软只在winCE6中为其提供API。现在大多数 PDA 基于 WinMobile6(在 CE 5.x 上)。默认情况下禁用未对齐访问:(

我尝试在 CP15 寄存器中设置未对齐标志,但这不起作用 - 我在读取未对齐数据时崩溃了。

是否可以在 WinMobile6 上启用非对齐访问?


编辑:我找到了可以启用非对齐访问的工具,但我想从我的代码中打开/关闭它。它是nueAdvancedProcessor

0 投票
1 回答
519 浏览

debugging - 有哪些可用的可执行二进制格式和模拟器?

为了好玩,我正在开发一种小型语言的编译器,我首先针对的是 ARM 指令集,因为它很简单。目前,我能够编译代码,因此我为每个方法的主体提供了 ARM 机器代码。在这一点上,我需要开始将一些事情联系在一起:

  • 我应该将我的机器代码保存为什么格式,以便我可以...
  • 在什么调试器中运行它?

目前没有 I/O 支持等,因此调试将在很大程度上取决于我是否能够逐步完成反汇编并查看处理器寄存器/内存。

我正在运行 Windows,而我的编译器仅在 Windows 中运行,因此在 Windows 上使用某种模拟器会更好。

编辑:看来我可以使用 Visual Studio Windows Mobile 6 模拟器。现在,我可以简单地将结果保存为简单的二进制格式,并通过一个微型 C++ 控制台应用程序将其加载到仿真器内存中,然后使用函数指针跳转到其中。后来,看来我需要支持 ELF 和 PE 格式。

0 投票
3 回答
5947 浏览

arm - ARM 代码探查器

我想在 arm 9 上分析我的代码,是否有任何分析器可以为我提供函数调用时间和每个函数占用的总周期?我更喜欢任何免费的分析器。我喜欢在 linux 中使用 kcachegrind。

0 投票
1 回答
1255 浏览

exception - ARM9 SVC_STACK 超出范围?

我正在使用 IAR 工作台工具链在嵌入式系统中调试一些奇怪的 ARM 异常。有时,当异常被捕获时,SVC_STACK 被报告为超出范围(非常超出范围!)这是相关的,还是只是 J-Link JTAG 调试器的工件?SVC_STACK 是做什么用的?它设置为 0x1000 大小,但是当它超出范围时,它在我们的堆区域中。谢谢!

0 投票
2 回答
4995 浏览

exception - ARM9 Prefetch Abort Exception 可能是软件问题吗?

所以我在我们的 arm9 系统上遇到了“预取中止”异常。这个系统没有 MMU,所以这可能是软件问题吗?所有的寄存器对我来说似乎都是正确的,从 JTAG 的角度来看,代码看起来是正确的(没有损坏)。

现在我在想这是某种硬件问题(虽然我不想这么说——硬件一直都很好)。

0 投票
1 回答
10461 浏览

debugging - ARM Data Abort 错误异常调试

所以现在我知道我得到了一个 ARM 数据中止异常——我看到了如何捕获异常本身(STL 库中的错误地址),但我想在异常之前返回堆栈帧。我正在使用 IAR 工具链,它告诉我调用堆栈在异常发生后不可用 - 有没有一种技巧可以说服该工具向我显示调用堆栈?感谢所有快速帮助!

0 投票
3 回答
2023 浏览

embedded - 具有最短解码时间的视频格式

我正在开发具有 266 Mhz 处理器和 32 位总线和 480x272 屏幕的嵌入式设备。我们想以 1024 kbps 比特率和 24 fps 播放全屏视频。有没有比 H263 和 H264 更大但解码速度更快的视频文件格式。

谢谢,桑尼。

添加

我正在使用处理器版本 ARM926EJS,Arch 是 ArmV5,速度是 266 Mhz,带有 VFP 和 16 位(565 RGB)屏幕。我已经有最快的 YUV 到 RGB 转换可用。我使用 FFMPEG 库构建了视频播放器。我在 480x272 H263 视频上获得的速度为 17 FPS,速度为 1248 KBPS。如果你能给我一些优化的解码器参考,我可以买它,那就太好了。

谢谢,桑尼。

0 投票
2 回答
13616 浏览

exception - ARM 未定义指令错误

我在运行嵌入式系统、没有协处理器、没有 MMU、Atmel 9263 时遇到未定义指令错误。嵌入式系统的内存范围为 0x20000000 - 0x23FFFFFF。到目前为止,我有两个案例:

  1. SP 0x0030B840,LR 2000AE78 - LR 指向有效代码,所以我不确定是什么导致了异常,尽管 SP 是假的。我应该查看哪些其他地址、寄存器、内存位置?

  2. SP 0x20D384A8,LR 0x1FFCA59C - SP 正常,LR 是假的。有没有什么我可以做的事后检查来找出LR是如何被压碎的?看起来它从地址空间的末尾向后滚动,但我不知道如何。

现在我只是用模拟替换大块代码并再次运行测试以尝试隔离问题 - 问题是有时需要 4 小时才能显示问题。

任何提示将不胜感激,谢谢!

芯片是 AT91SAM9263,我们使用的是 IAR EWARM 工具链。我很确定它是直接的 ARM,但我会检查一下。

编辑

Undef Instruct 的另一个例子——这次 SP/LR 看起来不错。LR = 0x2000b0c4,当我在附近拆卸时:

2000b0bc e5922000 LDR R2,[R2,#+0]
2000b0c0 e12fff32 BLX R2
2000b0c4 e1b00004 MOVS R0,R4

由于 LR 是 Undef 异常之后的指令 - BLX 如何识别为未定义?注意CPSR是0x00000013,所以这都是ARM模式。但是,R2 是堆区域中的 0x226d2a08,我认为是不正确的 - 分解存在 ANDEQ R0、R0、R12,指令是 0x0000000C,而那里的其他指令对我来说看起来像数据。所以我认为糟糕的R2是问题所在,我只是想了解为什么BLX的Undef?

谢谢!

0 投票
2 回答
1131 浏览

python - 带有 ARM CPU 的机器上的奇怪 python 行为

什么可能导致这种奇怪的蟒蛇行为?

它为0.1, 0.5, 5.1,0.0等提供相同的输出。整数正确地回显给我,但任何带小数点的东西都会给我疯狂的数字。

这是为 ARM 编译的 python 二进制文件,通过Optware安装在 Synology DiskStation 101j 上。

有没有人见过这样的事情?

0 投票
3 回答
561 浏览

android - 哪个窗口工具包用于嵌入式 linux?

我正在为具有 Arch ARMv5 Speed 266MHZ、vfpu 和 32 位总线、32MB 133 Mhz DDR Ram 的设备使用嵌入式 linux。你能告诉我应该使用哪个窗口系统吗?

1).QT 用于嵌入式 linux 2). 安卓。3)。其他!!

好吧,我在过去的一年里一直在使用 microwindows,但对它并不满意,因为它的窗口系统中没有 BSP(二进制空间分区),不支持位图的共享内存。我认为 Microwindows 只是针对内存大小而不是速度进行了优化。

那么,你能告诉我什么是窗口系统的更好选择吗?