美文网首页
嵌入式TM4C123GXL—— 编译效率

嵌入式TM4C123GXL—— 编译效率

作者: 泽泽馥泽泽 | 来源:发表于2017-12-14 19:29 被阅读0次

    嵌入式导论实验报告Guo-Lab3

    TM4C123GXL Performance

    实验题目

    熟悉实验环境和实验工具

    熟练使用C语言和GPOI的定义和改变

    实验目的

    搭建实验环境—Code Compose Studio,熟悉开发板EK-TM4C123GXL

    改变编译优先级观察开平方根运行效率

    实验要求

    先选择不同优化级别,运行程序,观察elapsed记录的对100和230400两个数求平方根的执行时间。

    使用PF1开灯和关灯语句取代用定时器测量的elapsed语句,用逻辑分析仪观察PF1波形,计算函数运算时间

    板级运行程序,观察pf2灯的亮灭、观察存入内存记录的PF2状态值,以及tt所求的ss平方根值

    实验过程

    1. 先选择不同优化级别,运行程序,观察elapsed记录的对100和230400两个数求平方根的执行时间。
    chart1.png
      ss = 230400;//100或100000;
      unsigned long sum=0;
      unsigned long i=10;
      while(i--)
      {
          before = NVIC_ST_CURRENT_R;//开始计时
          
          tt = sqrt(ss);
          
          elapsed = (before-NVIC_ST_CURRENT_R)&0x00FFFFFF;//相减计算出sqrt计算时间
          
          sum=sum+elapsed;
    
      }
      
      sum/=10;
      
    

    优先级为1的10次开方平均时间

    优先级低平均.png

    优先级为3的10次开方平均时间

    优先高平均.png
    1. 使用PF1开灯和关灯语句取代用定时器测量的elapsed语句,用逻辑分析仪观察PF1波形,计算函数运算时间
    chart2.png
    GPIO_PORTF_DATA_R= 0x02;   // turn on led LED
    
    tt = sqrt(ss);
    
    GPIO_PORTF_DATA_R = 0x00; // turn off led LED
    
    

    优先级为1的波形

    lab10.jpg

    优先级为3的波形


    lab10-2.jpg
    1. 板级运行程序,观察pf2灯的亮灭、观察存入内存记录的PF2状态值,以及tt所求的ss平方根值
    chart3.png

    Data的值,记录了LED的亮灭过程

    data结果.png

    Data[i]=0,灯灭;

    Data[i]=2,灯亮;

    Sqrt的值,记录了开根号的结果

    sqrt结果.png

    //拍照

        //Dump data to memory
        unsigned long i;
        unsigned long Sqrt[50];
        unsigned long Data[50];
        unsigned long Led;
        i = 0; // array index
        ss=10;
       while(1)
       {
           Led = GPIO_PORTF_DATA_R;   // read previous
           Led = Led^0x02;            // toggle red LED
           GPIO_PORTF_DATA_R = Led;   // output GPIO_PORTF_DATA_R;
           tt = sqrt(ss);
           if(i<50)
           {
              Sqrt[i] = sqrt(ss);  // sqrt
              Data[i] = GPIO_PORTF_DATA_R&0x02; // record PF2
              i++;
              ss=ss*2;
           }
            SysTick_Wait10ms(100);// wait 1s
        }
    
    

    实验总结

    板子开根号速度很快,如果用灯去观察计算的时间,灯亮灭就在瞬间除非加延迟。

    板子开根号速度只是灯不能捕捉,但是相对于普通加减乘除运算是很慢的了。开根号是加减乘除的500倍左右的时间。

    进行加减法运算


    +-.png

    进行乘除法运算


    乘除..png

    进行开根号运算

    优先高平均.png 照片.png

    相关文章

      网友评论

          本文标题:嵌入式TM4C123GXL—— 编译效率

          本文链接:https://www.haomeiwen.com/subject/qnhlwxtx.html