硬汉嵌入式论坛

 找回密码
 立即注册
查看: 486|回复: 1
收起左侧

RT_thread系统开启FPU和DSP库

[复制链接]

7

主题

4

回帖

25

积分

新手上路

积分
25
发表于 2023-12-25 21:01:05 | 显示全部楼层 |阅读模式


对于FPU的浮点数运算的功能,可以在core_sc300.h中,设置
#define __FPU_USED   1U,也可以在DSP库的打开方式中,包含了__FPU_USED=1

打开DSP库的方式是
1、在C/C++构建-->设置-->GNU ARM Cross Complier-->Preprocessor中,定义
ARM_MATH_CM4
__TARGET_FPU_VFP
__FPU_PRESENT=1
__FPU_USED=1

2、在C/C++构建-->设置-->GNU ARM C Linker->Libraries中,定义
arm_cortexM4lf_math
在path路径中定义:




回复

使用道具 举报

7

主题

4

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2023-12-25 21:01:39 | 显示全部楼层
`__FPU_PRESENT` 和 `__FPU_USED` 是两个与浮点单元(FPU)相关的宏定义,它们在编译器中具有不同的作用。

1. `__FPU_PRESENT`:
   - `__FPU_PRESENT` 宏用于检查目标设备是否具有浮点单元(FPU)。
   - 如果目标设备有浮点单元,则该宏被定义为一个非零值。
   - 如果目标设备没有浮点单元,则该宏被定义为零。
   - 在使用浮点运算指令之前,可以使用 `__FPU_PRESENT` 宏进行条件判断,以确保目标设备支持浮点运算。

2. `__FPU_USED`:
   - `__FPU_USED` 宏用于告知编译器在代码中使用浮点运算指令。
   - 如果代码中使用了浮点运算指令,则需要定义 `__FPU_USED` 宏。
   - 编译器将根据该宏的定义,生成相应的浮点运算指令。

在使用带有浮点单元的处理器时,一般会同时定义 `__FPU_PRESENT` 和 `__FPU_USED` 宏。这样可以确保编译器在编译时正确生成适用于具有浮点单元的指令。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 16:30 , Processed in 0.313573 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表