当前位置: 首页 > news >正文

STM32启用FPU浮点运算

这篇文章产生背景:其他人的文章太杂了,对我这种菜鸡无法接受;

参考文章:

stm32h743单片机嵌入式学习笔记7-FPU_stmh743vit4-CSDN博客

stm32F407 打开 FPU(浮点运算处理器)_stm32f407开启fpu-CSDN博客

STM32F4+CubeMX+Hal库下使能FPU_stm32cubemx 怎么配置开启fpu-CSDN博客

本人发布文章

2024.9.13

使用STM32G4系列使用cubemax产生工程;

重点:怎么打开FPU浮点硬件运算;

1、不需要多余的操作,不需要去定义宏,也不需要你去写什么打开操作;

重点1:

完毕!可以使用FPU了;我不知道为啥能搞一堆乱糟糟的东西;

触发原理:

不想了解的,可以不用看;

1、首先需要去寄存器打开这个FPU的硬件使能

这个打开在.S文件的上电复位就有,

原函数在

文件:system_stm32g4xx.c

void SystemInit(void)

原型:

void SystemInit(void)
{/* FPU settings ------------------------------------------------------------*/#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)SCB->CPACR |= ((3UL << (10*2))|(3UL << (11*2)));  /* set CP10 and CP11 Full Access */#endif/* Configure the Vector Table location add offset address ------------------*/
#if defined(USER_VECT_TAB_ADDRESS)SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
#endif /* USER_VECT_TAB_ADDRESS */
}

编译后,编译后,编译后:三次且加粗:为什么需要编译,操作重点1后,没有编译,勾选后不生效;

跳转定义如下两个定义:能跳转,并且都是1,那么就打开FPU:SCB->CPACR这两个寄存器可以查手册;

__FPU_PRESENT

__FPU_USED

尽管跳转后是灰色的:但是跳转过来指示的行,定义是 1,而不是下面的0;所以已经宏开启,FPU已经开启了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MVCC机制解析:提升数据库并发性能的关键
  • LabVIEW减速机加载控制系统
  • SpringCloud-04 OpenFeign服务调用与负载均衡
  • Springboot 集成 Swing
  • 【面试八股总结】GMP模型
  • 小程序开发设计-第一个小程序:创建小程序项目④
  • curl格式化json之jq工具?
  • Java高级编程——泛型(泛型类、泛型接口、泛型方法,完成详解,并附有案例+代码)
  • 6--SpringBootWeb案例(详解)
  • springboot实战学习笔记(2)
  • vue项目中,属性表头默认为横向排列,却没有纵向排列的组件或相关属性,如何将其纵向排列?
  • vivado中选中bd文件后generate output product是什么用,create HDL wrapper是什么用
  • Java | Leetcode Java题解之第414题第三大的数
  • 检查和测绘室内防撞无人机技术详解
  • 828华为云征文|Flexus X实例Docker+Jenkins+gitee实现CI/CD自动化部署-解放你的双手~
  • [译]CSS 居中(Center)方法大合集
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 2019.2.20 c++ 知识梳理
  • Codepen 每日精选(2018-3-25)
  • Django 博客开发教程 8 - 博客文章详情页
  • ERLANG 网工修炼笔记 ---- UDP
  • fetch 从初识到应用
  • idea + plantuml 画流程图
  • Java-详解HashMap
  • js如何打印object对象
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • mysql_config not found
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Sublime text 3 3103 注册码
  • Terraform入门 - 3. 变更基础设施
  • vue-loader 源码解析系列之 selector
  • 成为一名优秀的Developer的书单
  • 关于使用markdown的方法(引自CSDN教程)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 京东美团研发面经
  • 山寨一个 Promise
  • 使用parted解决大于2T的磁盘分区
  • 我的面试准备过程--容器(更新中)
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • AI算硅基生命吗,为什么?
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #if和#ifdef区别
  • #includecmath
  • #Z2294. 打印树的直径
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (4)STL算法之比较
  • (笔试题)合法字符串
  • (二)windows配置JDK环境
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552