UBOOT基础知识-ppt课件.ppt

上传人(卖家):三亚风情 文档编号:2604673 上传时间:2022-05-10 格式:PPT 页数:71 大小:323.50KB
下载 相关 举报
UBOOT基础知识-ppt课件.ppt_第1页
第1页 / 共71页
UBOOT基础知识-ppt课件.ppt_第2页
第2页 / 共71页
UBOOT基础知识-ppt课件.ppt_第3页
第3页 / 共71页
UBOOT基础知识-ppt课件.ppt_第4页
第4页 / 共71页
UBOOT基础知识-ppt课件.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、中中 嵌嵌Teacher Xie 1ppt课件提提 纲纲理论:理论:nBootLoaderBootLoader介绍介绍nUbootUboot介绍介绍nUbootUboot命令命令nUbootUboot工作流程工作流程nUbootUboot移植移植nUbootUboot烧写烧写实验:实验:n移植移植UbootnUboot使用使用2ppt课件第一节第一节BootLoader介绍介绍3ppt课件概念概念什么是什么是BootLoaderBootLoader?4ppt课件软件层次软件层次一个嵌入式系统从软件角度来看分为三个层次:一个嵌入式系统从软件角度来看分为三个层次:1. 1. 引导加载程序引导加载程

2、序 包括固化在固件包括固化在固件( (firmware)firmware)中的中的 boot boot 代码代码( (可选可选) ),和,和 BootLoaderBootLoader 两大部分。两大部分。 2. 2. Linux Linux 内核内核 特定于嵌入式平台的定制内核。特定于嵌入式平台的定制内核。 3. 3. 文件系统文件系统 包括了系统命令和应用程序。包括了系统命令和应用程序。 5ppt课件软件层次软件层次一个同时装有一个同时装有 BootLoaderBootLoader、内核的启动内核的启动参数参数、内核映像内核映像和和根文件系统根文件系统映像的固映像的固态存储设备的典型空间分配

3、结构图:态存储设备的典型空间分配结构图:6ppt课件回忆回忆PCPCPC机中的引导加载程序由机中的引导加载程序由BIOSBIOS(其本质是一段固件程序)其本质是一段固件程序)和位和位于于硬盘硬盘MBRMBR中的引导程序中的引导程序( (GRUBGRUB或或LILO)LILO)一起组成。一起组成。BIOSBIOS在完成硬在完成硬件检测和资源分配后,将硬盘中件检测和资源分配后,将硬盘中的引导程序读到系统内存中然后的引导程序读到系统内存中然后将控制权交给引导程序。引导程将控制权交给引导程序。引导程序的主要任务是序的主要任务是将内核从硬盘上将内核从硬盘上读到内存中读到内存中, ,然后跳转到内核的入然后

4、跳转到内核的入口点去运行,即启动操作系统。口点去运行,即启动操作系统。7ppt课件定义定义在嵌入式系统中,在嵌入式系统中,通常通常没有像没有像BIOSBIOS那样的固那样的固件程序,件程序,因此整个系统的加载启动任务就完因此整个系统的加载启动任务就完全由全由BootLoaderBootLoader来完成来完成。比如在一个基于。比如在一个基于 ARM7TDMIARM7TDMI corecore的嵌入式系统中,系统在上电的嵌入式系统中,系统在上电或复位时都从地址或复位时都从地址 0 0 x00000000 x00000000开始执行。而开始执行。而在这个地址处安排的通常就是系统的在这个地址处安排的

5、通常就是系统的BootLoaderBootLoader程序。程序。8ppt课件定义定义简单地说,简单地说,BootLoaderBootLoader就是在操作系统就是在操作系统运行之前运行的运行之前运行的一段小程序一段小程序。通过这段。通过这段小程序,可以初始化硬件设备,从而将小程序,可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统做好准备以便为最终调用操作系统做好准备。9ppt课件功能功能BootLoaderBootLoader 的的主要任务主要任务是是初始化硬件初始化硬件(如:串口,内存)(如:串口,内存),然后将内核映

6、,然后将内核映象从象从 Flash Flash 中读到中读到 RAM RAM 中,然后跳中,然后跳转到内核的入口点去运行,也就是转到内核的入口点去运行,也就是启启动操作系统动操作系统。10ppt课件安装安装系统加电或复位后,所有的系统加电或复位后,所有的CPUCPU通通常都从常都从CPUCPU制造商预先安排地址开制造商预先安排地址开始执行始执行。比如,比如,S3C2410S3C2410在复位后在复位后从地址从地址0 0 x00000000 x00000000起开始执行起开始执行。而而嵌入式系统则将固态存储设备(比嵌入式系统则将固态存储设备(比如:如:FLASHFLASH)安排在这个地址上)安排

7、在这个地址上,而而bootloaderbootloader程序又安排在固态存程序又安排在固态存储器的最前端储器的最前端,这样就能保证在系这样就能保证在系统加电后,统加电后,CPUCPU首先执行首先执行BootLoaderBootLoader程序。程序。11ppt课件移植移植Q:Q:什么叫什么叫bootloaderbootloader移植?移植?Q:Q:为什么需要移植?为什么需要移植?12ppt课件移植移植 每种每种不同的不同的CPUCPU体系结构体系结构都有不同的都有不同的BootLoaderBootLoader。除了依赖于除了依赖于CPUCPU的体系结构外,的体系结构外,BootLoader

8、BootLoader 还依还依赖于赖于具体的嵌入式板级设备的配置具体的嵌入式板级设备的配置,比如板卡的,比如板卡的硬件地址分配,外设芯片的类型等。这也就是说,硬件地址分配,外设芯片的类型等。这也就是说,对于两块不同的开发板而言,对于两块不同的开发板而言,即使它们是基于同即使它们是基于同一种一种CPUCPU而构建的,但如果他们的硬件资源或配置而构建的,但如果他们的硬件资源或配置不一致的话,不一致的话,要想在一块开发板上运行的要想在一块开发板上运行的BootLoaderBootLoader程序也能在另一块板子上运行,还是程序也能在另一块板子上运行,还是需要作修改。需要作修改。13ppt课件流程流程

9、BootLoaderBootLoader 的启动过程可分为的启动过程可分为单阶段单阶段(Single-StageSingle-Stage)和和多阶段多阶段(Multi-StageMulti-Stage)两种,通常多阶段的两种,通常多阶段的 BootLoaderBootLoader 具有更复杂具有更复杂的功能,更好的可移植性。从固态存储设备上的功能,更好的可移植性。从固态存储设备上启动的启动的 BootLoaderBootLoader 大多大多采用两阶段采用两阶段,即启动,即启动过程可以分为过程可以分为 stage 1stage 1和和 stage2stage2:stage1stage1完完成初

10、始化硬件,为成初始化硬件,为stage2stage2准备内存空间,并将准备内存空间,并将stage2stage2复制到内存中,设置堆栈,然后跳转到复制到内存中,设置堆栈,然后跳转到stage2stage2。14ppt课件流程流程BootLoaderBootLoader 的的 stage1 stage1 通常包括以下步骤:通常包括以下步骤:硬件设备初始化硬件设备初始化为加载为加载 BootLoaderBootLoader 的的 stage2 stage2 准备准备 RAM RAM 空空间间拷贝拷贝 BootLoaderBootLoader 的的 stage2 stage2 到到 RAM RAM

11、空间中空间中设置好堆栈(设置好堆栈(why?why?)跳转到跳转到 stage2 stage2 的的 C C 入口点入口点15ppt课件流程流程BootLoaderBootLoader 的的 stage2stage2 通常包括以下步骤:通常包括以下步骤:初始化本阶段要使用到的硬件设备初始化本阶段要使用到的硬件设备将内核映像和根文件系统映像从将内核映像和根文件系统映像从 flash flash 上读上读到到 RAM RAM 中中调用内核调用内核16ppt课件内存分布内存分布17ppt课件第二节第二节UBOOTUBOOT介绍介绍18ppt课件作用作用UbootUboot是德国是德国DENXDENX

12、小组开发的用于小组开发的用于多多种嵌入式种嵌入式CPUCPU( MIPS MIPS、x86x86、ARMARM、XScaleXScale等等)的的bootloaderbootloader程序程序, , UBootUBoot不仅支持嵌入式不仅支持嵌入式LinuxLinux系统的系统的引导,还支持引导,还支持VxWorksVxWorks, QNX, QNX等等多种多种嵌入式操作系统嵌入式操作系统。19ppt课件下载下载从下面地址可以下载到从下面地址可以下载到ubootuboot的源代码:的源代码:http:/http:/ 20ppt课件目录树目录树进入到进入到UBOOTUBOOT目录,可以得到如下

13、的目录,可以得到如下的目录结构目录结构:|board|common|cpu|disk|doc|drivers|dtt|examples|fs|include21ppt课件目录树目录树|lib_arm|lib_generic|lib_i386|lib_m68k|lib_microblaze|lib_mips|lib_nios|lib_nios2|lib_ppc|net|post|rtctools22ppt课件目录结构目录结构(展示展示)BoardBoard和开发板有关的文件。每一个开发板都以一个子目录出现和开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中,比如在当前目录中,比如: :

14、SMDK2410,SMDK2410,子目录中存放与开发板相子目录中存放与开发板相关的文件。关的文件。CommonCommon实现实现UbootUboot支持的命令。支持的命令。CpuCpu与特定与特定CPUCPU架构相关的代码,每一款架构相关的代码,每一款UbootUboot下支持的下支持的CPUCPU在该在该目录下对应一个子目录,比如有子目录目录下对应一个子目录,比如有子目录arm920tarm920t等。等。23ppt课件DiskDisk 对磁盘的支持。对磁盘的支持。DocDoc文档目录。文档目录。UbootUboot有非常完善的文档,推荐大家参考阅读。有非常完善的文档,推荐大家参考阅读。

15、 DriversDriversUbootUboot支持的设备驱动程序都放在该目录,比如各种网卡、支持的设备驱动程序都放在该目录,比如各种网卡、支持支持CFICFI的的FlashFlash、串口和串口和USBUSB等。等。目录结构目录结构(展示展示)24ppt课件目录结构目录结构(展示展示)FsFs 文件系统的支持文件系统的支持。IncludeInclude UbootUboot使用的头文件。该目录下使用的头文件。该目录下configsconfigs目录目录有与开发板相关的配置头文件,如有与开发板相关的配置头文件,如smdk2410.hsmdk2410.h。该目录下的该目录下的asmasm目录目

16、录有与有与CPUCPU体系结构相关的头体系结构相关的头文件。文件。25ppt课件目录结构目录结构(展示展示)NetNet与网络协议栈相关的代码,例如:与网络协议栈相关的代码,例如:TFTPTFTP协议、协议、RARPRARP协议的实现。协议的实现。ToolsTools生成生成UbootUboot的工具,如:的工具,如:mkimagemkimage, , crccrc等等等。等。26ppt课件编译编译UbootUboot的的MakefileMakefile从从功能上功能上可以分成两可以分成两个部分:个部分:1 1、执行每种、执行每种boardboard相关的配置相关的配置2 2、编译生成、编译生

17、成ubootuboot.bin.bin文件文件27ppt课件编译编译(演示演示)UbootUboot.bin.bin的生成也分为两步,以的生成也分为两步,以smdk2410smdk2410为例来说明,如下:为例来说明,如下:1.1. 对于对于boardboard进行配置:进行配置:$ $make smdk2410_make smdk2410_configconfig2.2. 进行编译生成进行编译生成u-boot.binu-boot.bin:$make CROSS_COMPILE=arm-$make CROSS_COMPILE=arm-linuxlinux- -28ppt课件 第三节第三节UBO

18、OT命令命令29ppt课件常用命令常用命令(演示演示)尽管尽管UBOOTUBOOT提供了丰富的命令集,但不同的单板所提供了丰富的命令集,但不同的单板所支持的命令并不一定一样(支持的命令并不一定一样(可配置,可配置,How?How?后面章后面章节节),),help help 命令可用于察看当前单板所支持的命命令可用于察看当前单板所支持的命令。令。2410 # 2410 # helphelpautoscr -run script from memorybase -print or set address offsetbdinfo -print Board Info structureboot -b

19、oot default,i.e.,run bootcmdbootm -boot application image from memorybootp -boot image via network using BootP/TFTP protocol30ppt课件环境变量相关环境变量相关(演示演示) PrintenvPrintenv 打印环境变量打印环境变量usagusage:e: printenvprintenv - print values of all environment variables- print values of all environment variablesprint

20、envprintenv name . name . - print value of environment variable name - print value of environment variable nameUbootUboot printenvprintenvbaudratebaudrate=115200=115200ipaddripaddr=192.168.1.1=192.168.1.1ethaddrethaddr=12:34:56:78:9A:BC=12:34:56:78:9A:BCserveripserverip=192.168.1.5=192.168.1.531ppt课

21、件环境变量相关环境变量相关(演示演示)SetenvSetenv 设置新的变量设置新的变量( (修改已有变量修改已有变量) )setenvsetenv name value . name value . - - setset environment variable name to environment variable name to value .value .setenvsetenv name name - - deletedelete environment variable name environment variable nameUbootUboot setenvsetenv m

22、yboardmyboard AT91RM9200DK AT91RM9200DKUbootUboot printenvprintenv ethaddr ethaddr=12:34:56:78:9A:BC=12:34:56:78:9A:BCserveripserverip=192.168.1.5=192.168.1.5myboardmyboard=AT91RM9200DK=AT91RM9200DK32ppt课件环境变量相关环境变量相关(演示演示)SaveenvSaveenv 保存变量保存变量将当前定义的所有变量及其值存入将当前定义的所有变量及其值存入flashflash中。中。33ppt课件文件下

23、载文件下载(演示演示)TftpTftp 通过网络下载文件通过网络下载文件 * *使用使用tftptftp,需要先配置好网络需要先配置好网络UbootUboot setenvsetenv ethaddrethaddr 12:34:56:78:9A:BC 12:34:56:78:9A:BCUbootUboot setenvsetenv ipaddripaddr 192.168.1.1 192.168.1.1UbootUboot setenvsetenv serveripserverip 192.168.1.254 192.168.1.254 (tftptftp服务器的服务器的地址)地址)例:例:U

24、bootUboot tftptftp 32000000 32000000 vmlinuxvmlinux把把serverserver(IP=IP=环境变量中设置的环境变量中设置的serveripserverip)中服务目录中服务目录 下的下的vmlinuxvmlinux通过通过TFTPTFTP读入到读入到0 0 x32000000 x32000000处。处。34ppt课件内存操作命令内存操作命令(演示演示)MdMd 显示内存区的内容。显示内存区的内容。mdmd采用十六进制和采用十六进制和ASCIIASCII码两种形式来显示存储单元的内容。码两种形式来显示存储单元的内容。这条命令还可以采用长度标识

25、符这条命令还可以采用长度标识符 . .l, .wl, .w和和. .b b :mdmd .b, .w, .l address .b, .w, .l addressmdmd.w 100000.w 10000000100000: 2705 1956 5050 4342 6f6f 7420 312e 312e 00100000: 2705 1956 5050 4342 6f6f 7420 312e 312e .VPPCBootVPPCBoot 1.1. 1.1.00100010: 3520 284d 6172 2032 3120 3230 3032 202d 00100010: 3520 284d

26、6172 2032 3120 3230 3032 202d 5 (Mar 21 2002 -5 (Mar 21 2002 -00100020: 2031 393a 3535 3a30 3429 0000 0000 0000 00100020: 2031 393a 3535 3a30 3429 0000 0000 0000 19:55:04).19:55:04).35ppt课件内存操作命令内存操作命令(演示演示)Mm Mm 修改内存,地址自动递增。修改内存,地址自动递增。mm .b, .w, .l address Mm 提供了一种互动修改存储器内容的方法。它会显示地址和提供了一种互动修改存储器内

27、容的方法。它会显示地址和当前值,然后提示用户输入。如果你输入了一个合法的十当前值,然后提示用户输入。如果你输入了一个合法的十六进制数,这个新的值将会被写入该地址。然后提示下一六进制数,这个新的值将会被写入该地址。然后提示下一个地址。如果你没有输入任何值,只是按了一下回车,那个地址。如果你没有输入任何值,只是按了一下回车,那么该地址的内容保持不变。如果想么该地址的内容保持不变。如果想结束输入结束输入,则,则输入空格,输入空格,然后回车然后回车。= mm 10000000100000: 27051956 ? 000100004: 50504342 ? AABBCCDD00100008: 6f6f7

28、420 ? 0123456736ppt课件Flash操作命令操作命令(演示演示)FlinfoFlinfo 查看查看FlashFlash扇区信息扇区信息UsageUsage:UbootUboot FlinfoFlinfo 37ppt课件Flash操作命令操作命令(演示演示)Protect FlashFlash写保护写保护 打开或关闭扇区写保护打开或关闭扇区写保护用法:用法:protect off allprotect off all 关闭所有扇区的写保护关闭所有扇区的写保护protect on allprotect on all 打开所有扇区的写保护打开所有扇区的写保护protect off s

29、tart endprotect off start end 关闭从关闭从start start 到到 end end 扇区的写保护扇区的写保护( (startstart为要关闭的第为要关闭的第1 1个扇个扇区的起始地址,区的起始地址,endend为要关闭的最后一个扇区的结束地址为要关闭的最后一个扇区的结束地址) )protect on start endprotect on start end 打开从打开从start start 到到 end end 扇区的写保护扇区的写保护38ppt课件Flash操作命令操作命令(演示演示)Erase Erase 擦除擦除flashflash扇区扇区用法:用

30、法: erase start enderase start end 擦除从擦除从startstart 到到 end end 的扇区,的扇区,start start 为要擦为要擦除的第除的第1 1个扇区的起始地址,个扇区的起始地址,end end 为要擦除的为要擦除的最后一个扇区的结束地址最后一个扇区的结束地址( (在使用在使用cpcp命令向命令向NorNor型型FlashFlash写入数据之前必须先使用写入数据之前必须先使用erase erase 命令命令擦除擦除flashflash,因为因为nor flash nor flash 按字节写入时,按字节写入时,无法写入无法写入1 1,所以必须通

31、过擦除来写入,所以必须通过擦除来写入1 1) )。例:例:erase 30000 1efffferase 30000 1effff。39ppt课件Flash操作命令操作命令(演示演示)Cp Cp 数据拷贝数据拷贝。Cp .b, .w, .l saddress daddress lenCp 提供了一种内存与内存,内存与提供了一种内存与内存,内存与FlashFlash之间数据拷贝之间数据拷贝的方法。的方法。例:例:cp.b 30008000 20000 100000 将内存地址将内存地址0 0 x30008000 x30008000处的数据(长度为处的数据(长度为0 0 x100000 x1000

32、00)拷贝拷贝到到 地址地址0 0 x20000 x20000处(处(FlashFlash中)中)cp.b 30800000 130000 70000 将内存地址将内存地址0 0 x x30800000处的数据(长度为处的数据(长度为0 0 x70000 x70000)拷贝到拷贝到 地址地址0 0 x130000 x130000处(处(FlashFlash中)中)40ppt课件程序执行指令程序执行指令(演示演示) Go Go 执行内存中的二进制代码,一个简单执行内存中的二进制代码,一个简单的跳转到指定地址的跳转到指定地址go go addraddr argarg . . - start app

33、lication at address - start application at address addraddr,passing passing argarg as arguments as arguments41ppt课件程序执行指令程序执行指令BootmBootm 执行内存中的二进制代码执行内存中的二进制代码bootmbootm addraddr argarg . . - boot application image stored in - boot application image stored in memorymemory passing arguments passing

34、arguments argarg .; when .; when booting a Linux kernel,booting a Linux kernel, argarg can be the can be the address of an address of an initrdinitrd image image要求二进制代码为要求二进制代码为制定格式制定格式的。通常为的。通常为mkimagemkimage处理过的二进制文件。处理过的二进制文件。42ppt课件信息类指令信息类指令bdinfobdinfo 显示开发板信息显示开发板信息 bdinfobdinfo命令(简写为命令(简写为bd

35、ibdi)将在终端将在终端显示诸如显示诸如内内存地址存地址和和大小、时钟频率、大小、时钟频率、MACMAC地址地址等信息。这些信息在传递给等信息。这些信息在传递给LinuxLinux内核一些参数时可能会用到。内核一些参数时可能会用到。43ppt课件技巧技巧(演示演示)1.设置自动启动设置自动启动 sbc2410=setenv bootcmd tftp 30008000 zImage ; go 30080000 sbc2410=saveenv44ppt课件第四节第四节Uboot工作流程工作流程45ppt课件工作模式工作模式大多数大多数BootLoaderBootLoader都包含两种不同的操都包

36、含两种不同的操作模式:作模式:“启动模式启动模式” ” 和和“下载模式下载模式”,”,这种区别这种区别仅对于开发人员才有意义仅对于开发人员才有意义, ,但从但从最终用户的角度看最终用户的角度看, ,BootLoaderBootLoader的作用就的作用就是用来加载操作系统是用来加载操作系统, ,而不存在所谓的启而不存在所谓的启动模式与下载模式。动模式与下载模式。46ppt课件启动模式启动模式这种模式也称为这种模式也称为“自主自主” ” 模式,是指模式,是指 BootLoaderBootLoader 从目标机上的某个固态存储从目标机上的某个固态存储设备上将操作系统自动加载到设备上将操作系统自动加

37、载到 RAM RAM 中运中运行,整个过程并没有用户的介入行,整个过程并没有用户的介入。这种。这种模式是模式是 BootLoaderBootLoader 的正常工作模式,的正常工作模式,因此在嵌入式产品发布的时侯,因此在嵌入式产品发布的时侯,BootLoaderBootLoader 显然必须工作在这种模式下。显然必须工作在这种模式下。47ppt课件下载模式下载模式在这种模式下,目标机上的在这种模式下,目标机上的 BootLoaderBootLoader 将通过串口或网络等通将通过串口或网络等通信手段从主机(信手段从主机(HostHost)下载文件下载文件 ,然后控制启动流程然后控制启动流程。4

38、8ppt课件流程流程参考文档参考文档ubootuboot启动流程启动流程49ppt课件第五节第五节Uboot 移植移植50ppt课件单板配置单板配置Q Q:为什么需要对为什么需要对UbootUboot做移植?做移植?A: A: BootLoader BootLoader 依赖于依赖于具体的嵌入式板级设备的配具体的嵌入式板级设备的配置置Q:Q:具体的板级设备的配置在哪里?具体的板级设备的配置在哪里?A:A:单板的配置文件位于单板的配置文件位于include/include/configsconfigs/ /.h.h 用相应的用相应的BOARDBOARD定义代替(例:定义代替(例:smdk2410

39、.hsmdk2410.h)51ppt课件单板配置单板配置Q:Q:UbootUboot移植都需要做些什么?移植都需要做些什么?A:A:根据开发板硬件特性根据开发板硬件特性修改配置文件是其中最重修改配置文件是其中最重要的一项工作要的一项工作Q:Q:配置文件中都有些什么信息?配置文件中都有些什么信息?A:A:请看下页范例请看下页范例 ( (smdk2410.h)smdk2410.h)52ppt课件Smdk2410.h#define CONFIG_ARM920T#define CONFIG_ARM920T1 1/ /* * CPU CPU 类型类型 * */ /#define#define CONFI

40、G_S3C2410 1 CONFIG_S3C2410 1/ /* * MCU MCU类型类型 * */ /#define CONFIG_SMDK2410#define CONFIG_SMDK24101 1/ /* * 开发板型号开发板型号 * */ /53ppt课件Smdk2410.h#define USE_920T_MMU 1#define USE_920T_MMU 1/ /* * 使用使用MMU MMU * */ /# #undefundef CONFIG_USE_IRQ CONFIG_USE_IRQ/ /* * 不使用不使用 IRQ/FIQ IRQ/FIQ * */ / /* * mal

41、loc malloc 池大小池大小* */ /#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128* *1024)1024)#define CFG_GBL_DATA_SIZE#define CFG_GBL_DATA_SIZE128128/ /* * 数据段大小数据段大小 128 128字节字节 * */ /54ppt课件Smdk2410.h#define CONFIG_DRIVER_CS8900#define CONFIG_DRIVER_CS89001 1/ /* * 一个一个

42、CS8900 CS8900 网卡网卡 * */ /#define CS8900_BASE#define CS8900_BASE0 x190003000 x19000300/ /* * CS8900A CS8900A 基地址基地址 * */ /#define CONFIG_SERIAL1 1#define CONFIG_SERIAL1 1/ /* * 使用串口使用串口1 1 * */ /#define CONFIG_BAUDRATE#define CONFIG_BAUDRATE 115200115200/ /* * 波特率波特率 * */ /55ppt课件Smdk2410.h#define CO

43、NFIG_COMMANDS #define CONFIG_COMMANDS (CONFIG_CMD_DFL(CONFIG_CMD_DFL | | CFG_CMD_CACHECFG_CMD_CACHE | | / /* *CFG_CMD_NANDCFG_CMD_NAND | |* */ / / /* *CFG_CMD_EEPROM |CFG_CMD_EEPROM |* */ / / /* *CFG_CMD_I2CCFG_CMD_I2C | |* */ / / /* *CFG_CMD_USBCFG_CMD_USB | |* */ / CFG_CMD_REGINFO | CFG_CMD_REGINF

44、O | CFG_CMD_DATECFG_CMD_DATE | | CFG_CMD_ELF)CFG_CMD_ELF)/ /* *定义使用的命令定义使用的命令, ,可添加额外命令可添加额外命令, ,如如PINGPING* */ /56ppt课件Smdk2410.h#define CONFIG_BOOTDELAY 3#define CONFIG_BOOTDELAY 3/ /* * 启动等待时间启动等待时间 * */ /#define CONFIG_BOOTARGS #define CONFIG_BOOTARGS root=root=ramfsramfs devfsdevfs=mount consol

45、e=ttySA0,9600“=mount console=ttySA0,9600“/ /* * 内核启动参数内核启动参数 * */ /#define CONFIG_ETHADDR#define CONFIG_ETHADDR08:00:3e:26:0a:5b08:00:3e:26:0a:5b#define CONFIG_NETMASK 255.255.255.0#define CONFIG_NETMASK 255.255.255.0#define CONFIG_IPADDR 10.0.0.110#define CONFIG_IPADDR 10.0.0.110#define CONFIG_SERV

46、ERIP#define CONFIG_SERVERIP 10.0.0.110.0.0.157ppt课件Smdk2410.h#define CONFIG_BOOTCOMMAND#define CONFIG_BOOTCOMMAND tftptftp; ; bootmbootm #define#defineCFG_PROMPTCFG_PROMPTSMDK2410 # SMDK2410 # #define PHYS_SDRAM_1 0 x30000000 /#define PHYS_SDRAM_1 0 x30000000 /* * SDRAM Bank #1 SDRAM Bank #1 * */ /#

47、define PHYS_SDRAM_1_SIZE#define PHYS_SDRAM_1_SIZE0 x04000000 /0 x04000000 /* * 64 MB 64 MB * */ /#define#defineCFG_LOAD_ADDR 0 x33000000 CFG_LOAD_ADDR 0 x33000000 / /* * 默认的加载地址默认的加载地址 * */ /#define CFG_BAUDRATE_TABLE#define CFG_BAUDRATE_TABLE 9600, 19200, 38400, 57600, 9600, 19200, 38400, 57600, 11

48、5200 /115200 /* *可用的波特率可用的波特率* */ /58ppt课件Smdk2410.h#define CONFIG_NR_DRAM_BANKS#define CONFIG_NR_DRAM_BANKS1 1 / /* * 有一片有一片SDRAM SDRAM * */ /#define PHYS_FLASH_1#define PHYS_FLASH_1 0 x00000000 0 x00000000 / /* * FLASH 1 FLASH 1的基地址的基地址 * */ /#define CFG_FLASH_BASE#define CFG_FLASH_BASEPHYS_FLASH_

49、1PHYS_FLASH_1/ /* *FLASH FLASH 的基地址的基地址* */ /59ppt课件移植移植Q: Q: 怎么做怎么做UbootUboot的移植呢的移植呢? ?60ppt课件移植方法移植方法 移植移植U-BootU-Boot工作包括工作包括添加开添加开发板硬件相关的文件发板硬件相关的文件、配置选项配置选项,然后然后配置编译配置编译。61ppt课件移植方法移植方法 开始移植之前,首先要开始移植之前,首先要分析分析U-BootU-Boot已已经支持的开发板,选择出硬件配置最接经支持的开发板,选择出硬件配置最接近的开发板。近的开发板。选择的原则是,首先选择的原则是,首先处理处理器相

50、同器相同,其次,其次处理器体系结构相同处理器体系结构相同,然,然后是以太网接口等后是以太网接口等外围接口相同外围接口相同。 还要验证一下这个参考开发板的还要验证一下这个参考开发板的U-U-BootBoot,至少能够配置编译通过。至少能够配置编译通过。62ppt课件移植范例移植范例 以以SBC2410SBC2410开发板为例,该开发开发板为例,该开发板采用板采用S3c2410S3c2410芯片。而芯片。而UBootUBoot- -1.1.41.1.4版本支持版本支持SMDK2410SMDK2410开发板开发板, ,并并且且SMDK2410SMDK2410同样采用同样采用S3c2410S3c241

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(UBOOT基础知识-ppt课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|