如何调试NativeSample
//=====================================================================
//TITLE:
// 如何调试NativeSample
//AUTHOR:
// norains
//DATE:
// Sturday 25-September-2010
//Environment:
// KEIL MDK 4.0
//=====================================================================
如果要调试.Net Micro Framework,那么首先第一步就是要调试NativeSample。不过调试这个工程就和我们平时调用驱动的方法不一样。调试驱动,你可以不用JTAG工具,只用串口消息也能达到目的。但对于NativeSample就不一样了,特别是自己新建的Solution,一切都只是一个空壳。不要说串口信息,就连能正常工作的寄存器还不一定给设置好。如果贸然地将编译通过的文件下载到CPU中,那么能不能跑起来,跑起来后会怎么样,估计你不借助JTAG工具绝对是眼前一抹黑。
那么,我们应该如何调试这个NativeSample呢?如果你使用的是MDK,那么事情就没那么复杂了。这篇文章,建立于开发环境已经完备的情况下,如果你的开发环境还没设置完毕,可以参考别的文章。
因为我们是要调试NativeSample,所以首先要编译一个DEBUG版本。在开始菜单输入“CMD”,进入命令行,然后输入如下指令:
Msbuild ./Solutions/$PlatformDir$/NativeSample /t:build /p:flavor=debug;memory=ram
如果你使用的是ARM架构,并且又编译成功的话,那么在“BuildOutput/THUMB2/MDK3.80a/le/RAM/debug/$PlatformName$/bin”能找到相应的axf文件。
这时候,就可以打开MDK,新建一个工程了。需要注意的是,工程只需要选择相应的CPU类型,并且不要添加启动代码。接着在依次点击Project->Options For Target,然后选择Output这个标签,点击“Select Folder for Object..”选择NativeSample.axf所在的路径,并且将调试的AXF name也改为NativeSample.AXF,如图:
因为我这里是使用的是J-Link,所以需要在Debug标签选择相应的调试工具。另外的话,如果想在开始调试的时候,通过脚本文件对寄存器进行一番设置,也可以在Debug标签中进行选择,如图所示:
接着便是对下载的FLASH进行设置,因为我使用的是J-LINK,所以这里也是选择J-LINK,如图:
不过这时候还不能完事,因为可能Flash还不一定合适,所以需要点击“Setting”做一步的设置。比如说,如果你使用的是STM32F103ZE的话,那么还需要选择相应的FLASH大小,如图:
一切设置完毕,点击Debug按钮,就能够通过J-LINK断点调试NativeSample了,如图: