首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >配置GCC目标CPU

配置GCC目标CPU
EN

Stack Overflow用户
提问于 2018-09-04 04:50:21
回答 1查看 553关注 0票数 0

我有一个Zynq 7000目标硬件。我由一个双核臂,皮质A-9与霓虹灯和VFP协处理器.必须通过对FPEXC寄存器的写访问来启用协处理器.

使霓虹灯和FPU能用于裸金属显示了相应的代码。问题是GCC (GNU汇编程序)不接受代码。错误是:

错误:选定的处理器不支持请求的特殊用途寄存器--“processor,r0”

下面是完整的最小源代码示例:

代码语言:javascript
运行
复制
  .text

  .global enableNeon
 enableNeon:
    mrc p15,0,r0,c1,c0,2    // Read CP Access register
    orr r0,#0x00f00000      // Enable full access to NEON/VFP (Coprocessors 10 and 11)
    mcr p15,0,r0,c1,c0,2    // Write CP Access register
    isb
    mov r0,#0x40000000      // Switch on the VFP and NEON hardware
    msr fpexc,r0            // Set EN bit in FPEXC
    bx lr

  .end

Xilinx的GCC编译器使用以下选项启动:

代码语言:javascript
运行
复制
arm-none-eabi-gcc -c -o "monitor.o" -mcpu=cortex-a9 -mfpu=neon-vfpv4  monitor.s

看起来GCC并没有意识到CPU有FPEXC寄存器。我如何配置GCC以支持CPU、协处理器和专用寄存器FPXEC的代码生成?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-10 23:02:30

GNU汇编程序希望看到此寄存器的VMSR指令:

代码语言:javascript
运行
复制
 vmsr fpexc,r0            // Set EN bit in FPEXC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52158986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档