原子哥请教程序调试的问题!程序不进入main函数运行

2019-07-21 07:15发布

原子哥我自己写了个小程序,调试出点问题 Reset_Handler   PROC
                EXPORT  Reset_Handler             [WEAK]
                IMPORT  __main
                IMPORT  SystemInit
                LDR     R0, =SystemInit
                BLX     R0              
                LDR     R0, =__main
                BX      R0
                ENDP
Run不自动运行,必须在这块点复位后,然后单步执行才进入main函数
调试选项里的Run to main勾选了啊,这是什么情况啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
fxh125
1楼-- · 2019-07-22 04:38
原因找到了,特发此转过来~

因printf()之类的函数,使用了半主机模式。使用微库的话,不会使用半主机模式,所以就没有问题。 
添加下面代码,就可以使用标准库了: 
#pragma import(__use_no_semihosting) 
_sys_exit(int x) 

x = x; 

struct __FILE 

int handle; 
/* Whatever you require here. If the only file you are using is */ 
/* standard output using printf() for debugging, no file handling */ 
/* is required. */ 
}; 
/* FILE is typedef’ d in stdio.h. */ 
FILE __stdout;


这个问题可以在"RealView? 编译工具库和浮点支持指南"书中找到。。
snail519
2楼-- · 2019-07-22 10:15
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-22 12:49
回复【9楼】snail519:
---------------------------------
我们的例程是仿真usart.c里面的.
87812889
4楼-- · 2019-07-22 13:09
正点原子 发表于 2013-2-27 21:50
直接下载,能不能跑?
不调试。

请问原子哥,直接下载能跑,只要debug就跑步了是什么情况
silence877
5楼-- · 2019-07-22 13:56
楼主,keil里面的通电后从main开始运行,这里有没有打勾?写进程序后,重新断电试试看
不是我的错
6楼-- · 2019-07-22 16:09
楼主我遇到了同样的问题,感谢分享谢谢

一周热门 更多>