6852|10

5310

帖子

453

TA的资源

五彩晶圆(高级)

楼主
 

【M4 开发板入门】EKK-LM4F232探索三 M4的FPU功能 [复制链接]

我们通过个简单的例子看看FPU有什么能耐!

 

环境说明:KEIL 模拟仿真下 CORTEX M3选择LM3S9B96

测试要求:计算1*05

#define T  20

#define F  (1.0F / (float)T)

int main(void)

{

    tContext sContext;

    tRectangle sRect;

 

       static char pcCanvasText[5];

    static char pcSliderText[5];

           

       float test;            

      

      C=1;

   

      test = (float)C * F;

                                                    

       usprintf(pcCanvasText, "%3d%%",test);

}

 

m39.JPG (63.67 KB, 下载次数: 3)

m39.JPG

最新回复

必须顶一下  详情 回复 发表于 2011-10-14 19:36
 
点赞 关注

回复
举报

5310

帖子

453

TA的资源

五彩晶圆(高级)

沙发
 
__aeabi_ui2f:
0x00002108 2396      MOVS     r3,#0x96
0x0000210A 2200      MOVS     r2,#0x00
0x0000210C 4611      MOV      r1,r2
0x0000210E F000B81F  B.W      _float_epilogue (0x00002150)

                 _float_epilogue:
0x00002150 B410      PUSH     {r4}
0x00002152 FAB0FC80  CLZ      r12,r0
0x00002156 FA00F00C  LSL      r0,r0,r12
0x0000215A EA500401  ORRS     r4,r0,r1
0x0000215E BF04      ITT      EQ
0x00002160 BC10      POPEQ    {r4}
0x00002162 4770      BXEQ     lr
0x00002164 B149      CBZ      r1,0x0000217A
0x00002166 F1CC0420  RSB      r4,r12,#0x20
0x0000216A FA21F404  LSR      r4,r1,r4
0x0000216E FA11F10C  LSLS     r1,r1,r12
0x00002172 BF18      IT       NE
0x00002174 2101      MOVNE    r1,#0x01
0x00002176 4321      ORRS     r1,r1,r4
0x00002178 4308      ORRS     r0,r0,r1
0x0000217A EBA3010C  SUB      r1,r3,r12
0x0000217E 1DCB      ADDS     r3,r1,#7
0x00002180 0601      LSLS     r1,r0,#24
0x00002182 0A00      LSRS     r0,r0,#8
0x00002184 2B00      CMP      r3,#0x00
0x00002186 BFBE      ITTT     LT
0x00002188 2000      MOVLT    r0,#0x00
0x0000218A BC10      POPLT    {r4}
0x0000218C 4770      BXLT     lr
0x0000218E EB0050C3  ADD      r0,r0,r3,LSL #23
0x00002192 4410      ADD      r0,r0,r2
0x00002194 2900      CMP      r1,#0x00
0x00002196 BFA4      ITT      GE
0x00002198 BC10      POPGE    {r4}
0x0000219A 4770      BXGE     lr
0x0000219C 1C40      ADDS     r0,r0,#1
0x0000219E 0049      LSLS     r1,r1,#1
0x000021A0 BF08      IT       EQ
0x000021A2 F0200001  BICEQ    r0,r0,#0x01
0x000021A6 BC10      POP      {r4}
0x000021A8 4770      BX       lr
0x000021AA 0000      MOVS     r0,r0
                 __aeabi_fmul:
0x0000209C EA800201  EOR      r2,r0,r1
0x000020A0 B510      PUSH     {r4,lr}
0x000020A2 F0024200  AND      r2,r2,#0x80000000
0x000020A6 0040      LSLS     r0,r0,#1
0x000020A8 D026      BEQ      0x000020F8
0x000020AA 004B      LSLS     r3,r1,#1
0x000020AC D023      BEQ      0x000020F6
0x000020AE EA4F6110  LSR      r1,r0,#24
0x000020B2 EB016113  ADD      r1,r1,r3,LSR #24
0x000020B6 F3C00056  UBFX     r0,r0,#1,#23
0x000020BA F3C30356  UBFX     r3,r3,#1,#23
0x000020BE F4400000  ORR      r0,r0,#0x800000
0x000020C2 F4430300  ORR      r3,r3,#0x800000
0x000020C6 FBA03003  UMULL    r3,r0,r0,r3
0x000020CA F1A1017F  SUB      r1,r1,#0x7F
0x000020CE EA4F4000  LSL      r0,r0,#16
0x000020D2 041C      LSLS     r4,r3,#16
0x000020D4 D001      BEQ      0x000020DA
0x000020D6 F1000001  ADD      r0,r0,#0x01
0x000020DA EA504013  ORRS     r0,r0,r3,LSR #16
0x000020DE D401      BMI      0x000020E4
0x000020E0 0040      LSLS     r0,r0,#1
0x000020E2 1E49      SUBS     r1,r1,#1
0x000020E4 B2C3      UXTB     r3,r0
0x000020E6 060C      LSLS     r4,r1,#24
0x000020E8 EB0410D0  ADD      r0,r4,r0,LSR #7
0x000020EC 1C40      ADDS     r0,r0,#1
0x000020EE 0840      LSRS     r0,r0,#1
0x000020F0 2B80      CMP      r3,#0x80
0x000020F2 D002      BEQ      0x000020FA
0x000020F4 E003      B        0x000020FE
0x000020F6 2000      MOVS     r0,#0x00
0x000020F8 BD10      POP      {r4,pc}
0x000020FA F0200001  BIC      r0,r0,#0x01
0x000020FE 2900      CMP      r1,#0x00
0x00002100 DA00      BGE      0x00002104
0x00002102 2000      MOVS     r0,#0x00
0x00002104 4310      ORRS     r0,r0,r2
0x00002106 BD10      POP      {r4,pc}
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

板凳
 

环境说明:KEIL 板载ICD仿真下 CORTEX M4选择LM4F232

测试要求:计算1*05

#define TICKS_PER_SECOND 20

#define FSECONDS_PER_TICK (1.0F / (float)TICKS_PER_SECOND)

static volatile unsigned long g_ulTickCount;

int main(void)

{

    FPUEnable();

    FPULazyStackingEnable();

    

      

       while(1)

    {

        float fElapsedTime;

        float fRadians;

        float fSine;

 

              fElapsedTime = (float)g_ulTickCount * FSECONDS_PER_TICK;      

      

       }

}

[ 本帖最后由 蓝雨夜 于 2011-10-13 13:44 编辑 ]

m42.JPG (72.35 KB, 下载次数: 6)

m42.JPG
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

4
 

0x0000233C 6830      LDR           r0,[r6,#0x00]

0x0000233E EDDF0A23  VLDR          s1,[pc,#0x8C]

0x00002342 EE000A10  VMOV          s0,r0

0x00002346 EEB80A40  VCVT.F32.U32  s0,s0

0x0000234A EE200A20  VMUL.F32      s0,s0,s1

 

 

 

 

 

 

 

**程序前一定要加**

FPUEnable();

FPULazyStackingEnable();

 

不然在计算的时候会进入FaultISR

m43.JPG (63.53 KB, 下载次数: 4)

m43.JPG
 
 
 

回复

2804

帖子

0

TA的资源

五彩晶圆(初级)

5
 
这个帖子会不会是TI M4应用教程国内第一帖?
 
个人签名QQ:1625345502
 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

6
 
牛 支持支持
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

7
 
给力啊 啊!!!
 
 
 

回复

547

帖子

0

TA的资源

纯净的硅(初级)

8
 
评论真不错
 
个人签名嵌入式培训www.51great.org
 
 

回复

1729

帖子

0

TA的资源

五彩晶圆(初级)

9
 
写的很好,谢谢分享啊,为我们的M4道路扫盲啊!
 
 
 

回复

80

帖子

0

TA的资源

纯净的硅(初级)

10
 
可以写个简单的傅立叶变换不?看看性能。

[ 本帖最后由 weirgu 于 2011-10-13 16:58 编辑 ]
 
 
 

回复

5015

帖子

13

TA的资源

裸片初长成(初级)

11
 
必须顶一下
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表