OpenEdv-开源电子网

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

程序停在 BX R0

[复制链接]

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
发表于 2014-5-10 09:33:30 | 显示全部楼层 |阅读模式
5金钱
(STM32F103)写定时器输入捕获的程序,单步运行时发现程序停在了
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
中的    BX  R0  一行,貌似没能进入主函数,请问是怎么回事?

最佳答案

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

全速下,还有把断点打在MAIN就好了,前面你去理他干吗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-5-10 09:33:31 | 显示全部楼层
全速下,还有把断点打在MAIN就好了,前面你去理他干吗
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13086
金钱
13086
注册时间
2012-11-26
在线时间
3809 小时
发表于 2014-5-10 11:18:10 | 显示全部楼层
1楼正解               ...
学无止境
回复

使用道具 举报

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
 楼主| 发表于 2014-5-10 13:15:09 | 显示全部楼层
回复【2楼】聚东风:
---------------------------------
可是如果我不是单步运行的话,直接dowmload程序连主函数都进不去不就完全不可能出结果了么??
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-5-10 13:47:09 | 显示全部楼层
如果你连主函数都到达不了,那只能证明你工程建错了,一般而言,只要你勾了这个都会自己跑过去的,即使是你不勾,你也可以让在void main{}的第一个左括号那打断点,全速下就到了

回复

使用道具 举报

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
 楼主| 发表于 2014-5-10 14:48:08 | 显示全部楼层
回复【5楼】聚东风:
---------------------------------
我都勾选过了,还是不行,设置断点也不行。
可是比较奇葩的问题是,我把输入捕获删除,单纯在这个工程中点亮LED灯的话,LED会亮。
可是如果我在输入捕获程序运行的同时点亮led就不好使。。。
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-5-10 15:03:45 | 显示全部楼层
。。。。你单纯把LED尝试下1秒亮1秒灭看看,再跑段时间看看,按说工程建立好,不仅main真是。。。
回复

使用道具 举报

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
 楼主| 发表于 2014-5-10 15:36:35 | 显示全部楼层
回复【7楼】聚东风:
---------------------------------
我在原工程中,只做了一个流水灯的程序,是好使的。
所以我想可能是程序卡死在中断中了。
我的程序中有两个中断:定时器中断(得到输入捕获值)和串口通信中断
定时器中断的优先级比较高
可能是中断因此程序卡死么?
当  程序死在               BX      R0时 ,我stop后程序停在了中断的程序里面
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2014-5-10 16:04:26 | 显示全部楼层
你开始写的好像是系统初始化的吧?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2014-4-6
在线时间
0 小时
发表于 2014-6-2 23:00:22 | 显示全部楼层
回复【6楼】馨馨泡沫:
---------------------------------请问楼主解决了吗,我也遇到相同问题。可以分享一下心得不
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2014-4-6
在线时间
0 小时
发表于 2014-6-2 23:54:24 | 显示全部楼层
我也遇到同样的问题,后来发现是工程建立的问题。
我的解决方法是进入Option ---target 将 use microLib 勾选上,具体的原因还不太明确。我的猜想可能是在程序中使用了C库(printf)的原因。具体关于use microLib  可以参照
http://www.openedv.com/posts/list/2685.htm
回复

使用道具 举报

29

主题

486

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3083
金钱
3083
注册时间
2014-7-19
在线时间
413 小时
发表于 2015-5-22 14:16:57 | 显示全部楼层
我也遇到过,程序下进去不运行了,刚开始还能运行的,
后来我发现的我BOOT0和BOOT1的原因
BOOT1=x  BOOT0=0  从用户闪存启动,这是正常的工作模式
BOOT1=0  BOOT0=1  从系统存储器启动,这种种模式启动的程序只能由厂家设置
BOOT1=1  BOOT0=1  从内置SRAM启动,这种模式可以用于调试

我的BOOT0确实是接在0V上了,但是我的BOOT1是悬空的,量的时候电压是1.85V

造成两种情况:可能进到用户闪存启动,也就是正常的工作模式
                      也有可能程序下进去后不运行,不知道从哪开始运行,陷入一种程序卡死的状态
                       Debug也看不出来程序到哪,因为它根本没进main函数
所以BOOT0即使接了地,BOOT1无论是接3V3还是0V,一定是不能悬空的!!
电子人生!
回复

使用道具 举报

29

主题

486

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3083
金钱
3083
注册时间
2014-7-19
在线时间
413 小时
发表于 2015-5-22 16:39:11 | 显示全部楼层
果断还是跪了,一会行一会不行,是不是我焊接的时候出问题了,而且我的BOOT到地的电阻是100K的,为何一下程序能跑起来,一下又跑不起来!
我怀疑是芯片挂了!!
电子人生!
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2015-6-26
在线时间
0 小时
发表于 2015-6-26 20:05:15 | 显示全部楼层
回复【13楼】翱翔云端的鸟:
-----------------------------楼主,你的BX R0能跳过去了吗?
回复

使用道具 举报

29

主题

486

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3083
金钱
3083
注册时间
2014-7-19
在线时间
413 小时
发表于 2015-6-27 11:47:21 | 显示全部楼层
回复【14楼】gang19910702:
---------------------------------
没有  我重新焊接了块 好了
电子人生!
回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-6-27
在线时间
4 小时
发表于 2015-6-27 16:09:57 | 显示全部楼层
我有碰到这个问题,开始是用st-linkv2来进行仿真的,总是只能跑到这个位置;也是没办法仿;后来按上面和其他的网上描述的改这个和改那个,还是不行,重新启动电脑,还是不行;幸好我的板子上还留了个j-link的仿真接口,我就改为jlink的仿,一点仿真就跳出说我的断点bp设置的太多了,并提示去掉那个断点;我靠,原来是这个问题导致的;去掉断点后,立刻所有的工具都能仿真了;
回复

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-4-10
在线时间
0 小时
发表于 2015-8-12 18:57:31 | 显示全部楼层
回复【11楼】Laputa_fly:
---------------------------------
你的回答帮了我大忙!但我想知道为什么使用printf会使得main函数进不去!
回复

使用道具 举报

28

主题

176

帖子

0

精华

高级会员

Rank: 4

积分
738
金钱
738
注册时间
2014-7-1
在线时间
180 小时
发表于 2016-6-20 11:24:50 | 显示全部楼层
Laputa_fly 发表于 2014-6-2 23:54
我也遇到同样的问题,后来发现是工程建立的问题。
我的解决方法是进入Option ---target 将  ...

非常感谢,解决了我的问题
回复

使用道具 举报

0

主题

22

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2013-11-11
在线时间
0 小时
发表于 2016-7-30 00:01:32 | 显示全部楼层
Laputa_fly 发表于 2014-6-2 23:54
我也遇到同样的问题,后来发现是工程建立的问题。
我的解决方法是进入Option ---target 将  ...

谢谢了,我也遇到这个问题了。我再代码中只写LED程序和另一些操作,IIC之类的。但是假如某些代码之后,系统都不启动了,根本不运行=。调试运行发现停在LDR     R0, =SystemInit
勾选了那个之后就好了。
回复

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2016-2-2
在线时间
12 小时
发表于 2016-9-3 22:53:25 | 显示全部楼层
Laputa_fly 发表于 2014-6-2 23:54
我也遇到同样的问题,后来发现是工程建立的问题。
我的解决方法是进入Option ---target 将  ...

顶顶你,我的也解决了
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-10
在线时间
0 小时
发表于 2017-5-1 00:21:59 | 显示全部楼层
zyp96 发表于 2015-6-27 16:09
我有碰到这个问题,开始是用st-linkv2来进行仿真的,总是只能跑到这个位置;也是没办法仿;后来按上面和其 ...

非常感谢你的回答,帮了我大忙,谢谢!
回复

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2015-12-25
在线时间
10 小时
发表于 2019-4-22 15:19:37 | 显示全部楼层
聚东风 发表于 2014-5-10 13:47
如果你连主函数都到达不了,那只能证明你工程建错了,一般而言,只要你勾了这个都会自己跑过去的,即使是你 ...

不懂别比比好么
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2019-5-5 12:45:19 | 显示全部楼层
zjtwxws 发表于 2019-4-22 15:19
不懂别比比好么

呵呵,自己体会下吧,真是哪都有这种BB
回复

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2015-12-25
在线时间
10 小时
发表于 2019-5-9 19:09:15 | 显示全部楼层
聚东风 发表于 2019-5-5 12:45
呵呵,自己体会下吧,真是哪都有这种BB

la  jiji
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2019-7-6
在线时间
10 小时
发表于 2019-8-25 01:31:20 | 显示全部楼层
Laputa_fly 发表于 2014-6-2 23:54
**** 作者被禁止或删除 内容自动屏蔽 ****

感谢!我也遇到同样的问题了,可以好好研究下
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-9-10
在线时间
3 小时
发表于 2020-9-26 11:20:59 | 显示全部楼层
我碰到这个问题了。前面以为是我的程序问题,就一直找原因
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-17 05:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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