void main( void )
{
/* Initialize BSL */
EVMDM365_init( );
TEST_execute( ADC_test, "ADC Converters", 1 );
printf( "\n***ALL Tests Passed***\n" );
SW_BREAKPOINT;
}
这里#define SW_BREAKPOINT asm( " .long 0xE1200070" );
想问下SW_BREAKPOINT 在这里起什么作用?是不是就是设置一个中断点,相当于程序调试时运行到这里就停止?
那为什么要这要设置呢?
理解的是对的。
#define SW_BREAKPOINT asm( " .long 0xE1200070" );
定义的时注释为Software Breakpoint code. Uses inline assembly command ,即用内联的汇编命令来实现软件中断点。当运行程序时,运行到这里,就会停下来。
其中有一个用处就是当程序出错时,可以打印一行提示信息,并且程序停在这里而并没有退出,这样用户可以使用watch查看变量等调试工作。相当于对可能出现问题的地方做了预判。
|