资料介绍
S3C2410 vivi阅读笔记
S3C2410 vivi阅读笔记
建议读一读《嵌入式系统Boot
Loader技术内幕》(詹荣开著),google一下就会找到一片。什么是Bootloader就不再这里
废话了,看看上面的文章就明了了。
Bootloader有很多种,如本文将要阅读的vivi,除此之外还有uboot,redboot,lilo等
等。Vivi 是韩国mizi公司专门为三星s3c2410芯片设计的Bootloader。
先来看看vivi的源码树:
vivi-+-arch-+-s3c2410
|-Documentation
|-drivers-+-serial
| ‘-mtd-+-maps
| |-nor
| ‘-nand
|-include-+-platform
| |-mtd
| ‘-proc
|-init
|-lib-+-priv_data
|-scripts-+-lxdialog
|-test
|-util
可以google一下,搜到源码vivi.tar.gz。
前面提到的文件已经系统的分析了bootloader的,这里就按源代码来具体说事。vivi也
可以分为2个阶段,阶段1的代码在arch/s3c2410/head.S中,阶段2的代码从init/main.
c的main函数开始。
阶段1
阶段1从程序arch/s3c2410/head.S开始,按照head.S的代码执行顺序,一次完成了下面
几个任务:
1、关WATCH DOG (disable watch dog timer)
上电后,WATCH DOG默认是开着的
2、禁止所有中断 (disable all interrupts)
vivi中不会用到中断,中断是系统的事,bootloader可不能去干这事