在配置文件“rtconfig.h”中增加硬浮点FPU的配置项,

浮点经常会用到,所以默认使用硬浮点。
This commit is contained in:
勤为本 2017-09-13 15:21:09 +08:00
parent 8d90867182
commit 574e22bdbd
3 changed files with 8 additions and 0 deletions

View File

@ -94,8 +94,10 @@ void rt_hw_board_init(void)
/* init operating system timer */
rt_hw_timer_init();
#ifdef RT_USING_FPU
/* init hardware fpu */
rt_hw_fpu_init();
#endif
rt_kprintf("current sr: 0x%08x\n", read_c0_status());
}

View File

@ -75,6 +75,8 @@
#define RT_UART_RX_BUFFER_SIZE 64
// </section>
#define RT_USING_FPU
// <section name="RT_USING_CONSOLE" description="Using console" default="true" >
#define RT_USING_CONSOLE
// <integer name="RT_CONSOLEBUF_SIZE" description="The buffer size for console output" default="128" />

View File

@ -37,6 +37,7 @@
.macro SAVE_FPU
.set push
.set noreorder
#ifdef RT_USING_FPU
move k1, sp /* 保存现场 */
and k0, k1, 0xFFFFFFF8 /* 8字节对齐 */
PTR_SUBU sp, k0, PT_FPU_SIZE /* 计算栈底 */
@ -57,6 +58,7 @@
s.d $f28, PT_FPU_R28(sp)
s.d $f30, PT_FPU_R30(sp)
move sp, k1 /* 恢复现场 */
#endif
.set reorder
.set pop
.endm
@ -65,6 +67,7 @@
.macro RESTORE_FPU
.set push
.set noreorder
#ifdef RT_USING_FPU
move k1, sp /* 保存现场 */
and k0, k1, 0xFFFFFFF8 /* 8字节对齐 */
PTR_SUBU sp, k0, PT_FPU_SIZE /* 计算栈底*/
@ -85,6 +88,7 @@
l.d $f28, PT_FPU_R28(sp)
l.d $f30, PT_FPU_R30(sp)
move sp, k1 /* 恢复现场 */
#endif
.set reorder
.set pop
.endm