Embedded TI AM3517 Cortex-A8上的浮点设置/错误

Embedded TI AM3517 Cortex-A8上的浮点设置/错误,embedded,neon,iar,fpu,cortex-a8,Embedded,Neon,Iar,Fpu,Cortex A8,执行时,我收到未定义的指令异常: 0xED2D8B0E VPUSH {D8-D14} (注意:该语句是由编译器作为C语言函数入口协议的一部分生成的。) 初始化代码: 寄存器(在VPUSH之前): 工具: IAR嵌入式工作台IDE和编译器-7.40 I-Jet调试探针 变焦AM3517评估板 TI AM35X Cortex-A8处理器 问题: 在上面的初始化代码中,需要哪些语句 霓虹灯和哪一个用于VFP NEON和NEON是否缺少任何初始化说明 VFP初始化 是否

执行时,我收到未定义的指令异常:

   0xED2D8B0E         VPUSH    {D8-D14}
(注意:该语句是由编译器作为C语言函数入口协议的一部分生成的。)

初始化代码: 寄存器(在VPUSH之前): 工具:
  • IAR嵌入式工作台IDE和编译器-7.40
  • I-Jet调试探针
  • 变焦AM3517评估板
  • TI AM35X Cortex-A8处理器
问题:
  • 在上面的初始化代码中,需要哪些语句 霓虹灯和哪一个用于VFP
  • NEON和NEON是否缺少任何初始化说明 VFP初始化
  • 是否需要在宏文件中放置调试语句 调查

  • 问题中的代码正确初始化Cortex-A8处理器上的浮点处理器


    获取未定义指令异常(导致此问题)的问题是O.S.向FPEXC寄存器写入无效值,导致浮点处理器被禁用。

    问题中的代码正确初始化Cortex-A8处理器上的浮点处理器


    获取未定义指令异常(导致此问题)的问题是O.S.向FPEXC寄存器写入无效值,导致浮点处理器被禁用。您的应用程序代码是在安全状态下运行还是在非安全状态下运行?如果您希望非安全访问工作,那么在从安全世界中退出之前肯定会有一些问题。您的应用程序代码是在安全状态下运行还是在非安全状态下运行?如果你想不安全地进入工作岗位,那么在从安全的世界中退出之前肯定会有很多问题。
    ;; Initialize VFP (if needed).
    ;; BL      __iar_init_vfp  HJ REMOVED AND REPLACED WITH BELOW
     MRC    p15, #0, r1, c1, c0, #2         ; r1 = Access Control Register
     ORR    r1, r1, #(0xf << 20)            ; enable full access for p10,11
     MCR    p15, #0, r1, c1, c0, #2         ; Access Control Register = r1
     MOV    r1, #0
     MCR    p15, #0, r1, c7, c5, #4         ; flush prefetch buffer because of FMXR below
                                            ; and CP 10 & 11 were only just enabled
                                            ; Enable VFP itself
     MOV    r0,#0x40000000
     FMXR   FPEXC, r0                       ; FPEXC = r0
    
    MRC         p15,0,R1,C1,C0,0
    LDR         R0,=CP_DIS_MASK      ;; 0xFFFFEFFA
    AND         R1,R1,R0
    ORR         R1,R1,#(1<<12)
    MCR         p15,0,R1,C1,C0,0
    
    CPSR:  0x80000113  
    APSR:  0x80000000  
    SPSR:  0x000001D3