书签 分享 收藏 举报 版权申诉 / 33
上传文档赚钱

类型第4章嵌入式系统的BootLoader技术课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3704264
  • 上传时间:2022-10-06
  • 格式:PPT
  • 页数:33
  • 大小:125.07KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第4章嵌入式系统的BootLoader技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式 系统 BootLoader 技术 课件
    资源描述:

    1、第第4章嵌入式系统的章嵌入式系统的BootLoader技术技术2022-10-6第4章嵌入式系统的BootLoader技术内容提要1.Boot Loader程序的基本概念 2.Boot Loader的典型结构框架 3.Boot Loader实验 实验一 Boot Loader应用实验实验二 U-BOOT的分析和移植第4章嵌入式系统的BootLoader技术1.Boot Loader程序的基本概念Boot Loader就是在操作系统内核运行之前运行的一段小程序 初始化硬件设备和建立内存空间的映射图 将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境 系统的Boot

    2、Loader程序通常安排在地址0 x00000000 处 第4章嵌入式系统的BootLoader技术Boot Loader所支持的硬件环境 每种不同的CPU体系结构都有不同的Boot Loader Boot Loader的安装地址 Boot Loader相关的设备和机制 主机和目标机之间一般通过串口建立连接 Boot Loader的启动过程 第4章嵌入式系统的BootLoader技术Boot Loader的操作模式 启动加载模式 下载模式 Boot Loader与主机之间的通信设备及协议 第4章嵌入式系统的BootLoader技术2.Boot Loader的典型结构框架操作系统的角度看,Boo

    3、t Loader的总目标就是正确地调用内核来执行 大多数Boot Loader都分为阶段1和阶段2两大部分 阶段1实现依赖于CPU体系结构的代码 阶段2实现一些复杂的功能 第4章嵌入式系统的BootLoader技术2.1 Boot Loader阶段1介绍Boot Loader 的阶段1通常包括以下步骤:1)硬件设备初始化。屏蔽所有的中断 设置CPU的速度和时钟频率 RAM初始化 初始化LED 关闭CPU内部指令数据Cache 第4章嵌入式系统的BootLoader技术2)为加载阶段2准备RAM空间 除了阶段2可执行映象的大小外,还必须把堆栈空间也考虑进来 必须确保所安排的地址范围的的确确是可读

    4、写的RAM空间第4章嵌入式系统的BootLoader技术3)拷贝阶段2到RAM中 4)设置堆栈指针sp 5)跳转到阶段2的C入口点 Boot Loader 的 阶段2 可执行映象刚被拷贝到 RAM 空间时的系统内存布局,如下图:第4章嵌入式系统的BootLoader技术第4章嵌入式系统的BootLoader技术2.2 Boot Loader阶段2介绍1)初始化本阶段要使用到的硬件设备初始化至少一个串口,以便和终端用户进行I/O输出信息 初始化计时器等第4章嵌入式系统的BootLoader技术2)检测系统的内存映射 内存映射的描述 可以用如下数据结构来描述RAM地址空间中的一段连续的地址范围:内

    5、存映射的检测 typedef struct memory_area_struct u32 start;/*内存空间的基址*/u32 size;/*内存空间的大小*/int used;memory_area_t;第4章嵌入式系统的BootLoader技术3)加载内核映像和根文件系统映像 规划内存占用的布局 内核映像所占用的内存范围 根文件系统所占用的内存范围 从Flash上拷贝 第4章嵌入式系统的BootLoader技术4)设置内核的启动参数 标记列表(tagged list)的形式来传递启动参数,启动参数标记列表以标记ATAG_CORE开始,以标记ATAG_NONE结束 嵌入式Linux系统中

    6、,通常需要由Boot Loader设置的常见启动参数有:ATAG_CORE、ATAG_MEM、ATAG_CMDLINE、ATAG_RAMDISK、ATAG_INITRD 第4章嵌入式系统的BootLoader技术l例:设置ATAG_CORE的代码如下:params=(struct tag*)BOOT_PARAMS;params-hdr.tag=ATAG_CORE;params-hdr.size=tag_size(tag_core);params-u.core.flags=0;params-u.core.pagesize=0;params-u.core.rootdev=0;params=tag_

    7、next(params);BOOT_PARAMS 表示内核启动参数在内存中的起始基地址,指针params是一个struct tag类型的指针。宏tag_next()将以指向当前标记的指针为参数,计算出当前标记的下一个标记的起始地址 第4章嵌入式系统的BootLoader技术5)调用内核 CPU寄存器的设置:R00;R1机器类型ID;关于机器类型号,可以参见:linux/arch/arm/tools/mach-types。R2启动参数标记列表在RAM中起始基地址;CPU 模式:必须禁止中断(IRQs和FIQs);CPU必须SVC模式;Cache和MMU的设置:MMU必须关闭;指令Cache可以打

    8、开也可以关闭;数据Cache必须关闭;第4章嵌入式系统的BootLoader技术2.3 关于串口终端 向串口终端打印信息也是一个非常重要而又有效的调试手段如果碰到串口终端显示乱码或根本没有显示的问题,可能是因为:Boot Loader 对串口的初始化设置不正确 运行在host 端的终端仿真程序对串口的设置不正确 第4章嵌入式系统的BootLoader技术Boot Loader 启动内核后却无法看到内核的启动输出信息:确认内核在编译时是否配置了对串口终端的支持,并配置了正确的串口驱动程序 Boot Loader 对串口的初始化设置是否和内核对串口的初始化设置一致 还要确认 Boot Loader

    9、 所用的内核基地址必须和内核映像在编译时所用的运行基地址一致 第4章嵌入式系统的BootLoader技术3.Boot Loader实验实验 实验一 Boot Loader应用实验实验二 U-BOOT的分析和移植第4章嵌入式系统的BootLoader技术实验一 Boot Loader应用实验(1)烧写XsBase255的BootLoader 编译生成XsBase255专用的JTAG程序 Jflash-XSBase255编译生成XSBase的Boot Loader x-boot255 正确连线利用JTAG烧写BootLoader rootXSBase JTAG#./Jflash-XSBase255

    10、 x-boot255第4章嵌入式系统的BootLoader技术实验一 Boot Loader应用实验(2)l熟悉使用 Bootloader 指令,执行各个指令后将其结果与下表的 description进行比较 UsageHelpDescription对各个指令的简单的说明。ArgumentsNoneExampleX-HYPER255 Help第4章嵌入式系统的BootLoader技术UsageReload kernel/ramdiskDescription将Flash中纪录的image复制到SDRAM为了复制 kernel image到 SDRAM,Autoboot时自动执行Arguments

    11、将Kernel flash的 kernel image复制到 SDRAM 0 xa0008000将Ramdisk flash的 ramdisk复制到 SDRAM 0 xa0800000ExampleX-HYPER255 reload kernel第4章嵌入式系统的BootLoader技术UsageTftp file loader/kernel/root/ramdiskTftp file addrDescription通过Ethernet将 Host的映像文件下载到SDRAM中ArgumentsLoader将接收到的文件储存到loader的SDRAM 0 xa0000000Kernel将接收到的

    12、文件储存到kernel的 SDRAM 0 xa0008000Root 将接收到的文件储存到 0 xa0000000Ramdisk 将接收到的文件储存到 0 xA0800000。Addr SDRAM上纪录接收到的文件的地址ExampleX-HYPER255 tftp zImage kernelX-HYPER255 tftp zImage 0 xa0000000第4章嵌入式系统的BootLoader技术UsageFlash loader/kernel/root/ramdiskFlash dest src lenDescription将SDRAM上的数据储存到flash的相应地址ArgumentsL

    13、oader-将SDRAM的loader 0 xa00000000储存到flash的0 x0地址Kernel-将SDRAM的Kernel 0 xa00080000储存到flash的0 xc0000 地址Root-将SDRAM的root 0 xa0000000储存到flash的0 x1c0000地址Ramdisk-将SDRAM的ramdisk 0 xA0800000储存到Flash的0 x1c00 00地址Dest-储存到flash上的地址Src-原来的数据所在地址Len-复制的长度ExampleXSBASE255 flash kernelXSBASE255 flash 0 xc0000 0 xa

    14、0000000 0 x100000第4章嵌入式系统的BootLoader技术UsageBootBoot opt1 opt2Boot addr opt1 opt2Description驱动SDRAM上的 kernel通过相应 arguments 驱动 或者驱动相应地指的kernel。ArgumentsOpt1 kernel option(Only 0)Opt2 machine type(X-Hyer255:200)Addr kernel image addressExampleXSBASE255 bootXSBASE255 boot 0 200XSBASE255 boot 0 xa0008000

    15、 0 200第4章嵌入式系统的BootLoader技术实验二 U-BOOT的分析和移植(1)U-BOOT的特点 在线读写Flash、DOC、IDE、IIC、EEROM、RTC 支持串行口kermit和S-record下载代码识别二进制、ELF32、uImage格式的Image,对Linux引导有特别的支持单任务软件运行环境 第4章嵌入式系统的BootLoader技术脚本语言支持(类似BASH脚本)支持WatchDog、LCD logo和状态指示功能等 支持MTD和文件系统 支持中断 详细的开发文档 第4章嵌入式系统的BootLoader技术实验二 U-BOOT的分析和移植(2)U-BOOT源代

    16、码结构board:和一些已有开发板相关的文件 common:与体系结构无关的文件,实现各种命令的C文件 cpu:CPU相关文件 disk:disk驱动的分区处理代码doc:文档 drivers:通用设备驱动程序 第4章嵌入式系统的BootLoader技术fs:支持文件系统的文件 net:与网络有关的代码 lib_arm:与ARM体系结构相关的代码tools:创建S-Record格式文件 和U-BOOT images的工具 第4章嵌入式系统的BootLoader技术实验二 U-BOOT的分析和移植(3)对U-BOOT的移植建立自己开发板的目录和相关文件 在include/configs目录中添加

    17、头文件xsbase.h 在board/目录下新建xsbase目录,创建如下文件:flash.c、memsetup.S、xsbase.c、Makefile和u-boot.lds添加网口设备控制程序,cs8900网口设备的控制程序cs8900.c 和cs8900.h 第4章嵌入式系统的BootLoader技术实验二 U-BOOT的分析和移植(4)修改Makefile 在u-boot-1.1.2/Makefile中加入:xsbase_config:unconfig./mkconfig$(:_config=)arm pxa xsbase第4章嵌入式系统的BootLoader技术实验二 U-BOOT的分析和移植(5)生成目标文件先运行make clean 然后运行make xsbase_config 再运行make all生成三个文件:u-bootELF格式的文件,可以被大多数Debug程序识别。u-boot.bin二进制bin文件,这个文件一般用于烧录到用户开发板中。u-boot.srecMotorola S-Record格式,可以通过串行口下载到开发板中 第4章嵌入式系统的BootLoader技术2022-10-6第4章嵌入式系统的BootLoader技术

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第4章嵌入式系统的BootLoader技术课件.ppt
    链接地址:https://www.163wenku.com/p-3704264.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库