OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4281|回复: 3

求助一个模拟器仿真与JTAG硬件仿真,运行时间不一致的问题

[复制链接]

12

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2014-8-6
在线时间
8 小时
发表于 2015-1-9 16:21:09 | 显示全部楼层 |阅读模式
5金钱
一。目的:在《跑马灯》程序里做了一个小小实验,延时几十秒时间,验证软件模拟器运行与JTAG硬件运行,两者运行时间是否一致。
二。代码如下:
 int main(void)
 {
   u32 ls=0;
   delay_init();    //延时函数初始化  
   LED_Init();   //初始化与LED连接的硬件接口
 
   。。。
    ls=0;
    while(ls<0x3fffffc)     //软件延时,几十秒时间
     {
          ls++;
      }

     delay_ms(1500);    //一共延时9秒
     delay_ms(1500);
     delay_ms(1500);
     delay_ms(1500);
     delay_ms(1500);
     delay_ms(1500);
     。。。

   while(1)
   {
       。。。
   }
}

三。测试结果:1.   while(ls<0x3fffffc)延时的两端打上断点,用软件模拟器的Sec算出来约为17秒钟;    用JTAG硬件运行,掐表约38秒钟。
                        2.  delay_ms延时的两端打上断点用软件模拟器Sec算出来为9秒钟;     JTAG硬件运行,掐表也为9秒钟。
。用的MDK是3.80A
。疑问:为什么delay_ms延时,两者运行时间都一致;   而用 while(ls<0x3fffffc)延时,两者运行时间差别这么大呢?先谢谢大家!


最佳答案

查看完整内容[请看2#楼]

JTAG仿真看时间,其实不太准确。 有专门追踪时间的,有个J Trace,楼主搞个高档点的仿真器试试吧。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-1-9 16:21:10 | 显示全部楼层
JTAG仿真看时间,其实不太准确。
有专门追踪时间的,有个J Trace,楼主搞个高档点的仿真器试试吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11559
金钱
11559
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-1-9 17:00:21 | 显示全部楼层
遇到过类似问题,仿真运行和脱离仿真运行,时间基本差一倍。
还不明白怎么回事。
回复

使用道具 举报

12

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2014-8-6
在线时间
8 小时
 楼主| 发表于 2015-1-12 11:39:49 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
原来JTAG硬件仿真,还可以看运行时间啊,谢谢原子哥。我一直是掐表的,哈哈。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 05:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表