• gcc for arm cortex a 编译的代码没有生成 vsqrt 指令?

    oska874
    oska874

    现在用cortex a9,和arm-eabi-gcc 编译一段数学运算,其中有乘除和sqrt,编译选项 -mfpu=vfpv3 -mfloat-abi=softfp,看了反汇编,已经有 vmul,vdiv 这些浮点指令了,但是 sqrt 却是调用的 sqrt 函数,没有生成 vsqrt 指令。然后-O1 优化之后,才生成了 vsqrt 指令。这是怎么回事?

    为什么乘除的浮点指令都生成了,而sqrt 却只能在打开优化才能生成vsqrt?

    另外,arm gcc 的 -O1 选项都打开那些优化了?

    • over 1 year ago
    • 中文社区
    • 中文社区论区
  • 使用arm gcc 编译代码,sqrt 没有生成 vsqrt 指令而是调用的sqrt函数

    oska874
    oska874

    现在用cortex a9,和arm-eabi-gcc 编译一段数学运算,其中有乘除和sqrt,编译选项 -mfpu=vfpv3 -mfloat-abi=softfp,看了反汇编,已经有 vmul,vdiv 这些浮点指令了,但是 sqrt 却是调用的 sqrt 函数,没有生成 vsqrt 指令。然后-O1 优化之后,才生成了 vsqrt 指令。这是怎么回事?

    为什么乘除的浮点指令都生成了,而sqrt 却只能在打开优化才能生成vsqrt?

    另外,arm gcc 的 -O1 选项都打开那些优化了?

    • over 1 year ago
    • 中文社区
    • 中文社区论区
  • 求系统学习ARM的方法

    Senyan
    Senyan

    我现在正从事嵌入式系统开发的工作,为ARM-based ASIC开发固件(包括ROM部分)。整个工程不是从零开始的,是基于前辈的代码,所以大部分时候即使用到ARM的某些特性只要做局部的学习就好。现在新一代产品需要从ARM Cortex-A9移植到A7,发现缺乏对ARM架构的系统学习很大程度上限制了工作的开展。每次遇到问题也都去查阅TRM以及架构manual,但是经常因为知识的不足得不到一个完整的答案。我想向您请教下,是否有推荐的书籍或者课程可以帮助我系统的学习?如果说官方的TRM和Architechture…

    • over 4 years ago
    • 中文社区
    • 中文社区论区
  • [新闻]ARM推出全新超高能效Cortex-A32处理器, 扩大嵌入式与物联网产品阵容

    Song Bin 宋斌
    Song Bin 宋斌
    Cortex-A32_Block_Diagram.png

    2016年2月24日,北京讯——ARM针对下一代嵌入式产品推出ARM® Cortex®-A32,为超高能效应用处理器系列再添新成员。Cortex-A32处理器采用ARMv8-A架构,赋予功耗有限的32位嵌入式应用更多优势。相较其他同类处理器,Cortex-A32拥有最小体积和最佳的能效表现。

    ARM 处理器部门总经理James McNiven表示:“ARM提供无与伦比的处理器产品组合,能驱动数十亿计的超高能效嵌入式设备。Cortex-A32处…

    • over 4 years ago
    • 中文社区
    • 中文社区论区
  • ARMv7多核处理器问题

    Cheng Lee
    Cheng Lee

    最近搞飞思卡尔iMX6 4核A9处理器,有几个问题要请教下:

    1、每个核都是有一套独立的指令寄存器吧,问题来了,PC寄存器和一些状态寄存器是否也是独立的?

    2、在裸机开发的情况下,怎么获取当前的代码运行在哪个核上面?

    3、如果在多核处理器上面实现一个longjmp应如何实现?longjmp只能实现核内长跳吗?

    4、核处于关闭状态,来一中断后,是所有核都唤醒还是只有其中一个?核被关闭后,然后被唤醒,需要重新初始化核的PLL等那些参数吗?standby状态与其他两关闭状态主要区别在哪?

    5、中断发生后,哪个核要进行中断服务处理是程序员事件还是硬件事件…

    • Answered
    • over 5 years ago
    • 中文社区
    • 中文社区论区
  • cortex-A A8,A9,A15 的Instruction Cycle Timing 是完全相同的吗

    siman
    siman

    大家好,

    我在A15上编写汇编,发现A8 和A9 Technical Reference Manual 中有一章是将Instruction Cycle Timing,但是在A15的Technical Reference Manual 中没有找到,想问下A8,A9,A15 的ARM指令集的 Instruction Cycle Timing 是一样的吗?

    另外,关于neon的 Instruction Cycle Timing 我也只在A8手册Technical Reference Manual 中看到,A8…

    • Answered
    • over 5 years ago
    • 中文社区
    • 中文社区论区
  • Cortex A5 MPcore寄存器TPIDRPRW复位值不为零,造成Linux Kernel不能启动的问题

    lixiaobin
    lixiaobin

    问题现象:

      Cortex A5 MPcore寄存器TPIDRPRW复位值不为零,造成Linux Kernel不能启动的问题。

    问题原因分析:

      由于Linux Kernel内核配置使能了CONFIG_TRACE_IRQFLAGS,内核在跟踪关闭硬件中断行为时(trace_hardirqs_off_caller()),调用内核中__my_cpu_offset()(以汇编指令mrc p15, 0, r2, c13, c0, 4实现)以获取寄存器TPIDRPRW的值来获取当前线程/进程信息时…

    • over 5 years ago
    • 中文社区
    • 中文社区论区
  • Asynchrous External Data Abort in ARMv7

    chinatiger
    chinatiger

    hi, experts:

    以Cortex-A7 CPU为例:

    如果在程序执行过程中:发生了一个Asynchrous External Data Abort,它会很快进入Data Abort handler吗?

    (Synchrous Data Abort会立即进入Data Abort handler.)

    不清楚Asynchrous external data abort,什么时候才会进入Data abort handler!

    best wishes,

    • Answered
    • over 6 years ago
    • 中文社区
    • 中文社区论区
  • 如何理解Cortex-A57只包含GIC CPU Interface?

    chinatiger
    chinatiger

    hi, experts:

    CA57 TRM说:

    它只包含GIC CPU Interface。

    请教2个问题:

    1. CA57的SOC,需要另外集成GIC-400 IP吗?

    2. GIC-400里的GIC CPU Interface会和CA57的各个Core对应的GIC CPU Interface连接吗?

    best wishes,

    • Answered
    • over 6 years ago
    • 中文社区
    • 中文社区论区
  • 什么是PoU和PoC?

    larry
    larry

    在cortex a7上看到PoC和PoU的概念如下:

    PoC: the PoC is the point at which all blocks, for example, cores, DSPs, or DMA engines, that canaccess memory are guaranteed to see the same copy of a memory location.

    PoU: the PoU for a core is the point at which the instruction…

    • Answered
    • over 6 years ago
    • 中文社区
    • 中文社区论区
  • View related content from anywhere
  • More
  • Cancel