wince 5.0 内核启动顺序(ARM)
2013-11-01 22:46
453 查看
上表是基于ARM 的wince内核启动顺序.
粗体字表示OEM 需要定制的部分.
1. Startup() ->Startup.s
位于%_WINCEROOT%\Platform\<Hardware PlatformName>\Src\Kernel\OAL 目录下
这个函数是bootloader调转到run-time镜像后最先执行的代码,位于我们的BSP开发包中,由OEM定制.程序最后启动KernelStart().
2. KernelStart() -> Armtrap.s(Private)
位于 %_WINCEROOT%\Private\Winceos\Coreos\Nk\Kernel\ARM目录下
这个函数是内核的Main Entry 点.
3.
ARMInit() -> Mdarm.c (Private)
位于 %_WINCEROOT%\Private\Winceos\Coreos\Nk\Kernel\ARM目录下
这个函数调用4,5来对Main Arm 进行初始化动作.
4.
OEMInitDebugSerial() -> Mdarm.c(Private)
位置同上.
初始化串口,调用BSP包中的串口函数(由OEM定制的部分).
5.
OEMInit() -> Init.c
%_WINCEROOT%\Platform\<HardwarePlatform Name>\Src\Kernel\OAL
这个位于我们BSP开发包中,由OEM自行定制,不用多说,做过OAL开发的都知道.
6.KernelInit() -> Kwin32.c(Private)
%_WINCEROOT%\Private\Winceos\Coreos\Nk\Kernel目录下
该函数调用7,8,9,10函数对内进行初始化动作.
7.
HeapInit() -> Heap.c(Private)
%_WINCEROOT%\Private\Winceos\Coreos\Nk\Kernel目录下
初始化内核堆.
8.
InitMemoryPool() -> Physmem.c(Private)
%_WINCEROOT%\Private\Winceos\Coreos\Nk\Kernel目录下
初始化内核内存池
9.
ProcInit() -> Schedule.c(Private)
%_WINCEROOT\Private\Winceos\Coreos\Nk\Kernel
初始化内核进程.
10.
SchedInit() -> Schedule.c(Private)
_WINCEROOT\Private\Winceos\Coreos\Nk\Kernel
初始化调度管理器(scheduler),创建SystemStatupFunc线程.
11.
FirstSchedule() -> Schedule.c(Private)
%_WINCEROOT\Private\Winceos\Coreos\Nk\Kernel
启动调度管理器(scheduler), 调用SystemStartupFunc(),IOCTL_HAL_POSTINIT
12.
SystemStartupFunc() -> Schedule.c(Private)
%_WINCEROOT\Private\Winceos\Coreos\Nk\Kernel
当所有内核需要的初始化动作完成之后并且当系统准备启动和运行内核线程,SystemStartupFunc被调用.SystemStartupFunc以IOCTL_HAL_POSTINIT为参数调用OEMIoControl,OEMIoControl,
13. OEMIoControl,这个我也不多说了,由我们OEM定制.
以上为wince 基于ARM cpu 的内核启动的过程.
相关文章推荐
- Windows下怎样解压.tar.xz文件
- unsigned char与unsigned char m_array[5]
- 分析ecshop赠品在购物车中出现
- 16进制数转十进制数—实现C语言
- apue 学习笔记(2)
- Sublime Text2 常用快捷键
- 使用Mahout搭建推荐系统之入门篇1-搭建REST风格简单推荐系统
- wordpress资源
- 11.1会议记录
- Lua操作mysql
- 二维数组的二分查找
- 应届程序员笔试的困境—作弊与否
- nyoj-784-Sigma
- css代码规范
- grub 无法正常安装
- ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
- OpenCV图象孔洞内轮廓填充
- PPT快捷键大全,让你快人一步
- OpenCV_轮廓的查找、表达、绘制、特性及匹配
- Oracle创建表空间、创建用户以及授权、查看权限常用sql语句