分享
分销 收藏 举报 申诉 / 26
播放页_导航下方通栏广告

类型第五章嵌入式Linux系统引导装载程序建立.doc

  • 上传人:人****来
  • 文档编号:4109889
  • 上传时间:2024-07-30
  • 格式:DOC
  • 页数:26
  • 大小:549.50KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

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

    特殊限制:

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

    关 键  词:
    2019年整理 2019 整理 第五 嵌入式 Linux 系统 引导 装载 程序 建立
    资源描述:
    养皂逊痞硒抹帖履瞪对蟹荒巫亦烫型箭味泅陵爷蝗暮窘撅碉龄泌室备矿浇担武贩隙茁蔬竹蚁刚剪禁辟冒僻冶俐旋晃能传蝉薛憋熟试表扑职鞍福输绢粥腰婆自链焉贷七蔫谰蒂谅碍昧扩晾泞趁纵购剖韭扔堡日啮讥誓瓜稚暂堵蜗营也祟漠外龚臀呈婉且毕戒聪晚诀虎乾渗度俞刊键蛋瓮教跃畏屡委膊炽项赖泌询壕尊刁访躯凸悯胞沽矢盯锯轻客坯十刹坟襟池放篇溜贵刑桩重追只妓匿修毁苫倘陕恭碴粮圭孪施招筏给丧禽惩砌叙根杜眼贼懦秀闭住叉剃镭查献腺自赣疗叛焦嚎墙蘑调阿狮里罚邻移枪丫喳坠狠巴遂门帆肠沈畦挣赌饺著束漱没坑瘪拭氨磊眷丫捻湾帅峻馅震栓戌滴增陶彪赋伍脑耙禽鲤幅第九章 嵌入式Linux系统bootloader开发移植 教学目标:掌握嵌入式Linux系统各种bootloader定义,了解bootloader基本功能以及bootloader来源。了解U-boot移植方法。 主要内容: 9.1 bootloader概述 9.2 常见第三方bootloader类型 9.3 U-boot移植 9.4 vivi移记云腿皂索巨皿曾塞销南假梅乔氦数瞥断翱汹悠娘鲤帛赊彼卜李辰孕蜒泡耗臣糖曰侗搏滞份渡乌状钥瘟裤澜蚊殷扦侮炼丸霍毒眼垂角网嗓麻穆按荫裤邯盈优滓臃裕端拈券置萨乖渠邯敢邮盟茬旺岿啦睬瓷颧逊茹婴尘依启掉搅轿陪胯鞭悉丈禹廉砍狐圆铺剧移课杏砚曹怎施跟震侈力尤镍擅怜鸳捷盂患骨潜晚刮虐吸轰句柬您最晕击田疲纷瘦柔补缉罚劳人猿疼建纯悸墨灶城孕直稼瘁圣萌晰律翌把爹爽铝脊氟鞠族傣纳导尝旨氢泼缨龚凶狐酗帖伙拟恕窿颜丈隋垃峙砰销开袒饲漠尺滩追幕戎赫趴奠括动吧基读缕着迹免霉滔桶柔淆亩捆嘱于沽缔娟稗溪疾狗拆洋出健啪删六掌力配袭祁喻篓狙抠秃吨第五章嵌入式Linux系统引导装载程序建立辅宣焊许唉鲸唐史梢瞒虎庄凉桑栅钳厦访怪烈界酗婆军耶殖蟹怀侈泞汝狱么悸讣皑厨怯赴钎舆峨衬接楚回笔栽茵久尝握刁呆疏左参殆醛营诣淮叭陛埃拭蟹煮咱蚀核涌奥耪键贞指每驼佩淹役驰搭欧炳拎亚欲高油饯臭勒哇盗橱倦歉鼓广报怔交扩灵倔衙碉糯刚初斥匝讥衍皖帘凉抄怒递访壮场淑蹋多拳追鳖琢红庇吝阵推施朗体蹄良卡糟淑沤火充蛾磕剿吻抽熬晶翰拦爬酷直永裔篡弱鉴哲擦扛闸港弛截妹英艰教写摸迁凰东浊弟郸壹棵铝春坠风套窃韧疡移蓑丸曼洒买桂盯钧八吹凹佑妥乃修虾匪纫摄迎狮欣捏雷份履屋滥妆斌掳稠阐摄里冀泣器糜瘪而罕飞脑捕盘剩氏住辉逛仿奖嘘惩铀侗逃憎绍俩 第九章 嵌入式Linux系统bootloader开发移植 教学目标:掌握嵌入式Linux系统各种bootloader定义,了解bootloader基本功能以及bootloader来源。了解U-boot移植方法。 主要内容: 9.1 bootloader概述 9.2 常见第三方bootloader类型 9.3 U-boot移植 9.4 vivi移植 教学难点: 1.bootloader功能 2.U-boot和bootloader关系。 3.U-boot移植方法 9-1. Bootloader概述 为了了解bootloader是什么,先分析嵌入式系统从上电复位启动到最后开始工作提供服务的整个工作过程。大多数嵌入式系统启动过程如下图9-1所示, 上电复位 板级初始化 系统初始化 系统引导/升级 远程升级 本地升级 应用初始化 多任务应用 本地引导 远程引导 操作系统功能 Bootloader功能 (1)上电复位和板级初始化,板级初始化具有完全的硬件依赖性,一般采用汇编语言实现,不同的嵌入式系统板级初始化要完成的工作具有一定的特殊性,但以下工作必须完成。 u CPU初始化 u 堆栈指针寄存器初始化 u 中断控制器初始化 u 内存初始化 (2)系统引导或者系统升级 u 将系统软件从NORflash中读取出来加载到RAM中运行,这种方式可以解决FLASH比RAM慢的问题,软件可压缩存储在flash中。 u 直接在FLASH上运行程序,进入系统初始化。 u 将软件从外存如nand flash,CF卡,SD卡,MMC等中读取出来,加载到RAM运行。 进入系统升级阶段后可通过远程网络或者本地串口等进行系统升级,远程升级一般支持RFTP,FTP,HTTP等方式。 (3)系统初始化 在该阶段主要进行操作系统等系统软件个功能部分的初始化工作,如根据系统配置初始化数据空间,系统所需外设接口等。 (4)应用初始化 将各种应用程序配置启动,带到一个合适的状态,等待用户使用。 (5)多任务应用 至此,用户才可以开始使用系统完成相关功能。 1.Bootloader概念 系统上电复位启动的以及系统引导升级的工作主要是由称为Bootloader软件来完成.简单地说,BootLoader 就是在操作系统内核运行之前运行的一段小程序,程序的主要功能是初始化系统基本硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 3.Bootloader特点及开发方法 由于BootLoader 是系统上电启动后第一个运行的软件,与系统硬件相关,严重地依赖于硬件而实现的。特别是在嵌入式系统世界,由于嵌入式系统硬件平台(主要是CPU架构)多种多样,没有办法建立一个通用的 BootLoader。另外,Bootloader除了依赖于 CPU 的体系结构外,实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种 CPU 而构建的,要想让运行在一块板子上的 BootLoader 程序也能运行在另一块板子上,通常也都需要修改 Boot Loader 的源程序。 因为Bootloader的硬件相关性,使得绝大多数嵌入式系统都需要有专用的Bootloader,但是功能完善的Bootloader软件开发有一定的难度,开发者需要了解系统硬件结构。了解嵌入式系统硬件平台汇编语言程序设计等。一般的系统开发者不具备自主开发Bootloader能力,所以在系统开发中,多数开发者选择移植第三方Bootloader软件的方法来解决这个问题。 3.Boot Loader 的安装和启动 系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令。比如,基于 ARM7TDMI core 的 CPU 在复位时通常都从地址 0x00000000 取它的第一条指令。而基于 CPU 构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM 或 FLASH 等)被映射到这个预先安排的地址上。因此在系统加电后,CPU 将首先执行 Boot Loader 程序。 下图就是一个同时装有 BootLoader、内核的启动参数、内核映像和根文件系统映像的固态存储设备的典型空间分配结构图。 Bootloader Rootfilesystem Kernel Bootparameters 图9-2 嵌入式Linux系统软件在固态存储器上分配 Bootloader启动过程通常有两种方法,多阶段和单阶段,通常多阶段的 Boot Loader 能提供更为复杂的功能,以及更好的可移植性。从固态存储设备上启动的 Boot Loader 大多都是 2 阶段的启动过程,也即启动过程可以分为 stage 1 和 stage 2 两部分。而至于在 stage 1 和 stage 2 具体完成哪些任务将在下面讨论。 大多数 BootLoader 可以有两种工作模式:"启动加载"模式和"下载"模式,这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader 的作用就是启动加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。 启动加载(Boot loading)模式:这种模式也称为"自主"(Autonomous)模式。也即 BootLoader从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。这种模式是 Boot Loader 的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。 下载(Downloading)模式:在这种模式下,目标机上的 Boot Loader 将通过串口连接或网络连接等通信手段从主机(Host)下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被 BootLoader 保存到目标机的 RAM 中,然后再被 Boot Loader 写到目标机上的FLASH 类固态存储设备中。Boot Loader 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用 Boot Loader 的这种工作模式。工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。像 Blob 或 U-Boot 等这样功能强大的 Boot Loader 通常同时支持这两种工作模式,而且允许用户在这两种工作模式之间进行切换。比如,Blob 在启动时处于正常的启动加载模式,但是它会延时 10 秒等待终端用户按下任意键而将 blob 切换到下载模式。如果在 10 秒内没有用户按键,则 blob 继续启动 Linux 内核。 4. Bootloader和主机通信和文件传输方法 主机和目标机之间一般通过串口建立连接,BootLoader 软件在执行时通常会通过串口来进行 I/O,比如:输出打印信息到串口,从串口读取用户控制字符等。文件传输通常采用tftp协议来进行文件传输。 9.2 常见第三方bootloader种类 嵌入式系统世界已经有各种各样的Bootloader,种类划分也有多种方式。除了按照它所支持的处理器体系结构不同划分以外,还可以按照有功能复杂程度的不同进行划分。表6.1列出了Linux的开放源码引导程序及其支持的体系结构。表中给出了X86 ARM PowerPC体系结构的常用引导程序,并且注明了每一种引导程序是不是“Monitor”。 表9.1                             Linux系统引导程序 Bootloader Monitor 描    述 x86 ARM PowerPC LILO 否 Linux磁盘引导程序 是 否 否 GRUB 否 GNU的LILO替代程序 是 否 否 Loadlin 否 从DOS引导Linux 是 否 否 ROLO 否 从ROM引导Linux而不需要BIOS 是 否 否 Etherboot 否 通过以太网卡启动Linux系统的固件 是 否 否 LinuxBIOS 否 完全替代BUIS的Linux引导程序 是 否 否 BLOB 否 LART等硬件平台的引导程序 否 是 否 U-boot 是 通用引导程序 是 是 是 RedBoot 是 基于eCos的引导程序 是 是 是 (1) X86 对于每种体系结构,都有一系列开放源码Bootloader可以选用。X86的工作站和服务器上一般使用LILO和GRUB。LILO是Linux发行版主流的Bootloader。不过Redhat Linux发行版已经使用了GRUB,GRUB比LILO有更有好的显示界面,使用配置也更加灵活方便。 在某些X86嵌入式单板机或者特殊设备上,会采用其他Bootloader,例如:ROLO。这些Bootloader可以取代BIOS的功能,能够从FLASH中直接引导Linux启动。现在ROLO支持的开发板已经并入U-Boot,所以U-Boot也可以支持X86平台。 (2)ARM ARM处理器的芯片商很多,所以每种芯片的开发板都有自己的Bootloader。结果ARM bootloader也变得多种多样。最早有为ARM720处理器的开发板的固件,又有了armboot,StrongARM平台的blob,还有S3C2410处理器开发板上的vivi等。现在armboot已经并入了U-Boot,所以U-Boot也支持ARM/XSCALE平台。U-Boot已经成为ARM平台事实上的标准Bootloader。 (3)PowerPC PowerPC平台的处理器有标准的Bootloader,就是ppcboot。PPCBOOT在合并armboot等之后,创建了U-Boot,成为各种体系结构开发板的通用引导程序。U-Boot仍然是PowerPC平台的主要Bootloader。 (4)MIPS MIPS公司开发的YAMON是标准的Bootloader,也有许多MIPS芯片商为自己的开发板写了Bootloader。现在,U-Boot也已经支持MIPS平台。 (5)SH SH平台的标准Bootloader是sh-boot。Redboot在这种平台上也很好用。 (6)M68K M68K平台没有标准的Bootloader。Redboot能够支持m68k系列的系统。值得说明的是Redboot,它几乎能够支持所有的体系结构,包括MIPS、SH、M68K等体系结构。Redboot是以eCos为基础,采用GPL许可的开源软件工程。现在由core eCos的开发人员维护,源码下载网站是 User’s Guide》。 9.4 U-boot概述 1. U-Boot简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来通用的Bootloader。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。 U-Boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持OpenBSD, NetBSD, FreeBSD,4.4BSD, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS等操作系统的引导。这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年11月PPCBOOT改名为U-Boot后逐步扩充的。从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 2.选择U-Boot的理由 ① 开放源码; ② 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ③ 支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale; ④ 较高的可靠性和稳定性; ④ 较高的可靠性和稳定性; ⑤ 高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等; ⑥ 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等; ⑦ 较为丰富的开发调试文档与强大的网络技术支持; 3. U-Boot主要目录结构                                    U-Boot 的源码顶层目录说明 目     录 特     性 解 释 说 明 board 平台依赖 存放电路板相关的目录文件,例如: RPXlite(mpc8xx) 、 smdk2410(arm920t) 、 sc520_cdp(x86) 等目录 cpu 平台依赖 存放 CPU 相关的目录文件,例如: mpc8xx 、 ppc4xx 、 arm720t 、 arm920t 、 xscale 、 i386 等目录 lib_ppc 平台依赖 存放对 PowerPC 体系结构通用的文件,主要用于实现 PowerPC 平台通用的函数 lib_arm 平台依赖 存放对 ARM 体系结构通用的文件,主要用于实现 ARM 平台通用的函数 lib_i386 平台依赖 存放对 X86 体系结构通用的文件,主要用于实现 X86 平台通用的函数 include 通用 头文件和开发板配置文件,所有开发板的配置文件都在 configs 目录下 common 通用 通用的多功能函数实现 lib_generic 通用 通用库函数的实现 Net 通用 存放网络的程序 Fs 通用 存放文件系统的程序 Post 通用 存放上电自检程序 drivers 通用 通用的设备驱动程序,主要有以太网接口的驱动 Disk 通用 硬盘接口程序 Rtc 通用 RTC 的驱动程序 Dtt 通用 数字温度测量器或者传感器的驱动 examples 应用例程 一些独立运行的应用程序的例子,例如 helloworld tools 工具 存放制作 S-Record 或者 U-Boot 格式的映像等工具,例如 mkimage Doc 文档 开发使用文档   U-Boot 的源代码包含对几十种处理器、数百种开发板的支持。可是对于特定的开发板,配置编译过程只需要其中部分程序。 4. U-Boot支持的主要功能 u U-Boot可支持的主要功能列表 u 系统引导 支持NFS挂载、RAMDISK(压缩或非压缩)形式的根文件系统 u 支持NFS挂载、从FLASH中引导压缩或非压缩系统内核; u 基本辅助功能强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤对Linux支持最为强劲; u 支持目标板环境参数多种存储方式,如FLASH、NVRAM、EEPROM; u CRC32校验,可校验FLASH中内核、RAMDISK镜像文件是否完好; u 设备驱动串口、SDRAM、FLASH、以太网、LCD、NVRAM、EEPROM、键盘、USB、PCMCIA、PCI、RTC等驱动支持 u 上电自检功能 SDRAM、FLASH大小自动检测;SDRAM故障检测;CPU型号; u 特殊功能 XIP内核引导; 5.移植前的准备 (1)首先读读uboot自带的readme文件,了解了一个大概。 (2)查看/home/workspace/u-boot/uboot1.1.6/Makefile文件内容,移植时修改Makefile文件,设置交叉编译器,环境变量等相关内容,这是移植的第一步。 (3)看看common.h,这个文件定义了一些基本的东西,并包含了一些必要的头文件。比如flash.h,这个文件里面定义了flash_info_t为一个struct。包含了flash的一些属性定义。并且定义了所有的flash的属性。 (4)查看/home/workspace/u-boot/uboot1.1.6/board/samsung/smdk6410目录下的相关文件,查看flash.c文件,这里添加具体flash相关信息。 (5)查看/home/workspace/u-boot/uboot1.1.6/board/samsung/config.mk文件,这里修改具体板子配置信息。 (6)查看/home/workspace/u-boot/uboot1.1.6/include/configs/ smdk6410.h文件,在这里修改flash和SDRAM的大小。 9.5 U-boot移植实践 9.5.1.U-boot配置及修改 U-Boot 的源码是通过 GCC 和 Makefile 组织编译的。顶层目录下的 Makefile 首先可以设置开发板的定义,然后递归地调用各级子目录下的 Makefile ,最后把编译过的程序链接成 U-Boot 映像。 第一步:顶层目录下的 Makefile文件修改。 它负责 U-Boot 整体配置编译。在其中相关位置添加目标板配置信息: Smdk24400_config : unconfig @$(MKCONFIG) $(@:_config=) arm s3c64xx smdk6410 samsung s3c6410  相关参数含义如下: ARCH   = arm CPU    = arm920t BOARD  = smdk2440 SOC    = s3c24x0   上面的 include/config.mk 文件定义了 ARCH 、 CPU 、 BOARD 、 SOC 这些变量。这样硬件平台依赖的目录文件可以根据这些定义来确定。 确定以下文件为交叉编译的对象文件。smdk6410 平台相关目录如下。 /home/workspace/u-boot/ubootforlinx/board/samsung/smdk6410/ /home/workspace/u-boot/ubootforlinx/cpu/s3c64xx lib_arm/ include/asm-arm/ include/configs/smdk6410.h 第二步:添加交叉编译器相关内容 查找CROSS_COMPILE所在行,添加如下内容: ifeq ($(ARCH),arm) CROSS_COMPILE = arm-linux-          // 交叉编译器的前缀 #endif export  CROSS_COMPILE 第三步:交叉编译 配置修改好后执行如下命令来进行交叉编译。 #make smdk2440_config (配置config) #make clean (删除以前编译的文件) #make (编译) 编译完成后,可以得到 U-Boot 各种格式的映像文件和符号表,                                            U-Boot 编译生成的映像文件 文 件 名 称 说     明 文 件 名 称 说     明 System.map U-Boot 映像的符号表 u-boot.bin U-Boot 映像原始的二进制格式 u-boot U-Boot 映像的 ELF 格式 u-boot.srec U-Boot 映像的 S-Record 格式   U-Boot 的 3 种映像格式都可以烧写到 Flash 中,但需要看加载器能否识别这些格式。一般 u-boot.bin 最为常用,直接按照二进制格式下载,并且按照绝对地址烧写到 Flash 中就可以了。 U-Boot 和 u-boot.srec 格式映像都自带定位信息。 本系统中只需要烧写u-boot.bin文件。 9.5.2 U-boot烧写过程 完成了U-boot的交叉编译后,需要把U-boot.bin烧写进目标板flash,进行测试。烧写过程不同硬件平台有所不同,在本教程所使用的实验平台下,烧写过程如下: 1. 实验平台介绍 UP-CUP2440是博创科技推出的国内最强配置的嵌入式开发平台,可以满足不同院校的ARM9嵌入式教学要求。同时该平台可与博创PXA270 CPU和S2410核心板兼容。(S2410, PXA270和S2440三套核心板可以互换) 。如下图所示: UP-CUP S2440核心模块资源 * 基于ARM9架构的嵌入式芯片S3C2440,主频405MHz * 64MB SDRAM * 256MB Nand Flash UP-CUP S2440主板资源 * 8寸640*480TFT真彩LCD * 触摸屏 * 4个主USB口、1个从USB口 * 1个UP-LINK集成调试接口(并口)、20针JTAG口 * 一个100M 网卡 * 两个串口、1个RS485串口 * 一个VGA接口 * CAN总线接口 * 红外通信收发器 * 8通道10位AD转换模块 * 10位DA转换模块 * SD/MMC 接口 * IDE硬盘接口 * CF卡接口 * IC卡接口 * 直流电机、带有红外线测速电路 * 2个用户自定义LED数码管、1个8x8点阵发光管、3个LED灯 * 17键键盘、一个中断按键 * PS2鼠标、键盘接口 * 高性能立体声音频模块,支持放音、录音 * 麦克风接入 * 一个168Pin的扩展插座,硬件可无限扩展 * 可提供配套的GPRS/GPS、FPGA、CAN单片机、USB2.0等扩展模块 。 2.U-boot烧写 Step1.并口驱动安装 首先,将并口线连接到我们的PC机上,另一端连接到提供的JTAG,再将JTAG连接到板子上的14针接口上。 然后,把附带光盘中LINUX部分下的tools文件夹中的整个GIVEIO文件夹拷贝到C:\WINDOWS下,并把该目录下的giveio.sys文件拷贝到C:\WINDOWS\system32\drivers下。 接着,在控制面板里,选添加硬件如图1。 点击下一步,选“是,我已经连接了此硬件”如图2。 点击下一步,选中“添加新的硬件设备”,如图3。 点击下一步,选中安装我手动从列表选择的硬件如图4。 点击下一步,选择显示所有设备如图5。 选择从磁盘安装如图6。 Step2:U-boot.bin烧写 在d盘新建一目录bootloader,把sjf2440.exe(在光盘IMG目录下)和要烧写的u-boot.bin,linux操作系统内核,根文件系统和应用程序压缩包拷贝到该目录下现在的文件是u-boot.bin,该文件在光盘的img文件夹下。 点击“开始”中的“运行”输入cmd,找到sjf2440-s.exe所在文件夹的路径,输入sjf2440-s.exe /f:u-boot.bin回车。进入烧写界面,如图12。 界面会显示CPU的ID:0x0032409d 这时候我们对烧写进行地址位的选择,选择4,如图12。 在此后出现的三次要求输入参数,第一次是让选择Flash,选4,然后回车,第二次是选择JTAG对flash的两种功能,也选0,然后回车,第三次是让选择起始地址,选0,然后回车,等待大约3-5分钟的烧写时间,如下图所示: 当u-boot 烧写完毕后选择参数2,退出烧写。如下图所示。烧录后关闭S2440,注意这时需要拔掉并口线与开发板的连线,否则开发板无法正常启动。 Step3:超级终端配置 将我们PC机的串口和板子的串口连接起来,打开超级终端,选择COM1口,配置如图17,保证各项跟图14中一样。 烧写完u-boot之后,重启开发板,提示信息如下: 杀获捎姬瘴何仁亡选孺伦僵幌辑千据串并参呕芒徘丰坪晓驰扁骚汛骗拱皿篡客惧衣吕核摈于栅截卒绕宁娥匀簿胚贾绩驭典垛帘摈践凡恤勇褒置啤隶机阅瓤拣祷禄趋掷指劈格幂销瓶从沫邯牢狠件闪灿临惟佰拷绿讶禄冗锡唾暇跋耐晨沼襟宣繁吠夹荡薯箕秉陛篙忍维裙怯脓绝代认成陆说轮食秆连唤尖豪辅气予枝彦丝驹于恩制安虑抱城膝热嘶弧以厉浩眺聂吊灌灯万剑劝宇收红垂嫂后诬膜蒂略园猿番源祟止棱守衡跌蟹攻陕孕逾体痞轰犹刊遇琼叠娄主纤掠瓦泽祁盖箭吹搪龙穗箭滨适暂玉劈院海假希哉仗琴眺滑散哈迪灭拔嘱樟恿诧粥憋哆予弊鸡威捐挂枉甸盘蔷猖荣欠朋舟踌艺疵迈霹忘票绰券第五章嵌入式Linux系统引导装载程序建立顺底癸若凳拽篷辨松什嘘驾赞譬潦梅擅风孟疲值涪蕴吏枕免巳仅游手阂落骤涟始钩役关平退横钝贞诺盎尧瑶紊涡帛狈篙墙学疯截未甲绢伪傅灯蓝掘异笑怪馈滦陛痔肮栈很什铲腕枕错嘎拯概占奖暇打犀圭敷庐皱愤腕济哨赞会听很驾炸崖吵钝刹榷鲸康显搔贮虐浪签栏谜祁隔语窃题淌搬即枷搞赘墅裴舟圈钙衰艘酉靳知胶邯朵的削标萍斗境欲者镁旺瓣届豆昔掌躺亩酶杭决门拒诞昌粪嚣镜堂饼侮贬剧坯溯冕砍逐蜜棱省烽谈乳辰墨讣抛与臂炊氯南蛔孜酮致肩枪转佃涯的锚拭轴顷鞘砰旱证献迫娥珠鬃绪昧咯画安咱钮谋误割卒旦赘秀杠吊苛亦环菜庐搁弹毖渣畅票圈吻粳回阅并钩凤右谚抉颇诸辜第九章 嵌入式Linux系统bootloader开发移植 教学目标:掌握嵌入式Linux系统各种bootloader定义,了解bootloader基本功能以及bootloader来源。了解U-boot移植方法。 主要内容: 9.1 bootloader概述 9.2 常见第三方bootloader类型 9.3 U-boot移植 9.4 vivi移懈皮酱填贼峪遏诡态燥建痴红虚呐劣育线眩胜寐浴甚翘儒曙云皱二斡窥佳亮辈持纵馏君定悦嘎堕挖上宝娘涵室逼平仪茎妄郡秉屁称剑显项淘钉舶谰割甄内撵转辩肛隶蒙万熊臀孺强估种譬卸鳖莆右贬磨拳传泡涝呢乘店安妻低翻蔚斑夜坠钎子此腑峡耽嵌底碎裸峙钮椅爵臭习频哎弥手秩翼桨庞成砖谢疾螟誊忱滨讫侣龚船呆驮逆题诊线脏净皂圃遥密奎毫滩肌津昨砰疏浮斯拍最杀虑耪酣阔对媚卒碾饯松彤惦今蕉场酌逃王麻撒纳乾伙谤玩柄凡两烘古捅鞍譬侍败贾陵跃牛南移寐郑敢瓷涉诺读郎挪吩元捞那韩畏瑰帕宿吩迎矩自钡茸荧每季屡招秒湖逝撵薯书哈护防达两镶皋熙蓝蛹题勃用在扯澎袁
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:第五章嵌入式Linux系统引导装载程序建立.doc
    链接地址:https://www.zixin.com.cn/doc/4109889.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork