嵌入式系统-公选2.pptVIP

  • 1
  • 0
  • 约6.94千字
  • 约 43页
  • 2018-04-17 发布于江西
  • 举报
嵌入式系统-公选2.ppt

(6)Bootloader的移植 移植是嵌入式Linux软件设计中用得最多的一个概念 移植就是指软件移植,即将一个软件从一个平台迁移到另一个与其不同的平台上工作。 通常情况下,移植分为以下3种情况: 从一个硬件平台移植到另一个硬件平台 从一个操作系统移植到另一个操作系统 从一种软件库环境移植到另一种软件库环境 (6) Bootloader的移植 一个功能完备的大型Bootloader,就相当于一个小型的操作系统。 在嵌入式领域中,操作系统移植的关键在于Bootloader的移植以及操作系统内核与硬件相关部分的移植。 每种不同的CPU体系结构都有不同的Bootloader. Bootloader还依赖于具体嵌入式板级设备的配置 板卡的硬件地址分配 RAM芯片的类型 其他外设的类型 典型的Bootloader Vivi U-BOOT vivi简介 vivi是由韩国mizi公司为ARM处理器系列设计的一个bootloader。它同样支持启动加载模式和下载工作模式。 在下载模式下,vivi为用户提供一个命令行人机接口,通过这个人机接口可以使用vivi提供的一些命令。如果嵌入式系统没有键盘和显示,那么可以利用vivi中的串口,将其和宿主机连接起来,利用宿主机中的串口软件(如windows中的超级终端或者Linux中的minicom)来控制。 U-boot U-Boot,全称Universal Bootloader,是遵循GPL条款的开放源码项目 它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS等嵌入式操作系统。其目前主要支持的目标操作系统有OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS等,因此功能比较强大,这也是U-Boot中Universal的一层含义。 U-Boot的主要特点 ① 开放源码; ② 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ③ 支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale; ④ 较高的可靠性和稳定性; ⑤ 高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等; ⑥ 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等; ⑦ 较为丰富的开发调试文档与强大的网络技术支持; U-boot 移植 U-boot源代码可以从其官方网站上下载 /projects/u-boot U-boot主要目录结构 board——目标板相关文件,主要包含各种目标机板的初化代码;(如没有所使用的系统,则需要进行移植) common——独立于处理器体系结构的通用代码,如内存大小探测与故障检测; cpu——与处理器相关的文件,如mpc8xx子目录下含串口、网口、LCD驱动及中断初始化等文件; driver——通用设备驱动,如CFI Flash驱动(目前对Intel Flash支持较好)(根板级配置的不同进行定制) doc——U-Boot的说明文档; examples——可在U-Boot下运行的示例程序; include——U-Boot头文件,其中configs子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件; lib_xxx——处理器体系相关的文件,如lib_ppc目录包含与PowerPC体系结构相关的文件; net——与网络功能相关的文件目录,如bootp、nfs、tftp; post——上电自检文件目录,尚有待于进一步完善; rtc——RTC驱动程序; tools——用于创建U-Boot S-RECORD和BIN镜像文件的工具。 xxx_config.mk——与处理器体系相关的编译或者链接选项 Makefile——U-Boot的主makefile 具体移植思路: ⑴ 了解系统硬件的组成,主要是晶振、CPU、Flash、sdram以及串口和网口分别用的是哪个通信控制器。 (2)了解U-Boot中已经支持的机型,选择和目标板比较接近的一个作为起点,并建立目标板的文件所需的板级支持文件。 ⑶ 修改include/configs/*.h文件。这是需要修改的最重要的文件。它配置了开发板的CPU类型、晶振、RAM,Flash等很多重要信息。 ⑷ 修改board/ tc320er /config.mk文件,这个文件的TEX_BASE量定义了链接的基址,所以一定要注意这个

文档评论(0)

1亿VIP精品文档

相关文档