- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
s3c2410的Bootloader(Vivi)源代码分析
s3c2410的Bootloader(Vivi)源代码分析----基于S3C2410处理器
作者:forkchen
Email:chenjun@
QQ
欢迎广大嵌入式之友多多交流
目 录
1.1 Vivi简介... 2
1.2 vivi的配置与编译... 3
1.2.1 建立交叉开发环境... 3
1.2.2 配置和编译vivi 4
1.3 vivi代码分析... 4
1.4 vivi的运行... 5
1.4.1 vivi的第一阶段... 5
1.4.2 vivi的第二阶段... 15
1.5 启动代码执行流程图... 17
1.6 vivi的配置文件... 19
1.1 Vivi简介
Vivi 是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。 Vivi有两种工作模式:启动加载模式和下载模式。启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,见下表:
命令 功能 Load 把二进制文件载入Flash或RAM Part 操作MTD分区信息。显示、增加、删除、复位、保存MTD分区 Param 设置参数 Boot 启动系统 Flash 管理Flash,如删除Flash的数据 1.2 vivi的配置与编译
1.2.1 建立交叉开发环境
1、在宿主机上安装标准Linux 操作系统:Redhat 9.0 ( 主机系统为win2000,用虚拟机vmware安装的Redhat 9.0,内核版本为2.4.18) 。
2、宿主机上安装交叉编译器。
我这边的2410开发板提供的光盘上已附交叉编译器工具:arm-linux-gcc-2.95.3(源码为cross-2.95.3.tar.bz2)。
先以root 用户的身份登陆到linux 下。
进入/usr/local 目录,创建名为arm的目录:
cd /usr/local
mkdir arm
将光盘提供的cross-2.95.3.tar.bz2解压到/usr/local/arm目录:
tar jxvf cross-2.95.3.tar.bz2 –C /usr/local/arm
然后修改修改PATH 变量:为了可以方便使用arm-linux-gcc编译器系统, 把arm-linux工具链目录加入到环境变量PATH中:
修改/etc/profile文件,添加pathmunge /usr/local/arm/2.95.3/bin即可。
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/arm/2.95.3/bin
fi
pathmunge /usr/X11R6/bin after
设置环境变量后,最好是重启或注销一下,这样设置的环境变量才能生效。
1.2.2 配置和编译vivi
如果vivi的源代码已根据开发板作了相应改动,则需要对源代码进行配置和编译,以生成烧入flash的vivi 二进制映象文件。
由于vivi要用到kernel的一些头文件,所以需要kernel的源代码,所以先要把linux的kernel准备好。将vivi和kernel都解到相应目录下(例如我将光盘提供的vivi源代码解压到/home/chenjun目录下,光盘提供的Linux kernel源码kernel-h2410eb.041024.tar.gz也解压到/home/chenjun目录下,解压后的文件名为kerne-h2410eb)。
然后需修改/vivi/Makefile里的一些变量设置:
? LINUX_INCLUDE_DIR = /kernel/include/
(LINUX_INCLUDE_DIR 为kernel/include的对应目录,我的是/home/chen/kerne-h2410eb /include/)
因此修改为:
LINUX_INCLUDE_DIR = /home/chenjun/ kerne-h2410eb/include/
? CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-
(CROSS_COMPILE 为arm-linux安装的相应目录,我的是/usr/local/arm/2.95.3/bin/arm-linux-)
因此修改为:
CROSS
您可能关注的文档
最近下载
- 富血小板血浆(PRP)在临床中的应用培训课件.pptx VIP
- 东芝(TOSHIBA)变频器VF-S11使用手册说明书.pdf
- 最新海南省地图含市县地图矢量分层可编辑地图PPT模板.pptx VIP
- 《混凝土结构加固设计规范》.ppt VIP
- 国开形成性考核02473《医学免疫学与微生物学》形考任务(1-4)试题及.pdf VIP
- 第四章服装结构与成衣工艺基础_3(课件)《服装工艺(第3版)》同步教学(纺织).pptx VIP
- 威纶触摸屏编程培训教程.pdf VIP
- 中国古代法制史专题研究-赵晓耕-全套课件.ppt
- 1.2 地球与地球仪(第1课时 地球的形状和大小)七年级地理上册课件(人教版2024).pptx VIP
- 第四章服装结构与成衣工艺基础_1(课件)《服装工艺(第3版)》同步教学(纺织).pptx VIP
文档评论(0)