标签: arm

反汇编Android NDK代码

可能重复:
如何从gcc中的C/C++源获得汇编程序输出?

我有一个简单的问题.

我有一些为Android应用程序编写的本机C++代码.

当我在Eclipse中编译项目时,有什么方法可以看到我的GCC编译器生成的汇编代码?

eclipse android gcc arm android-ndk

-2
推荐指数
1
解决办法
5608
查看次数

Cortex-a8上的NEON有多少个功能单元?

我的问题是ARM cortex-a8上的NEON单元有多少功能单元?如果我已经正确读取,TRM没有明确说明ARM cortex-a8的NEON核心上的功能单元数量.

embedded arm simd neon cortex-a8

-2
推荐指数
1
解决办法
395
查看次数

使用谓词指令将c转换为程序集

我想使用谓词指令将此代码转换为汇编

If (A>B){

    C=A;
    D=B;
    E=0

}

else{

    C=B;
} 
Run Code Online (Sandbox Code Playgroud)

它是正确的还是我如何使用跳跃?

cmp R1,R2; considering B is assigned to R2 and A assigned to R1
movlf R3,R1;R3 assign to C
mov R4,R2;R4 assign to D
mov R5,0; R5 assign to E
movlt R3,R2
Run Code Online (Sandbox Code Playgroud)

c assembly arm predicates

-2
推荐指数
1
解决办法
422
查看次数

这段代码中的 else 部分是什么意思?

我正在浏览一些嵌入式编程链接 http://www.micromouseonline.com/2016/02/02/systick-configuration-made-easy-on-the-stm32/

【注意上面链接的代码作者已经更新了代码,delay_ms()文章中的实现不再使用下图所示的解决方案。】

并最终得到以下代码。这是针对 ARM 架构的,但基本上这是一个函数,它会导致作为参数传递的某些毫秒的延迟。所以我可以理解 if 条件,但为什么这里需要 else 条件?有人可以向我解释一下吗?

void delay_ms (uint32_t t)
{
  uint32_t start, end;
  start = millis();//This millis function will return the system clock in 
                   //milliseconds
  end = start + t;
  if (start < end) {
     while ((millis() >= start) && (millis() < end))
     { // do nothing } 
  }
 else{
     while ((millis() >= start) || (millis() < end)) 
     {
      // do nothing
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

c embedded arm

-2
推荐指数
1
解决办法
209
查看次数

cortex-A53 中 L1 和 L2 缓存的写入策略是什么?

Cortex-A53 处理器有 1 到 4 个内核,每个内核都有一个 L1 内存系统和一个共享的 L2 缓存。

arm cpu-architecture cpu-cache cortex-a

-4
推荐指数
1
解决办法
1002
查看次数