完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-25 14:46 编辑
下面是我们在软仿真调试6711代码时出现的现象描述。 在软仿真下调试时发现,Load完out文件后,点击Debug下的go main,想让程序直接跳转到main()处,但发现需要很长时间才能跳转到到该处,后暂停代码运行时发现,代码停留在rts6700.lib库文件中的_memcpy62该函数处,也就是说程序一直在调用该函数,导致用时过长。同时发现,即使程序最终跳转到main()处后,下面代码中涉及到大量数组运算时,如FFT运算,也出现运算相当慢的情况。检查代码时,发现在main()函数的文件中定义了相当的大的数组用于存放所需信号信息。调试时发现,该数组越大,Load完out文件后,点击Debug下的go main,程序直接跳转到main()处所费时间也越长。 但同样的代码,在仿真器硬件调试下就没有这种现象,很快就能跳转到main()处,且后面进行FFT运算时也很快完成。 想咨询出现这种现象,是什么原因,是否是因为运行环境变量没有设置正确的原因? |
|
相关推荐
4个回答
|
|
软件仿真比硬件仿真慢是正常现象,因为软件仿真是在PC上用软件模拟芯片,如果电脑配置好,速度会提高。
你提到的数据是全局变量的初始化:从cinit拷贝到.bss段。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-25 00:32 你好,感谢您的回答。其实我就是想了解,如果研究算法的时候,没有硬件只能仿真的话,仿真的结果是否还是与实际硬件调试差别很大呢? |
|
|
|
软件仿真用来验证算法的正确性,以及算法优化,从profile可以得到代码本身所需要的cycle数。(软件仿真时间上慢是由于电脑造成的,真正的代码运行时间要看profile的cycle数) 硬件仿真涉及到系统架构,内存访问延时等,实际运行效率与软件仿真的结果会存在偏差。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-25 00:55 你好,感谢您的回复,学习很多。 之前有人说过,软件仿真的cycle数与硬件仿真的cycle数差很多,看来软件仿真比较还是模拟的,在保证算法正确以及优化下,还是重点在硬件上仿真,看实际的效果。 感谢! |
|
|
|
只有小组成员才能发言,加入小组>>
846 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2029 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3775 浏览 4 评论
5137 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1831 浏览 1 评论
CC3100BOOST使用CC3200lunchXL进行烧录
823浏览 2评论
51浏览 2评论
64浏览 2评论
56浏览 2评论
83浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-10 19:16 , Processed in 0.597533 second(s), Total 55, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号