第4章节Lìnux启动代码编程实验.pptVIP

  • 0
  • 0
  • 约8.43千字
  • 约 32页
  • 2017-04-01 发布于四川
  • 举报
第4章节Lìnux启动代码编程实验

第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)

1亿VIP精品文档

相关文档