GD32F30x 是否带FPU?

[复制链接]
558|7
 楼主 | 2018-5-14 13:37 | 显示全部楼层
自己先顶下
编译出的汇编语言里确实有VMUL.F32  VMOV.F32等浮点指令
| 2018-5-17 11:45 | 显示全部楼层
M4的核,应该是有FPU模块的
| 2018-5-17 11:47 | 显示全部楼层
GD公司太低调了,应该大力宣传一下FPU核,DSP指令等功能!宣传嘛。。。。。。
| 2018-5-19 21:15 | 显示全部楼层
M4肯定是有浮点指令的,至于F30x有没有,需要看数据手册的。
| 2018-5-28 16:44 | 显示全部楼层
原来是屏蔽掉了FPU,现在已经全部打开
| 2018-10-14 22:16 | 显示全部楼层
begway 发表于 2018-5-28 16:44
原来是屏蔽掉了FPU,现在已经全部打开

请问怎么开启FPU?我定义了使用FPU,并且对寄存器也做了设置,但是查找FPU控制寄存器SCB->CPACR地址发现还是值还是0X00000000.
| 2018-10-15 12:05 | 显示全部楼层
zrzhou 发表于 2018-10-14 22:16
请问怎么开启FPU?我定义了使用FPU,并且对寄存器也做了设置,但是查找FPU控制寄存器SCB->CPACR地址发现 ...

你好,正如上面所说,GD32的F3系列在前期没有FPU功能,直到后期就开放了,如果您需要使用FPU,可以联系我获取关于FPU的固件包,QQ:461284759
至于您说的怎么使用FPU:在我的帖子里面有关于使用FPU的教程。
http://bbs.21ic.com/icview-2566124-1-1.html

资料来源于微信公众号“life_and_family”,更多相关资料可以关注下该公众号。
在GD32中的F3系列插件有两个版本,最开始的版本是不支持FPU的,后来的升级版才支持,如果现在的版本在targer中找不到下列的选项,那么就重新安装插件。而F4系列插件完全支持FPU。

打开FPU的步骤 1.在选项中找到上述的页面,选择使用use single precision。以下使用的是KEIL5的编译器,其他版本的也是类似。
2.使用F3系列,需要加入两条语句在gd32f3xx.h中加入#define__FPU_PRESENT   1
system_gd32f30x.c中的SystemInit()中加入  /* FPU settings */ //如果库中没有这条语句,就需要加上#if (__FPU_PRESENT== 1) && (__FPU_USED == 1)    SCB->CPACR |= ((3UL << 10*2)|(3UL<< 11*2));  /* set CP10 and CP11Full Access */#endif
如下图所示
使用F4系列gd32f4xx.h中加入#define__FPU_PRESENT   1

3.重新编译下载烧录即可。4.检查FPU是否打开。ajlink调试控制界面下,输入语句mem32 0XE000ED88  1具体看下图,得到为00F0 0000的值,证明FPU已经开启。
b.GD link的调试下在进入仿真阶段后,
点击下方memory ,在address 中输入0XE000ED88

出现上述圈中的词证明FPU已经打开。
资料来源于微信公众号“life_and_family”,更多相关资料可以关注下该公众号。

扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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