使用在线仿真器(ICE)进行程序优化

[09-12 18:30:23]   来源:http://www.88dzw.com  EDA/PLD   阅读:8655

文章摘要:图2:在设置窗口中设置源代码文件的起始点。图3:在程序文件中设置了起始点和结束点后的MVP窗口。2.设定外部输出条件:将e0、e1设为外部输出条件,如图4所示。图4:设置外部输出条件。3.设定测量条件:在图5所示的窗口中,将e0、e1设定为时间测量的起点和终点,并进行测量模式的设定。可以进行超过指定时间和在指定时间之内的测量统计。图5:设定时间测量的起点和终点,并进行测量模式的设定。4.运行程序:做好以上设定之后,可以运行程序,进行时间测量。5.测量结果显示:测量结束后,测量结果会以图表形式自动显示在报告窗口中,并且显示最长、最短、平均运行时间。(见图6)通过这个图表,用户可以清晰地了解这段代

使用在线仿真器(ICE)进行程序优化,标签:eda技术,eda技术实用教程,http://www.88dzw.com


  图2:在设置窗口中设置源代码文件的起始点。


  图3:在程序文件中设置了起始点和结束点后的MVP窗口。

  2.设定外部输出条件:将e0、e1设为外部输出条件,如图4所示。


  图4:设置外部输出条件。

  3.设定测量条件:在图5所示的窗口中,将e0、e1设定为时间测量的起点和终点,并进行测量模式的设定。可以进行超过指定时间和在指定时间之内的测量统计。



  图5:设定时间测量的起点和终点,并进行测量模式的设定。

  4.运行程序:做好以上设定之后,可以运行程序,进行时间测量。

  5.测量结果显示:测量结束后,测量结果会以图表形式自动显示在报告窗口中,并且显示最长、最短、平均运行时间。(见图6)通过这个图表,用户可以清晰地了解这段代码的运行时间分布情况,为代码优化提供最直接的依据。


  图6:通过以图表形式显示的测量结果,可以清晰地了解代码的运行时间分布。

  功能3:测量代码覆盖率

  代码覆盖率(Coverage Ratio)是指在一段代码中被执行到的语句占这段代码的比例。它是衡量代码质量的一个重要的指标,在代码测试工作中经常会被用到。在PC应用程序中测试代码覆盖率不是一件很难的事情,但是在嵌入式系统的实时环境中进行测量就比较困难。

  横河公司的advicePLUS仿真器就提供了这样的扩展功能,使嵌入式环境下测量代码覆盖率变成一件可以轻松完成的事情。设置方法很简单,只要在MVP的相应设置窗口中给出被测代码段的起始和终止地址,或者给出被测函数的名称即可。(见图7)



  图7:在MVP中进行代码覆盖率分析。

  程序运行结束后,代码覆盖率也会以图表的形式显示在结果窗口中。(见图8)从图表中可以很明显看出各个函数的代码执行情况。

  如:函数Strcpy()的代码覆盖率为0,说明此函数没有被执行过,对于编程者来说就要考虑这个函数是否有存在的必要。对于覆盖率很低的函数,需要考虑是否需要将此函数并入其他函数之中。


  图8:以图表形式显示的代码覆盖率。

  不只代码覆盖率可以测量,某一地址范围内的数据覆盖率也可以进行类似的测量。这一功能让使用者可以轻松掌握数据区的使用率信息。(见图9)


  图9:测试指定地址范围内的数据覆盖率。

  在嵌入式开发中进行程序优化并不是一件很容易的事情,ICE仿真器提供的这些功能可以让程序优化变得简单,让程序员能更有效地配置系统资源。

  需要注意的是,这些功能并不是所有ICE仿真器都能提供的。选择功能强大的仿真器能够给开发者带来的不只是开发效率的提高,也能够帮助开发者提高代码质量,使企业产品能够更加稳定可靠地运行。


上一页  [1] [2] 


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD

《使用在线仿真器(ICE)进行程序优化》相关文章

分类导航
最新更新
热门排行