- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32F4 的FPU 的配置
STM32F4 的FPU 的配置
编译环境为EWARM-6601
首先看下面一段代码:来自core_cm4.h文件
/*! __FPU_USED to be checked prior to making use of FPU specific registers and functions */
#if defined ( __CC_ARM )
#if defined __TARGET_FPU_VFP
#if (__FPU_PRESENT == 1)
#define __FPU_USED 1
#else
#warning Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
#define __FPU_USED 0
#endif
#else
#define __FPU_USED 0
#endif
#elif defined ( __ICCARM__ ) //IAR编译工具的开关
#if defined __ARMVFP__ //要求编译出的文件使用FPU功能 #if (__FPU_PRESENT == 1) //检查是否有FPU功能
#define __FPU_USED 1
#else
#warning Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
#define __FPU_USED 0
#endif
#else
#define __FPU_USED 0
#endif
#elif defined ( __GNUC__ )
#if defined (__VFP_FP__) !defined(__SOFTFP__)
#if (__FPU_PRESENT == 1)
#define __FPU_USED 1
#else
#warning Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
#define __FPU_USED 0
#endif
#else
#define __FPU_USED 0
#endif
#elif defined ( __TASKING__ )
/* add preprocessor checks to define __FPU_USED */
#define __FPU_USED 0
#endif
这里针对各种工具链设置了相应的条件编译选项,这里只说的,其他工具链的用户请参考本文自行修改最上层的开关是 __CC_ARM 这个宏,很明显这个开关是针对MDK工具的,同理IAR工具的开关就叫做 __ICCARM__ 了;然后一个开关就是__ARMVFP__ 了,这个开关要求编译出的文件使用FPU功能,但是m4的FPU并不是必装设备,某些厂家可能会不装这个东西,所以需要检查是否有FPU,即 __FPU_PRESENT 这个开关。在core_cm4.h中有这样的代码#ifndef __FPU_PRESENT
#define __FPU_PRESENT 0
#warning __FPU_PRESENT not defined in device header file; using default!
#endif
#ifndef __MPU_PRESENT
#define __MPU_PRESENT 0
#warning __MPU_PRESENT not defined in device header file; using default!
#endif
由上述代码可以知道CMSIS默认的定义是没有FPU的,所以需要我们手动添加FPU存在的定义__FPU_PRESENT 1
这样FPU存在与否的检查就通过了,所以后面就自动定义了 __FPU_USED
您可能关注的文档
- 高中英语特殊句式精编.ppt
- 高中地理 第二节 自然环境与人类活动区域差异.ppt
- 高中英语状语从句讲解与练习 完整版.doc
- MODO中英文对照.docx
- 高中英语语法定语从句教案与练习.doc
- 高中语法讲义2-定语从句与名词性从句.doc
- 高二学考关系副词引导定语从句.doc
- 高二英语 Unit 5 Travelling abroad(Grammar-定语从句) 新人教版选修7.ppt
- 高二新人教版英语必修5 Unit 3 Life in the future Using Language.ppt
- My Most Unforgettable Character 我 最 难 忘 的 人.doc
- 上课《归园田居(其一)》课件28张.pptx
- 色彩的魅力课件55.ppt
- 山水田园诗导学练习鉴赏.ppt
- 部编版《白鹭》课件.pptx
- 《Excel在财务中的应用》项目七 全面预算编制方法与应用 教学课件.pptx
- 《Excel在财务中的应用》项目六 利润管理决策模型与应用 教学课件.pptx
- 《Excel在财务中的应用》项目五 运营资金的管理 教学课件.pptx
- 《Excel在财务中的应用》项目四 项目投资管理决策与应用 教学课件.pptx
- 《Excel在财务中的应用》项目三 筹资管理决策模型与应用 教学课件.pptx
- 《Excel在财务中的应用》项目二 Excel 常用函数基础 教学课件.pptx
文档评论(0)