PowerPC U-Boot启动分析:从配置字到nor flash启动

需积分: 50 95 下载量 17 浏览量 更新于2024-08-10 收藏 1.02MB PDF 举报
"POWERPC UBOOT 分析与移植 重定位" 本文档主要介绍了关于PowerPC架构下U-Boot的分析、移植以及重定位技术。在PowerPC处理器中,U-Boot是一个重要的引导加载程序,负责初始化硬件环境,加载操作系统内核,并提供简单的用户交互界面。 在【标题】中提到的"关于altium designer中的阻抗布线的教程"并未在描述或标签中体现,可能是一个错误,因此这里主要讨论的是PowerPC平台的U-Boot相关知识。 在【描述】中,讨论了CPU启动时配置字的作用,这些配置字决定了CPU的启动模式、内存映射、中断仲裁等关键设置。例如,PCIHOST标志设置为1表示CPU工作在主机模式,PCIARB打开表示内部中断仲裁启用,COREDIS为0表明内核可以直接执行启动代码,不需要等待外部配置。BOOTSEQ设置为00意味着不使用I2C启动序列,SWEN为0则关闭看门狗功能。ROMLOC设置为110指示启动接口为本地GPCM,RLEX为00指定了从片上Nor Flash启动。启动时,CPU会从Nor Flash的0x100偏移地址开始执行,并将本地窗口映射为4GB空间,实际的8M Nor Flash内容在这个空间内重复映射。 【标签】"POWERPC UBOOT 分析与移植 重定位"揭示了文档的核心内容,包括对PowerPC平台的U-Boot的分析、移植过程以及重定位技术。在移植过程中,通常需要理解U-Boot的配置和编译流程,包括配置文件的修改、源代码的适应性改动,以及链接脚本的调整。启动流程分析涉及了U-Boot入口函数_START、核心初始化(INIT_E300_CORE)、PC指针变化、缓存管理(CACHEASRAM)以及C语言程序的执行。 【部分内容】提到了代码重定位技术,这是在嵌入式系统中,由于内存资源有限,程序可能需要在运行时改变其地址空间布局。位置无关代码(PIC)使得程序可以在任意位置执行,而重定位技术则允许程序在运行时调整其内部地址引用,以适应不同的内存映射。文中还讨论了相对跳转和绝对跳转,以及如何利用全局 Offset Table(GOT)来访问全局变量。 文档详细阐述了PowerPC架构下U-Boot的工作原理、移植步骤以及重定位技术的应用,对于理解和开发基于PowerPC的嵌入式系统具有重要价值。