MPC8314 U-BOOT调试实战与解析

需积分: 12 5 下载量 98 浏览量 更新于2024-09-15 收藏 173KB PDF 举报
"MPC8314的U-BOOT调试涉及了E300核心的微处理器在上电启动过程中的配置、中断向量、启动ROM的选择以及U-BOOT的加载位置等内容。" 在MPC8314处理器中,E300核心在系统上电后会通过复位配置输入信号`CFG_RESET_SOURCE[0:3]`来决定硬件配置字源,这些信号通常可以通过跳线进行设置。硬件配置字包括RCWL和RCWH,其中RCWH的BMS位设置为1,确定了中断向量前缀为0xFFF,启动存储空间位于0xFF80_0000到0xFFFF_FFFF。SWEN位为0,意味着软件看门狗被禁止,而ROMLOC和RLEXT位的组合选择了GPCM-16bit ROM作为启动ROM。 复位向量和本地地址映射使能了启动ROM的本地访问窗口(LBLAW0),初始化基地址为0xFF80_0000,窗口大小为8MB。因此,LocalBus上的片选CS0相关的BR0和OR0寄存器值分别为0000_0000和0000_0000,导致整个4GB空间被视为ROM,每16MB重复一次。中断向量前缀为0xFFF,复位向量为100,使得系统复位后的第一条指令从0xFFF0_0100地址执行。 U-BOOT的加载涉及到连接器脚本文件`/cpu/mpc83xx/u-boot.lds`,它定义了代码段从`cpu/mpc83xx/start.o(.text)`开始,并且通过`ENTRY(_start)`设定U-BOOT的入口点为`start.s`中的`_start`标号。因此,U-BOOT的二进制镜像需要烧录到16MB Flash的15MB偏移位置,确保系统从0xFFF0_0100处加载U-BOOT的指令。 这个调试过程涵盖了硬件配置、CPU启动流程、中断处理、内存映射和固件加载等多个关键环节,是理解嵌入式系统启动过程和U-BOOT工作原理的重要实践。在进行这样的调试工作时,不仅需要对MPC8314的架构有深入理解,还需要熟悉相关工具和调试技巧,以便于找出并解决问题。通过这样的实践,可以积累宝贵的工程经验,对后续的系统开发和移植工作大有裨益。