原子哥请教程序调试的问题!程序不进入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
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? 编译工具库和浮点支持指南"书中找到。。

一周热门 更多>