UBoot移植和配置详解

需积分: 10 4 下载量 93 浏览量 更新于2024-09-17 收藏 76KB DOC 举报
Uboot分析和笔记 Uboot是目前主流的Bootloader之一,由ppcboot和armboot合并而成。它支持很多平台,移植Uboot时需要找到一个自己板子的原形(即自己的板子是在这个板子上做一些修改而来的)的版本,这样可以事半功倍。 Uboot移植的主要步骤包括: 1. 修改./include/configs/xxxx.h文件,该文件主要定义了flash、sdram的起始地址等信息。需要修改flash的起始地址、大小,有时候会有位宽等。 2. 修改./board/xxxxx/*目录下的文件,该目录下主要有两三个.c文件,主要为该平台的初始化和flash操作的函数。 3. 修改./cpu/xxxxxx/arch_xxx/xxxxxx/*目录下的文件,该目录下主要是此cpu的初始等函数。 在移植Uboot时,需要修改的地方可能会有: * flash的起始地址、大小 * 内存大小(内存的起始地址应该都是0) * uboot设置信息保存的地址和长度 * console口和它的波特率 * 默认的设置 * uboot的入口地址等 如果不是从相同的平台移植,可能需要修改一些和此cpu相关的一些寄存器、频率和内存等硬件方面的东西,这时候需要参考cpu的datasheet和到网上找一些资料了并且慢慢试了。 另外一个常需要修改的地方是flash的驱动,一般会在./board/xxxx/flash.c文件中。这个可以从uboot的别的./board/目录中拷贝一个支持该flash的驱动过来。 在编译Uboot前需要配置,这个配置不是执行./configure,也不是make menuconfig。 Uboot的bootmaddr_kerneladdr_initrd是Uboot启动过程中的三个主要步骤: 1. bootmaddr:加载内核的地址 2. kerneladdr:加载内核的地址 3. initrd:初始化根文件系统 Uboot的配置文件主要包括了flash、sdram的起始地址等信息,需要根据具体的硬件平台进行修改。 Uboot的移植需要根据具体的硬件平台进行修改,需要了解Uboot的架构和工作原理,了解flash、sdram、cpu等硬件方面的知识,并且需要有丰富的编程经验和调试技能。 Uboot的分析和移植需要系统地了解Uboot的架构和工作原理,并且需要根据具体的硬件平台进行修改和配置。