- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章Linux启动代码编程实验﹝1﹞
第4章 Linux启动代码编程实验 BootLoader的基本概念 Bootloader总结 BootLoader 的移植和修改 BootLoader 的安装 用来控制 BootLoader 的设备或机制 Boot Loader 的操作模式 BootLoader与主机间文件传输的通信设备及协议 BootLoader的主要任务与典型结构框架 BootLoader的主要任务与典型结构框架 Stage 1初始化流程图 Stage 2 VIVI VIVI是韩国Mizi公司开发的一种Boot Loader,适合于ARM9处理器,支持S3C2410X。本实验系统采用的Boot Loader就是VIVI 同所有的Boot Loader一样,VIVI也有两种工作模式,即启动加载模式和下载模式。在正常运行时,都工作在启动加载模式。 VIVI提供了MTD(Memory Technolog Device) 通过修改代码就可以从不同的存储器启动。 VIVI编译及使用实验 【实验目的】 ①了解以VIVI为Boot Load的Linux系统。 ②通过实验掌握VIVI工作原理及移植过程。 ③通过实验掌握VIVI的配置、编译、构造和使用。 【实验设备】 硬件:EDUKIT--III实验平台,S3C2410核心子板,Embest JTAG仿真器套件, PC机。 软件:Windows XP操作系统,Cygwin Unix模拟平台。 【实验内容】 配置及编译VIVI。 烧写VIVI映像到Flash中作为Linux系统的Boot Loader,并运行。 【实验原理】 1.Boot Loader的作用 Boot Loader是嵌入式系统中,处理器加电复位后首先执行的一段代码。Boot Loader与硬件密切相关,其代码主要由汇编语言和C语言编写。对于不同的系统,Boot Loader的功能有所不同,但主要作用是基本相同的,有以下几点: 初始化CPU运行的时钟频率; 初始化Flash和内存的数据宽度、读/写访问周期和刷新周期; 初始化中断系统; 初始化系统中各种片内、片外设备和I/O端口; 初始化系统各种运行模式下的寄存器和堆栈; 加载和引导操作系统 2.VIVI的启动方式 VIVI可以从Nand Flash中启动,也可以从Nor Flash中启动。选择从不同类型的Flash上启动,其使用方法会有一些差别: 如果VIVI是烧写到Nand Flash中的,那么VIVI将从Nand Flash启动。由于NandFlash没有专门的地址线,所以它在系统中根本就没有地址空间(其结构是共用地址和数据总线,分时发送地址和数据),因此只适合用来存放数据,而不能够直接在其上执行程序指令。S3C2410专门内置了一个Nand Flash控制器,通过在芯片内设置名叫Step Stone的4 KB RAM来完成Nand Flash的启动功能。因此,通过Nand Flash启动的启动代码不能超过4KB。 如果VIVI是烧写到Nor Flash中的,那么VIVI将从Nor Flash启动。因为Nor Flash具有XIP特性(能够直接在其上执行程序指令),所以VIVI将一直在Nor Flash上运行,直到进入main()函数中的mem_map_init()函数 3.VIVI操作命令 Load part,param,boot,flash,bon,help… 4.配置和编译VIVI 5.烧写VIVI映像 VIVI编译及使用实验 【实验步骤】 ①复制EDUKIT-III 2410的VIVI补丁文件ViVkit2410.patch到$SOURCEDIR/patch目录下。 ②运行Cygwin ③ VIVI源代码直接使用4.1节中介绍的代码,并按以下命令打入补丁(P140) ④编译VIVI (在Cygwin窗口中输入如下命令:……书P140) ⑤把编译好的VIVI烧到实验箱Nor Flash(0x0~0x20000)中 ⑥实验箱加电运行VIVI (运行VIVI后可在超级终端上看到类似书P141的输出结果) ⑦复位重新运行VIVI,按非Return键,进入ViVi提示符后,执行help命令 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 【实验 过程】 实训题 1.安装ViVi源码,并安装好补丁程序(参见书P106.若已安装好,跳过!注意:补丁程序只能安装一次,多次安装可能编译出错). 2.编译,链接VIVI,生成boo
文档评论(0)