OpenEdv-开源电子网

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

keil5 仿真调试为什么不能全速运行 只能单步

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-1-20
在线时间
4 小时
发表于 2016-1-25 13:51:09 | 显示全部楼层 |阅读模式
1金钱

按了run 还是 单步运行

按了run 还是 单步运行

而且 setup里设置 这样写也会出错。。

而且 setup里设置 这样写也会出错。。

最佳答案

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

我解决了,在工程选项的output选项卡中,把create batch file勾上就可以了。另外Target目录把Use Micro LIB选择上。 网上也有其他说法的,比如工程路径名中有中文或中文字符等。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

290

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-8-4
在线时间
107 小时
发表于 2016-1-25 13:51:10 | 显示全部楼层
我解决了,在工程选项的output选项卡中,把create batch file勾上就可以了。另外Target目录把Use Micro LIB选择上。
网上也有其他说法的,比如工程路径名中有中文或中文字符等。
活到老,学到老。
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-1-20
在线时间
4 小时
 楼主| 发表于 2016-1-25 13:55:33 | 显示全部楼层
新人 求助 其他人却没有这个问题,是我电脑问题吗 软件重装了会是不能全速运行
回复

使用道具 举报

16

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2015-12-21
在线时间
18 小时
发表于 2016-1-25 16:59:50 | 显示全部楼层
可能是代码有问题。比如访问了不存在的内存或寄存器等等,全速就跑不起来。
回复

使用道具 举报

24

主题

208

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2014-4-8
在线时间
160 小时
发表于 2016-3-5 11:59:04 | 显示全部楼层
顶一下
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-3-5 22:48:51 | 显示全部楼层
跑到哪里去了?
回复

使用道具 举报

2

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2014-9-17
在线时间
8 小时
发表于 2016-7-21 21:25:30 | 显示全部楼层
楼主,问题解决没有,遇到相同问题了,求指教
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-11-27
在线时间
44 小时
发表于 2016-8-29 16:45:51 | 显示全部楼层
刚刚也遇到相同情况,我之前几次都是可以全速运行的,后来提示了个什么错误,然后就这样了。重新打开工程进入,直接点全速运行,就卡在系统初始化这句,不能进main函数,只能用单步。别的工程是可以全速仿真的。
IMPORT  SystemInit
-->          LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
回复

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2016-8-30 11:28:54 | 显示全部楼层
设置一个断点,然后RUN,看看
回复

使用道具 举报

10

主题

254

帖子

0

精华

高级会员

Rank: 4

积分
594
金钱
594
注册时间
2015-10-17
在线时间
145 小时
发表于 2016-8-30 11:43:45 | 显示全部楼层
一直都没有进入主函数,然后在那两个语句中循环,仿真下例程吧,应该是代码的问题。
开着单片机翱翔在天空
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-8-31 21:46:28 | 显示全部楼层
407不支持软件仿真哦
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-11-27
在线时间
44 小时
发表于 2016-9-1 08:52:33 | 显示全部楼层
xujian468 发表于 2016-8-30 11:28
设置一个断点,然后RUN,看看

设置断点也没什么用,点全速运行,只要一松左键,就自动弹出来了,然后一看,还是在系统初始化那里没动,点单步是可以的。
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-11-27
在线时间
44 小时
发表于 2016-9-1 08:59:19 | 显示全部楼层
原_子_哥门徒 发表于 2016-8-30 11:43
一直都没有进入主函数,然后在那两个语句中循环,仿真下例程吧,应该是代码的问题。

嗯,应该是代码有问题,因为新建工程添加程序进去,设置了断点,刚开始能全速仿真运行到某一行程序,然后就会死在那里,自动停止仿真,然后就再也不能全速仿真了。别的工程都是可以正常仿真的。哦,忽略了个重要的说明,就是这个工程下仿真是用ST-LINK会这样,J-LINK就完全没事。
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2014-11-27
在线时间
44 小时
发表于 2016-9-1 09:01:33 | 显示全部楼层
正点原子 发表于 2016-8-31 21:46
407不支持软件仿真哦

我用的是103硬件仿真,不知道别的小伙伴出现这样的问题是用的什么
回复

使用道具 举报

119

主题

439

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1185
金钱
1185
注册时间
2015-9-18
在线时间
422 小时
发表于 2016-9-1 09:04:17 | 显示全部楼层
使用SW模式看看
电子爱好者
回复

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2016-8-31
在线时间
12 小时
发表于 2016-10-12 16:47:10 | 显示全部楼层
请问大家都解决了吗?是代码的问题吗?
回复

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2016-8-31
在线时间
12 小时
发表于 2016-10-12 16:55:17 | 显示全部楼层
新手菜鸟 发表于 2016-7-21 21:25
楼主,问题解决没有,遇到相同问题了,求指教

我也遇到了相同的问题,不知道怎么办
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2015-6-18
在线时间
17 小时
发表于 2016-10-12 20:48:12 | 显示全部楼层
最有可能是代码错误,没有按照规则写!
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-12-22
在线时间
0 小时
发表于 2016-12-22 10:16:56 | 显示全部楼层
新人求解,keil v5.21a,一个最简单的“hello,word”调试要点3下才进到main函数:
回复

使用道具 举报

4

主题

290

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-8-4
在线时间
107 小时
发表于 2018-1-5 10:18:38 | 显示全部楼层
我也遇到这个问题,103工程移植到STM32L071上,main之前要单步运行几十下才能全速运行。
还不知道怎么解决,有人知道怎么解决能否共享下,谢谢您。
活到老,学到老。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2017-11-22
在线时间
7 小时
发表于 2018-8-2 13:42:30 | 显示全部楼层
kingnike 发表于 2018-1-10 14:19
我解决了,在工程选项的output选项卡中,把create batch file勾上就可以了。另外Target目录把Use Micro LIB ...

厉害了
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-10-24
在线时间
7 小时
发表于 2019-4-30 14:02:13 | 显示全部楼层
遇到类似问题,在“options for target“......” / Debug ”将默认的dialog DLL 及Parameter 改为“Darmstm.dll”“-p STM32F103RC”;
芯片选得是 STM32F1103RC。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-5-6
在线时间
0 小时
发表于 2020-5-6 22:43:15 | 显示全部楼层
类似问题,同上方法偿试。问题依旧。

freeRTOS在LPC1788上仿真问题

freeRTOS移植到LPC1788上,KEIL5.14 编译无错。
单步运行,RTOS可运行正常。
但全速仿真和下固件均不运行,点RUN立即停止。


通过排查锁定,发现问题点在prvStartFirstTask。
仿真方式:
断点设在A,此函数前,从main开始可全速run至断点A。
断点设在B,此函数后,点run后立即立即,继续点单步也不可仿真。RTOS不运行。
断点设在A和B,RUN至A后,单步跳过prvStartFirstTask可以。RTOS正常运行。

固件方式:
将HEX固件通过isp固化进cpu。上电os不启动。

各种偿试:
将断点前后加固定延时,问题依旧。


FreeRTOS V9.0.0的port.c

__asm void prvStartFirstTask( void )
{
        PRESERVE8

        /* Use the NVIC offset register to locate the stack. */
        ldr r0, =0xE000ED08
        ldr r0, [r0]
        ldr r0, [r0]

        /* Set the msp back to the start of the stack. */
        msr msp, r0
        /* Globally enable interrupts. */
        cpsie i
        cpsie f
        dsb
        isb
        /* Call SVC to start the first task. */
        svc 0
        nop
        nop
}


BaseType_t xPortStartScheduler( void )
{
    // <-断点A
    /* Start the first task. */
    prvStartFirstTask();
    // <-断点B
}

void vTaskStartScheduler( void )
{

  if( xPortStartScheduler() != pdFALSE )
  {
      /* Should not reach here as if the scheduler is running the function will not return. */
   }


//---------------------------------------------
int main(void)
{
  /* 启动任务调度 */           
  if(pdPASS == xReturn)
  {            
     vTaskStartScheduler();   /* 启动任务,开启调度 */
   }
}
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-9-28
在线时间
0 小时
发表于 2020-9-28 09:49:03 | 显示全部楼层
huchpe 发表于 2016-12-22 10:16
**** 作者被禁止或删除 内容自动屏蔽 ****

你好,我也遇到了一样的现象,需要点3下run程序才能跑起来,请问你解决了吗?
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-10-10
在线时间
1 小时
发表于 2021-6-29 22:34:08 | 显示全部楼层
1911963119 发表于 2020-9-28 09:49
你好,我也遇到了一样的现象,需要点3下run程序才能跑起来,请问你解决了吗?

你这个应该是串口问题,没有选择useMicroLib,
解决办法选择MicroLib,或者假如sys_exit避免半主机模式
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 02:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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