GD32F30x 是否带FPU?

[复制链接]
1248|19
 楼主 | 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-17 20:30 | 显示全部楼层
在GD32中的F3系列插件有两个版本,最开始的版本是不支持FPU的,后来的升级版才支持,如果现在的版本在targer中找不到下列的选项,那么就重新安装插件。而F4系列插件完全支持FPU。
| 2018-10-17 20:30 | 显示全部楼层
1.在选项中找到上述的页面,选择使用use single precision。以下使用的是KEIL5的编译器,其他版本的也是类似。
| 2018-10-17 20:31 | 显示全部楼层
2.使用F3系列,需要加入两条语句在gd32f3xx.h中加入#define__FPU_PRESENT   
| 2018-10-17 20:31 | 显示全部楼层
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
| 2018-10-17 20:31 | 显示全部楼层
使用F4系列在gd32f4xx.h中加入#define__FPU_PRESENT   1
| 2018-10-17 20:32 | 显示全部楼层
3.重新编译下载烧录即可。
| 2018-10-17 20:32 | 显示全部楼层
4.检查FPU是否打开。a在jlink调试控制界面下,输入语句mem32 0XE000ED88  
| 2018-10-17 20:33 | 显示全部楼层
得到为00F0 0000的值,证明FPU已经开启。
| 2018-10-17 20:33 | 显示全部楼层
b.在GD link的调试下在进入仿真阶段后, 点击下方memory ,在address 中输入0XE000ED88
| 2018-10-17 20:33 | 显示全部楼层
即可开启
| 2018-12-3 17:08 | 显示全部楼层
原来说没有,屏蔽掉了,现在说都打开了。
| 2018-12-3 21:28 | 显示全部楼层
楼主为啥不关注下我呢~ 我之前写过的,您可以看下,刚好案例就是使用30x系列作为打开FPU 的案例
http://bbs.21ic.com/icview-2566124-1-1.html
| 2019-1-28 17:27 | 显示全部楼层
因为gd之前模仿stm32f103太厉害了,现在他们抬不起头做人了。。。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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