Chinaunix首页 | 论坛 | 博客
  • 博客访问: 365678
  • 博文数量: 36
  • 博客积分: 2071
  • 博客等级: 大尉
  • 技术积分: 797
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-20 12:08
文章分类
文章存档

2011年(2)

2010年(34)

我的朋友

分类: 嵌入式

2010-12-03 15:29:32

vivi 源码结构介绍

1) vivi 功能介绍:

vivi 是由mizi 公司为ARM 系列处理器设计的一个bootloader,使用串口作为与主机通信的主要

接口。它有如下作用:

 初始化硬件

 下载程序并写入 flash(通过串口或者网口把内核下载到RAM 中,然后写入到flash)

 把内核(kernel)flash 复制到RAM,然后启动它

 检测目标板(bootloader 会有一些简单的代码用以测试目标板硬件的好坏)

2) vivi 的目录结构:

vivi 的代码包括archinitlibdrivers include 等几个目录,共200 多条文件。vivi 主要目录

的功能说明如下:

表 7.1 vivi 目录结构

目录 解释说明

arch 此目录包括了所有vivi 支持的目标板的子目录,例如s3c2410 目录。

drivers 其中包括了引导内核需要的设备的驱动程序(MTD 和串口)。

MTD 目录下分mapnand nor 三个目录。

init 这个目录有main.c version.c 两个文件。

其中 main.c vivi 启动第二阶段的代码。

lib 一些平台公共的接口代码、vivi 常用命令的具体实现等

比如 time.c 里的udelay()mdelay()command.c 中的add_command()

include 头文件的公共目录,存放常用源文件对应的头文件

如:lib/文件夹下.c 文件对应的头文件:command.h 

Driver/文件夹下.c 文件对应的头文件:xmodem.h 

与硬件寄存器相关的一些头文件:s3c2410.h 

Platform/smdk2410.h:定义了与开发板相关的资源配置参数,只需要修改

这个文件就可以配置目标板的参数,如波特率、引导参数、物理内存映射等。

Documentation 一些跟vivi 相关的说明文档

util 小工具。现在包含两个文件,ecc.cimagewrite.c

scripts Shell 脚本。

vivi 提供了一种交互式配置机制,实现部分是利用shell 脚本来完成的。这

也是一个重要的研究内容。

test test: 测试文件

阅读(2513) | 评论(0) | 转发(0) |
0

上一篇:U-BOOT的目录结构

下一篇:head.s

给主人留下些什么吧!~~