UBOOT+LINUX上电启动

2019-08-30 21:07

基于MPC8308 uboot全程启动

【本文导读】:本文基于20M项目开发中的一些心得和体会,主要描述UBOOT是如何运转起来的。重点详细的描述uboot的启动流程,为uboot移植做详细的分析笔录及后续调试查找问题提供依据。

【keywords】:配置字,uboot,启动,移植

1 启动配置

1.1启动配置字

CPU根据CFG_RESET_SOURCE[0:3]引脚信号判别从哪处读取重启配置字。根据RRU8B10电路图中的 CFG_RESET_SOURCE[0:3]四根线接,即CFG_RESET_SOURCE[0:3]= 0000,可知重启配置字从NOR Flash中加载。根据TEXT_BASE = 0xFE000000定义.text的起始地址。

.text

\\

#define _HRCW_TABLE_ENTRY(w)

.fill 8,1,(((w)>>24)&0xff); .fill 8,1,(((w)>>16)&0xff); .fill 8,1,(((w)>> 8)&0xff); .fill 8,1,(((w) )&0xff)

\\ \\ \\

_HRCW_TABLE_ENTRY(CONFIG_SYS_HRCW_LOW) _HRCW_TABLE_ENTRY(CONFIG_SYS_HRCW_HIGH)

CPU读完启动配置字后,主要配置PLL及启动地址。下面是对启动配置字的详细描述。 图1是RCWLR与RCWHR格式。 RCWLR:主要用于PLL比例

RCWHR:主要用于决定从哪里启动及其他

1

图1:重启配置字格式

下面是本项目中对启动配置字的配置

配置字段 BITs Name Value meaning 0 LBIUCM 0 LBC controller clock: csb_clk【1:1】 1 DDRCM 1 DDR SDRAM memory controller clock:csb_clk【2;1】 2-3 SVCOD 0 System PLL VCO division 4-7 RCWLR 8 SPMF 0100 System PLL multiplication factor(csb_clk: SYS_CLK_IN=4:1) Reserved 0 9-15 COREPLL 0000110 core_pll:csb_pll=3:1 16-31 Reserved 0 2

0-3 Reserved 4 COREDIS 0 Core disable mode 5 BMS 1 Boot memory space. 6-7 BOOTSEQ 0 Boot sequencer configuration. 8 SWEN 0 Software watchdog enable 9-11 ROMLOC 110 Local bus GPCM—16-bit ROM RCWHR 12-13 RLEXT 00 14-15 Reserved 16-18 TSEC1M 000 19-21 TSEC2M 000 22-27 Reserved 28 TLE 0 29-31 Reserved

3

1.1.1 PLL

图二:时钟子系统

(1) csb_clk = [SYS_CLK_IN] × SPMF其中SYS_CLK_IN 24-66MHZ and 33.3平均 (2) qe_clk = (QE_CLK_IN × CEPMF) ÷ (1 + CEPDF) (3) ddr_clk = 2*csb_clk; (4) lbc_clk = csb_clk;

4

csb_clk = 33.3*4=133Mhz ddr_clk = 2* csb_clk=266Mhz

以及其他模块可通过SCCR寄存器配置时钟

1.1.2 RCW关键字段

下面重点描述RCWHR的配置某个字段:

RCWHR[ROMLOC]、RCWHR[RLEXT]共同决定设备启动。 RCWHR[BMS]:

从相应的地方读取硬件配置字(RCWL,RCWH)后,会设置相应的寄存器。其中RCWH中的BMS位值为1,定义了e300核心的MSR[IP]位初始值,如上图所示,MSR[IP]为1决定中断向量的前缀为0xFFF,启动存储空间的位置为0xFF80_0000~0xFFFF_FFFF;SWEN位为0,禁止软件看门狗;ROMLOC位为0b110,RLEXT位为0b00确定了选择local bus GPCM-16bit ROM为启动ROM。复位向量和本地地址映射的默认启动ROM访问将直接指向ROMLOC指定的接口。选中的启动ROM的本地访问窗口(LBLAW0)将被使能,CPU根据LBLAWBAR0, BR0, OR0确定启动后第一条指定从哪处取,这点在 powerpc上电复位过程.docx中有所描述。 中断向量的前缀为0x000,复位向量为100,决定了系统复位后的第一条指令从0x0000_0100处获得。

5


UBOOT+LINUX上电启动.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:科目一 Packet Tracer基本操作 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: