1)启动epoc.exe
加载euser.dll
加载emulator.dll
阶段1:
如果手机采用的是NAND Flash, 那么NAND核心载入器会载入并启动Bootstrap程序。如果是NOR Flash,就可以直接运行存于其中的Bootstrap程序。Bootrom.bin文件就是所谓的Bootstrap程序,这个阶段的系统环境:CPU低速运行,MMU处于禁用状态,PC(R15_svc)的值为0;行为顺序:
1. 切换CPU到svc模式,并屏蔽所有中断
2. 初始化硬件并清理中断
3. 创建一个执行栈,将SP(R13_svc)指向这个栈
4. 创建和初始化RAM页分配器
5. 映射基本的内存页面目录及第一页的页表,MMU开始使用虚拟地址
6. 分配线程栈,将SP(R13_svc)指向这个栈
7. 切换到基本执行单元执行入口点
2)启动内核ekern.exe
加载ecust.dll
加载模拟器配置文件data/epoc.ini 此是配置Symbian模拟器加载图片,按键位置以及执行环境
阶段2:
这个阶段的主要是运行EKern.exe,系统环境:CPU全速运行,MMU可以使用;行为顺序:
1. BSP被初始化
2. 触发BP(Baseband Processor)开始执行电话模块(RTOS)
3. 加载内核扩展
4. 准备下一阶段的处理
3)根据配置中Extension = btracex.ldd;winsgui;elocd.ldd;
分别加载
btacex.ldd
winsgui.dll -> 此处有winows窗体的操作 会有窗体出现了
elocd.ldd
代码中还会添加medusiiw.pdd;exstart 这两项
我这里只提供了exstart.dll
4)启动文件系统efile.exe
加载efsrv.dll
加载hal.dll
加载elocal.FSY fat16 文件系统
加载erofs.fsy 文件系统
加载ecomp.fsy文件系统
阶段3:
这个阶段的主要是运行EFile.exe,系统环境:微核(Micro-Kernel)功能正常;行为顺序:
1. 启动文件服务器
2. 挂接第一个文件系统ROMFS
3. 启动线程加载器以提供可执行加载服务
4. 运行EStart进程
5. EStart运行后,它会加载其他的文件系统,恢复HAL设置如语言、地区等,最后开始系统启动
5)启动e32strt.exe ,它根据配置 是GUI启动 还是TEXT启动由此来启动
加载efsrv.dll
加载hal.dll
加载domaincli.dll
阶段4:
这个阶段运行Sysstart.exe程序,系统环境:Symbian Kernel 具有完整的服务功能。行为顺序:
1. 根据配置文件启动系统相关的服务。
2. 准备Window Server进程。
6)启动domainsrv.exe
加载efsrv.dll
加载domainPolicy.dll
7)启动ewsrv.exe 它是命令行的Windows 服务器
加载efsrv.dll
加载hal.dll
加载domaincli.dll
加载econs.dll console控制台
加载ektran.dll keytran 按键转换
加载edisp.dll 控制台显示
加载ekdata.dll 按键数据
阶段5:
这个阶段运行Ewsrv.exe程序,行为顺序:
1. 启动Window Server
2. 启动Wsini.ini文件中的进程。
8)启动eshell.exe
efsrv.dll
hal.dll
下载地址 http://download.csdn.net/detail/springsu/5226899
运行方法
解压文件后, 目录要完全与压缩包一致, 在epoc32\release\wins\udeb\epoc.exe 双击