Chinaunix首页 | 论坛 | 博客
  • 博客访问: 488126
  • 博文数量: 93
  • 博客积分: 1431
  • 博客等级: 上尉
  • 技术积分: 1006
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-18 10:30
文章分类

全部博文(93)

文章存档

2011年(20)

2010年(2)

2009年(71)

我的朋友

分类: LINUX

2009-09-09 16:58:56

搞了几个月 COTEX构架的STM32后,又开始回归linux了。
学习arm linux启动的一点心得:
3个重要的文件及其路径:
1.head.S---/arch/arm/boot/compressed

对于ARM 系列处理器来说,zImage 的入口程序即为 arch/arm/boot/
compressed/head.S。它依次完成以下工作:开启 MMU 和 Cache,调用
decompress_kernel()解压内核,最后通过调用 call_kernel()进入非压缩内核
Image 的启动。

2.head.S--/arch/arm/kernel 

整个arm linux内核的启动可分为三个阶段:第一阶段主要是进行cpu和
体系结构的检查、cpu本身的初始化以及页表的建立等;第一阶段的初始化是从
内核入口(ENTRY(stext))开始到start_kernel前结束。这一阶段的代码
在/arch/arm/kernel/head.S中。/arch/arm/kernel/head.S用汇编代码完成,
是内核最先执行的一个文件。这一段汇编代码的主要作用,是检查cpu
id,architecture number,初始化页表、cpu、bbs等操作,并跳到
start_kernel函数

3.main.c----/init

start_kernel 函数 CPU,系统初始化

接下来 上传两个不错的资料 head.S源代码 分析
文件:ARM+Linux的启动分析(zImage).rar
大小:201KB
下载:下载

文件:ARM Linuxv1.rar
大小:50KB
下载:下载
阅读(1084) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~