海王  

http://blog.csdn.net/liujia2100/article/details/7459683

 

在调试一个代码时,编译能顺利编过。可是,就是不能执行。找了半天才发现,原来是浮点问题。由于6410支持硬件浮点,找了很久,才弄清楚怎么使用硬件浮点。

1.RVDS2.2 选择VFP2
2.在初始化时,配置协处理器来打开和配置浮点部件。


VFPEnable                           EQU        (0x40000000)
;------------------------------------ 
; Enable VFP via Coprocessor Access Control Register 
;------------------------------------ 
    mrc        p15, 0, r0, c1, c0, 2 
    orr         r0, r0, #0x00F00000 
    mcr        p15, 0, r0, c1, c0, 2 
 
;------------------------------------ 
; Add following: SISO added 
; Enable FPEXC enable bit to enable VFP 
;------------------------------------ 
    MOV        r1, #0 
    MCR        p15, 0, r1, c7, c5, 4 
    MOV        r0,#VFPEnable 
    FMXR       FPEXC, r0       ; FPEXC = r0 
    nop 
;    nop 
;    nop 
;    nop 
;    nop 

 
 
posted on 2017-01-03 14:08  海王  阅读(491)  评论(0编辑  收藏  举报