|
AN40447 E' ^( T, Z- P3 x, ?; v- C& F 应用笔记 a3 Q" l6 N k2 j" y( g/ l 基于STM32微控制器上的浮点单元的性能演示$ M. R* i% J1 F) g5 F 前言0 _8 g6 c3 Q! [ ^" H 本应用笔记介绍了如何使用STM32 Cortex®-M4和STM32 Cortex®-M7微控制器中可用的浮点单元(FPU),并对浮点运算作了简要介绍。X-CUBE-FPUDEMO固件是为改进双精度FPU而开发,并能演示使用此硬件实现所带来的改进。第 4节:应用程序示例中给出了两个示例。$ e& u1 z5 B; K/ R8 M5 @6 w . Q$ J9 _. [2 T! g! O5 G4 ^ 1、浮点算法 浮点数用来表示非整数。它们包含三个字段: • 符号 • 指数 • 小数 这样的表示可实现非常宽的数字编码范围,使得浮点数成为处理实数的最佳方式。可以使用集成在处理器中的浮点单元(FPU)来加速浮点计算。 : D+ K9 P) w: J, v4 J! s 1.1 定点或浮点 可替代浮点的一种方式是定点,其中指数字段是固定的。但是如果要在无FPU的处理器上获得更好的定点计算速度,那么数字范围及其动态范围就会较低。因此,使用定点技术的开发人员必须要仔细检查算法中的缩放/饱和问题。 2 q% g* {% ^7 H9 S0 r6 M# g2 E
' e L$ f& d5 E4 \8 P3 O% b C语言为浮点运算提供了float和double类型。更高层次上,模块化工具,如MATLAB或Scilab,主要使用float或double来生成C代码。不支持浮点意味着会修改所生成的代码,将其改编为定点。所有定点运算都必须由程序员手动编码。7 _$ I4 j$ N0 p
浮点运算直接用于代码中时, 可以减少项目的开发时间。它是实现任何数学算法的最有效方 法。) d3 c ?$ Y; L. k 。。。1 T2 z2 g+ P) q- r " J, d) Y( t! n 阅读更多内容,请下载文档:0 @6 H: d1 v/ d; W* G9 U 6 h& o3 I4 |" F+ L5 b 下载地址1>> 下载地址2>>. W2 G6 [% c7 s6 v7 C ! w8 {3 X" E7 \, W# L1 O; W. x& C |
![]() 学习学习。。 |
微信公众号
手机版