问题标签 [cortex-a8]
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.
c - 如何测量 ARM Cortex-A8 处理器中的程序执行时间?
我正在使用一个名为 i.MX515 的基于 ARM Cortex-A8 的处理器。有 linux Ubuntu 9.10 发行版。我正在运行一个用 C 编写的非常大的应用程序,并且我正在使用gettimeofday();
函数来测量我的应用程序所花费的时间。
这种方法足以查看我的应用程序的哪些块花费了多少时间。但是,现在,我正在尝试非常彻底地优化我的代码,使用 gettimeofday() 计算时间的方法,我看到连续运行之间有很多波动(在我的优化之前和之后运行),所以我不能确定实际的执行时间,从而影响我的改进。
谁能建议我该怎么做?
如果通过访问循环计数器(在 ARM 网站上为 Cortex-M3 建议的想法),任何人都可以指出一些代码,这些代码为我提供了访问Cortex-A8 上的定时器寄存器所必须遵循的步骤?
如果这种方法不是很准确,那么请提出一些替代方案。
谢谢
跟进
跟进1:在Code Sorcery上编写了以下程序,生成了可执行文件,当我尝试在板上运行时,我得到-非法指令消息:(
跟进2:我已经写信给飞思卡尔寻求支持,他们给我回了以下回复和一个程序(我不太明白)
以下是我们现在可以为您提供的帮助:我正在向您发送附加的代码示例,该示例使用 UART 发送流,从您的代码来看,您似乎没有正确初始化 MPU。
linux - 如何测量我的算法消耗的功率?
我有一个在ARM-Cortex-A8/Ubuntu 9.01平台上运行的图像处理算法,我必须测量算法消耗的功率,有人知道该怎么做吗?有什么可用的工具吗?
c - 内联汇编:将指针传递给函数并在汇编中的该函数中使用它
我正在使用ARM/Cortex-A8 处理器平台。
我有一个简单的函数,我必须将两个指针传递给一个函数。这些指针稍后在只有我的内联汇编代码的那个函数中使用这个计划只是为了实现性能。
谢谢
memory-management - ARM Cortex-A8:如何测量缓存利用率?
我有一个飞思卡尔的 i.MX515EVK,一个 ARM Cortex-A8/Ubuntu 平台,不幸的是,板上的 Linux 内核不支持一些众所周知的分析器,如Oprofiler或Zoom Profiler (Zoom 支持 ARM 处理器,但它在内部,使用 Oprofiler 驱动程序),它提供了有关缓存利用率的非常详细的报告。
Cortex-A8 具有 32KB 指令和数据缓存以及 256KB L2 缓存。目前,当我的图像处理算法正在运行时,我完全不知道它们的用法。
除了使用分析器找出缓存命中和未命中之外,还有其他方法吗?
arm - 如何使用NEON比较(大于或等于)指令?
一般如何使用 NEON 比较指令?
这是一个案例,我想使用大于或等于指令?
目前我有一个,
在 NEON 中,我想以同样的方式使用 x,只是这次 x 是一个向量。
memory - 澄清:处理器以 800 Mhz 和 200 Mhz DDR RAM 运行
我有一个评估套件,它实现了 ARM Cortex-A8 内核。处理器数据表指出,它有一个
ARM Cortex A8™ 内核,运行速度高达 800MHz,DDR2 RAM 高达 200MHz。
我能从这个系统中得到什么?我是否正确地假设内存访问将成为瓶颈,因为它仅以 200MHz 运行?
需要有关如何解释这一点的更多信息。
arm - ARM Cortex-A8:如何同时使用 NEON 和 vfpv3
我正在使用 Cortex-A8 处理器,但我不明白如何使用该-mfpu
标志。
在 Cortex-A8 上,有vfpv3和neon协处理器。以前我不知道如何使用霓虹灯,所以我只使用
gcc -marm -mfloat-abi=softfp -mfpu=vfpv3
现在我已经了解了 SIMD 处理器是如何运行的,并且我已经使用 NEON 内部函数编写了某些代码。现在要使用 neon 协处理器,我的 -mfpu 标志必须更改为-mfpu=neon
,所以我的编译器命令行如下所示
gcc -marm -mfloat-abi=softfp -mfpu=neon
现在,这是否意味着vfpv3
不再使用 my 了?我有很多没有使用 NEON 的代码,这些部分没有使用vfpv3
.
如果仍然使用 neon 和 vfpv3,那么我没有问题,但如果只使用其中一个,我该如何同时使用它们?
arm - ARM Cortex-A8:一次内存读取会获取多少字节?
我正在尝试改进在 ARM cortex-a8 处理器上运行的图像处理项目。
我正在从内存中访问 8 位灰度图像数据。在我的函数中,现在我正在逐字节访问单个像素值。
我认为通过使用 NEON,我可以通过一次从内存中访问 128/8 = 16 个字节来改进这一点,然后在我的函数中使用它们。但是在运行更改后的版本时,我发现这实际上比逐字节访问要花费更多时间。我认为我使用 NEON 的获取正在成为一个瓶颈,花费的时间比我的计算时间还多。
ARM Cortex-A8 的数据总线大小是多少?在一次内存提取中从内存中访问了多少字节?
linux-kernel - ARM 锁定寄存器写操作使设备崩溃
我正在使用运行 Linux 内核的 ARM Cortex A-8 设备进行一些实验。
我可以毫无问题地访问和读取 L2 缓存锁定寄存器的值:
asm volatile ("mrc p15, 1, %0, c9, c0, 0" : "=r" (i));
当我尝试写回该值时,设备立即崩溃:
asm volatile ("mcr p15, 1, %0, c9, c0, 0" : : "r" (i));
该代码作为内核模块运行,因此没有权限问题。
我想知道在写那个寄存器值之前我是否遗漏了什么特别的东西?