实验 7-1 WinCE启动与跟踪调试实验.pdf

实验 7-1 WinCE启动与跟踪调试实验.pdf

ID:55127533

大小:370.15 KB

页数:12页

时间:2020-05-10

实验 7-1 WinCE启动与跟踪调试实验.pdf_第1页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第2页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第3页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第4页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第5页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第6页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第7页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第8页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第9页
实验 7-1 WinCE启动与跟踪调试实验.pdf_第10页
资源描述:

《实验 7-1 WinCE启动与跟踪调试实验.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验7_1WinCE启动过程与跟踪调试实验一、WinCE启动过程分析第1步、启动SourceInsight程序,新建一个xsabse270工程,分别将下列目录下的所有文件添加到工程中($_PLATFORMROOT)Xsbase270src$(_PUBLICROOT)commonsrcsocpxa27x_ms_v1Inc($_PLATFORMROOT)commonsrcInc($_PLATFORMROOT)commonsrccommon第2步、打开$(_PLATFORMROOT)Xsbase270SrcCommonStartupStartup

2、.s,定位系统初始化启动函数Startup,分析Startup函数的对平台初始化处理过程,然后定位到调用函数OALStartup第3步、打开$(_PLATFORMROOT)Xsbase270SrcOalOalLibStartup.s,定位并分析OALStartup的功能,同时查找g_oalAddressTable变量的内容$(_PLATFORMROOT)xsbase270srcIncOemaddrtab_cfg.inc)1第4步、利用文本编辑器打开$(_PRIVATEROOT)WINCEOSCOREOSNKLDRARMarmstart.s文件,在Ker

3、nelStart函数中分别定位到调用ARMInit初始化和转跳到kernel.dll入口的位置。并分析KernelStart函数的基本作用。$(_PRIVATEROOT)WINCEOSCOREOSNKLDRARMarmstart.sLEAF_ENTRYKernelStart……;continueinitializationinCaddr0,sp,#KData-KStack;(r0)=ptrtoKDataStructstrr6,[r0,#pAddrMap];storeVAofOEMAddressTableinKDatablARMInit;callCfunctiontope

4、rformtherestofinitializations;uponreturn,(r0)=entrypointofkernel.dllmovr12,r0ldrr0,=KDatamovpc,r12;jumptoentryofkernel.dllVirtualStartDCDVStartENTRY_ENDKernelStart第5步、利用文本编辑器打开$(_PRIVATEROOT)WINCEOSCOREOSNKKERNELARMmdarm.c文件,根据源代码注释分析NKStartup函数作用,然后定位到OEMInitDebugSerial()、OEMInit()、Ker

5、nelStart()函数的位置。2$(_PRIVATEROOT)WINCEOSCOREOSNKKERNELARMmdarm.cvoidNKStartup(structKDataStruct*pKData){……//(1)pickupargumentsfromthenkloader……//(2)findentryofoal……//(3)setupvectors,UCmappings,modestacks,etc.ARMSetup();//(4)commonstartupcode.……OEMInitDebugSerial();//debugchkonlyworksafte

6、rwehavesomethingtoprintto.……OEMInit();//initializefirmware//flushI&DTLBOEMCacheRangeFlush(NULL,0,CACHE_SYNC_FLUSH_TLB);KernelFindMemory();DEBUGMSG(1,(TEXT("NKStartupdone,startingupkernel.r")));KernelStart();//neverreturnedDEBUGCHK(0);}第6步利用文本编辑器打开$(_PRIVATEROOT)WINCEOSCOREOSNKOEMSTUBo

7、emstub.c文件,分析OEMInitDebugSerial()、OEMInit()两个函数的调用过程。voidOEMInitDebugSerial(void){g_pOemGlobal->pfnInitDebugSerial();}voidOEMInit(void){g_pOemGlobal->pfnInitPlatform();}第6步利用文本编辑器打开$(_PRIVATEROOT)WINCEOSCOREOSNKOEMMAINoemglobal.c文件,利用PB帮

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。