- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows CE 嵌入式系统实例分析
提纲
WinCE 嵌入式系统原理
动态链接库的加载分析
线程在队列之间转换分析
虚存分配
文件系统的建立及访问过程
驱动程序加载
WinCE 嵌入式系统原理
概念:
嵌入式系统是不同于常见计算机系统的一种
计算机系统,它不以独立设备的物理形态出
现。
分类:
通用型的嵌入式操作系统如Windows CE、
VxWorks 、
嵌入式Linux等和专用型的嵌入式操作系统
如Palm OS、Symbian等
WinCE 嵌入式系统原理
组成及原理
从体系结构上看,嵌入式系统主要由嵌入式处理器、
支撑硬件和嵌入式软件组成。
其中嵌入式处理器通常是单片机或微控制器;支撑硬
件主要包括存储介质、通信部件和显示部件等;嵌入
式软件则包括支撑硬件的驱动程序、操作系统、支
撑软件以及应用中间件等。
它的部件根据主体设备以及应用的需要嵌入在设备
的内部,发挥着运算、处理、存储以及控制作用。
提纲
WinCE 嵌入式系统原理
动态链接库的加载分析
线程在队列之间转换分析
虚存分配
文件系统的建立及访问过程
驱动程序加载
动态链接库的加载分析
loader.c中程序代码的组织结构
module structure
LoadOneLibraryPart2加载DLL的过程
DLL加载过程— InitModule的执行
实例分析
loader.c中程序代码的组织结构
Win32 LoadLibrary call
HANDLE SC_LoadLibraryW(LPCWSTR lpszFileName)
HINSTANCE SC_LoadLibraryExW(LPCWSTR
lpLibFileName, HANDLE hFile, DWORD dwFlags)
HANDLE SC_LoadDriver(LPCWSTR lpszFileName)
HANDLE SC_LoadKernelLibrary(LPCWSTR
lpszFileName)
HANDLE SC_LoadIntChainHandler(LPCWSTR
lpszFileName, LPCWSTR lpszFunctionName,
BYTE bIRQ)
loader.c中程序代码的组织结构
Win32 FreeLibrary call
HANDLE SC_FreeIntChainHandler(HANDLE hLib)
BOOL SC_FreeLibrary(HANDLE hInst)
主要是FreeLibrary函数。这个API 函数负责卸载DLL。
它呼叫FreeOneLibrary这个函数,函数原型如下:
BOOL FreeOneLibrary(PMODULE pMod,
BOOL bCallEntry)
卸载的过程主要是由FreeOneLibraryPart2
负责
loader.c中程序代码的组织结构
Win32 GetProcAddress call
LPVOID SC_GetProcAddressA(HANDLE hInst, LPCSTR
lpszProc)
LPVOID SC_GetProcAddressW(HANDLE hInst, LPCSTR
lpszProc)
module structure
LoadOneLibraryPart2加载DLL
的过程
DLL加载过程— InitModule的
执行
呼叫OpenADll,产生线程指标(openexe_t)
设定module的e32 标头信息
DLL的内存配置与Module-BasePtr的取得
name和o32对象的内存配置
复位位映射
EXE的起始IP
呼叫OpenADll,产生线程指标
(openexe_t)
呼叫OpenADll,产生线程指
文档评论(0)