U-boot-2014.07移植教程:s5pv210详解

需积分: 13 5 下载量 142 浏览量 更新于2024-07-21 收藏 1008KB PDF 举报
"u-boot for s5pv210 移植教程" 本文将详细介绍如何在s5pv210平台上移植U-boot的过程。U-boot是一个开源的引导加载程序,广泛用于嵌入式系统中,为操作系统提供启动服务。在s5pv210上移植U-boot涉及多个步骤,包括理解程序流程、配置SPL、支持串口通信、更新全局数据指针、加载Uboot到RAM以及移植特定硬件驱动等。 一、程序流程分析 U-boot的执行流程通常从汇编语言文件Start.S的`reset`标签开始。在`save_boot_params`函数中,如果未定义`CONFIG_SKIP_LOWLEVEL_INIT`,则会调用`cpu_init_cp15`和`cpu_init_crit`进行低级初始化。具体调用哪个`lowlevel_init`函数取决于不同平台的配置。 二、移植u-boot-spl 1. 配置SPL(Secondary Program Loader):在`boards.cfg`文件中添加smdkv210的配置参数,以使U-boot支持该平台。 2. 复制文件:将必要的源文件复制到相应目录,以便编译系统能识别并处理它们。 3. 修改文件:根据s5pv210的特性,可能需要修改某些配置文件或源代码,以适应新平台的需求。 三、支持串口 1. 添加宏支持串口:在源代码中添加相应的宏定义,以启用串口通信功能。 2. 串口初始化代码:编写或修改串口初始化函数,确保U-boot可以通过串口输出日志和接收命令。 四、DECLARE_GLOBAL_DATA_PTR 此部分涉及U-boot中的全局数据结构,确保在系统启动时正确初始化并指向所需的数据。 五、加载Uboot到RAM 在U-boot SPL阶段,主要任务之一是加载主U-boot映像到RAM中。这通常通过设置适当的加载地址和执行指令来完成。 六、Uboot重定位 U-boot加载到内存后,需要进行重定位操作,即将其从加载位置移动到最终运行的位置。这涉及到对内存管理单元(MMU)的配置以及更新代码和数据的地址。 七、移植网卡DM9000A驱动 对于具有DM9000A网络控制器的s5pv210平台,移植相应的驱动是必不可少的。这包括注册设备、初始化硬件、处理中断、设置网络接口等。 在移植过程中,开发者需要熟悉U-boot的源码结构、s5pv210的硬件特性以及C和汇编语言。此外,理解Makefile和配置文件的规则也是成功移植的关键。每一步都需要细心调试和测试,以确保U-boot能够正确识别和控制目标平台的所有硬件资源。