arm 嵌入式LINUX启动过程(1)
时间:11-09
来源:互联网
点击:
全局变量区域。
2。保存与系统相关的信息:如
.longSYMBOL_NAME(compat)
.longSYMBOL_NAME(__bss_start)
.longSYMBOL_NAME(_end)
.longSYMBOL_NAME(processor_id)
.longSYMBOL_NAME(__machine_arch_type)
.longSYMBOL_NAME(cr_alignment)
.longSYMBOL_NAME(init_task_union)+8192
不用讲,大家一看就明白意思
3。重新设置堆栈指针,指向init_task的堆栈。init_task是系统的第一个任务,init_task的堆栈在taskstructure的后8K,我们后面会看到。
4。最后就要跳到C代码的start_kernel。
bSYMBOL_NAME(start_kernel)
现在让我们来回忆一下目前的系统状态:
临时页表已经建立,在0X08004000处,映射了4M,虚地址0XC000000被映射到0X08000000.
CACHE,MMU都已经打开。
堆栈用的是任务init_task的堆栈。
2。保存与系统相关的信息:如
.longSYMBOL_NAME(compat)
.longSYMBOL_NAME(__bss_start)
.longSYMBOL_NAME(_end)
.longSYMBOL_NAME(processor_id)
.longSYMBOL_NAME(__machine_arch_type)
.longSYMBOL_NAME(cr_alignment)
.longSYMBOL_NAME(init_task_union)+8192
不用讲,大家一看就明白意思
3。重新设置堆栈指针,指向init_task的堆栈。init_task是系统的第一个任务,init_task的堆栈在taskstructure的后8K,我们后面会看到。
4。最后就要跳到C代码的start_kernel。
bSYMBOL_NAME(start_kernel)
现在让我们来回忆一下目前的系统状态:
临时页表已经建立,在0X08004000处,映射了4M,虚地址0XC000000被映射到0X08000000.
CACHE,MMU都已经打开。
堆栈用的是任务init_task的堆栈。
arm嵌入式LINUX启动过 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)