s5pv210平台U-boot-2014.07移植全攻略

需积分: 13 3 下载量 171 浏览量 更新于2024-07-21 收藏 1008KB PDF 举报
"U-boot-2014.07移植教程 基于s5pv210 - edaplayer - 2014.11.4" 本教程详细介绍了如何将U-boot-2014.07版本移植到s5pv210处理器的平台上。s5pv210是一款由三星开发的高性能应用处理器,广泛应用于嵌入式系统和移动设备。U-boot作为开源的Bootloader,负责初始化硬件并加载操作系统,是嵌入式系统开发的关键部分。 **一、程序流程分析** 程序启动从`Start.S`开始,其中`reset`函数调用`save_boot_params`。如果未定义`CONFIG_SKIP_LOWLEVEL_INIT`,则会执行`cpu_init_cp15`和`cpu_init_crit`,这些函数通常用于初始化CPU和必要的低级设置。`cpu_init_crit`实际调用`lowlevel_init`函数,但根据不同的平台配置,该函数可能不会被编译。 **二、移植U-boot-SPL** SPL(Secondary Program Loader)是U-boot的一部分,负责初始化基本的硬件功能,如内存控制器。移植步骤包括: 1. 在`boards.cfg`文件中添加smdkv210的配置参数。 2. 复制必要的文件到相应目录。 3. 修改相关文件以适应s5pv210平台。 **三、支持串口** 为了在s5pv210上实现串口通信,需要: 1. 添加宏来声明对串口的支持。 2. 编写串口初始化代码,确保正确配置串口控制器。 **四、DECLARE_GLOBAL_DATA_PTR** `DECLARE_GLOBAL_DATA_PTR`是一个宏,用于在U-boot中访问全局数据结构`gd_t`,它包含了系统启动时的配置信息和状态。 **五、加载U-boot到RAM** 在硬件初始化完成后,U-boot会从固件存储介质加载到RAM中执行。这涉及到地址映射、数据加载以及跳转到U-boot主程序的过程。 **六、Uboot重定位** U-boot在运行过程中可能需要将自身从加载位置移到内存的其他区域,这称为重定位。重定位过程确保U-boot能够正确处理内存布局的变化。 **七、移植网卡DM9000A驱动** DM9000A是一款常见的以太网控制器,移植其驱动至U-boot需要完成以下工作: 1. 配置U-boot以识别DM9000A硬件。 2. 编写驱动代码,包括初始化、数据传输等功能。 3. 将驱动集成到U-boot源码树中。 通过以上步骤,开发者可以成功地将U-boot-2014.07移植到s5pv210平台,从而实现系统启动和网络连接等基本功能。整个过程涉及了处理器初始化、Bootloader结构理解、硬件驱动编写等多个方面,是嵌入式系统开发的重要实践。