童裙厂家
免费服务热线

Free service

hotline

010-00000000
童裙厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于MPC8349控制计算机的UBoot移植

发布时间:2020-07-21 17:57:43 阅读: 来源:童裙厂家

0 引言U-Boot (Universal Boot Loader),是在PPC Boot 的基础上,集成了ARM, XScale, x86,MIPS 等结构发展来的。作为Boot loader,其主要安装在嵌入式系统板上的ROM 中。 它主要用来初始化、检测系统硬件,以及下载、运行有关的应用代码。 在这篇论文中,采用的是开源的最新版本U-Boot 1.1.3。U-Boot 1.1.3 支持的CPU包括, MPC8xx, MPC5xx, MPC824x,MPC82xx, MPC83xx, MPC85xx, MPC74xx 等。U-Boot 之所以主要是因其支持很多文件类型。(1) 独立的应用程序:该程序直接在U-Boot 环境下执行,并且执行完毕后重新返回U-Boot 环境。(2) “Linux 操作系统Kernel 文件”: U-Boot 可以引导Linux 操作系统Kernel 文件在系统板上执行。在完成该引导过程后,必须通过重新启动CPU 才能再次进入U-Boot 环境。(3) “操作系统Ramdisk 文件”: U-Boot 可以引导加载Linux 操作系统Ramdisk 文件。该文件主要是作为系统板,启动时需要加载的文件系统。(4)“综合文件”: 该文件可以包括一种或几种U-Boot 所支持的文件。比如包括Linux 操作系统内核和启动时需要加载的ramdisk 文件系统。(5) “可执行文件”: 该文件主要由U-Boot 将其烧录到系统板的Flash 中。比如,n。(6) “脚本文件”: 该文件主要用在U-Boot 启动时利用脚本文件来设置具体的环境变量。1 U-Boot 工作原理U-Boot启动过程可以分成三个阶段。(1)执行start.S(cpu/mpc83xx/start.S)汇编程序,见图1.(2)执行U-Boot启动过程中的第一个C语言函数board.(lib_ppc/board.c),见图2。(3)系统进入主循环main_loop(common/main.c)延时等待处理用户命令或自动执行启动,见图3。

本文引用地址: U-Boot 的文件结构在U-boot 包含board, common, cpu, disk,doc, drivers, dtt, examples, fs, include 等文件。但是,针对具体的应用,只需要修改设定的与我们系统有关的代码。当我们的U-boot 编译成功后,必要的二进制文件将成为在u-boot-1.1.3 文件夹中。这些文件中,最重要的是。:定义基地址和CFLAGS。MAKEALL:用来定义所有支持的系统板以及U-Boot 源码。Makefile: U-Boot 编译时要用到的文件。Mkconfig:用来创建头文件并链接生成针对系统板的U-Boot的脚本。 n:U-Boot 编译成功后形成的二进制文件,可以烧录到系统板的flash 中。除了以上四个重要文件之后,在u-boot-1.1.3 目录下面还有一些重要的文件。(1)在u-boot-1.1.3/board/下,重要的文件包括。flash.c::定义针对flash 的命令。init.S:用来定义 TLBs 和LAWs。mpc8349.c: 针对mpc8349 的特殊代码。s:: 系统板的链接文件。(2)在u-boot-1.1.3/cpu/下, 主要的文件包括。start.c::U-Boot 启动时所要执行的第一个程序。spd_sdram.c:初始化和配置系统板的DDR。(3)在u-boot-1.1.3/include/configs/下, 主要的文件包括。

MPC8349.h:针对系统板的具体局宏定义。flash.h: 包含各种Flash 芯片的具体资料数据的定义。(4)在u-boot-1.1.3/include/lib_ppc/下, 重要的文件包括。

board.c: 系统板的初始化函数。(5)在u-boot-1.1.3/common/下, 重要的文件包括。main.c: 整个U-Boot 启动时的主循环函数。4 为MPC8349 制作合适的U-BootA 针对系统板的 U-Boot 修改在控制计算机的硬件系统包括两片8M Flash, 128M SDRAM, 6 GBE 和 2 FCC 等。为了让U-Boot 在该系统上正确的运行 ,应该针对该系统设置一些特殊的结构参数选择。(1)编辑 “Makefile” and “MAKEALL”(2)添加新的代码到针对系统板的文件夹中。在此过程中,我们应该创建一个新的目录用来存放系统的特殊代码。我们可以添加系统板需要的任何文件。在系统板的目录,有些文件是必须有的。u-boot-1.1.3/board/mpc8349/mpc8349.c,u-boot-1.1.3/board/mpc8349/flash.c,u-boot-1.1.3/board/mpc8349/init.S,u-boot-1.1.3/board/mpc8349/s,u-boot-1.1.3/include/configs/MPC8349.h,u-boot-1.1.3/lib_ppc/board.c,u-boot-1.1.3/Makefile,u-boot-1.1.3/MAKEALL.B. U-Boot 的交叉编译环境的建立开发系统主机的系统是FC6.0。用到的源码有gcc-3.4.3/glibc-2.3.2、Linux

苏州碧莲盛官网

深圳碧莲盛官网

长沙碧莲盛植发医院

太原碧莲盛植发医院