您好,欢迎光临本网站![请登录][注册会员]  
文件名称: u-boot2017.01启动过程分析.pdf
  所属分类: 嵌入式
  开发工具:
  文件大小: 4mb
  下载次数: 0
  上传时间: 2019-10-31
  提 供 者: qq_36******
 详细说明:u-boot2017.01启动过程分析,以ppt的方式对uboot2017.11的启动过程进行分析,主要分析了启动过程函数的调用过程、版本信息和启动过程概述 启动过程概述SPL阶段分析u-boot阶段分析u-boot加载内核 版太信扇工具链 指令集 启动过程概述SPL阶段分析u-boot阶段分析u-boot加载内核 固化在心片内部的代码,用于引导加载程序, 然后跳转转到第二级 初始化硬件,关闭看门狗,关中断, 初始化时钟、 ,跳转转到第三级 初始化大部分硬件,读取环境变量, 执行用户命令,引导加载内核 内核启动,挂载跟文件系统,执行应用程序 启动过程概述SPL阶段分析u-boot阶段分析u-boot加载内核 Table 26-7. SYSBOOT Configuration Pins[4] Booting SYSBOQT[15: 14SYSBOQT[13: 12 SYSBQDT[11: 10 SYSBOOT[9] SYSBOOT((8] SYSBOQT[T: 6] SYSBDQT[5]SYSBOOT[4: 01 Boot Sequence For all boot For all boot For XIP boot: For NAND and For XIP boot: For EMAC For all boat 根据Boot引脚配置 Sct toUred NANDI2C Bus width boot: PHy modes OCo for nano boot NAND CL LKOUT operafion 选定启动器件列表 For NaNd boot ECC For Fast en abled'disable 处理下一个器件 CONTROL CONTRC CONTROL CONTROL GONTROL GONTROL 处理一个器件 STATUS(23: 22]STATUS(21: 20 STATUS(19 18] STATUSI17STATUSI1BJSTATUSI7-E STATUSI5J STATUS(4: 0) 器件是存储器 成功成功 器件是外设 0Ub=19.2MH2 For XIP boot. Dcn't care for 0=8-bit device Don't care for 0-CLKCUT100001b IPw! MMCOSPIO 01b-24MH2(all other values 0ab-non-muxed ROM code[]1-16-bit ROM code disabled WAIT 10b=25MH 1=LKCUT1 存储器 外设 11b=26MH2 1b muxcd enabled 启动 跳转到 00b=192MHz For NAND boot: o=ECC done Don't care for Don't care for 0=CLKOUT1 00010b ARTO SPIO NAND NANDI2C all other values must be ODb by RCm ROM code ROM code disable 失败 初始化软件 失败死循环 1=ECC 1=CLKCUT1 11b=26MH> hand led by NAND 超时 n0b=19.?Hz For XIP boot Don' t care for a-8-bit device Don't care for Q-CLKCUT1 0001 ARTO SPl0 MMCC 01b-24MH2(all other values0ab-non-muxed RCMl code disabled (MUX2 2 10b= 25MHZ device 1=cLRGUT1 11b≡26MHz ab= muxcd enabled 选下一个器件P列表中最后一个器件? xb= reserved No more deices in the list 启动过程概述SPL阶段分析u-boot阶段分析u-boot加载内核 ARM Cortex-A8 Memory Map Table 2-1. L3 Memory Map Figure 26-6. Public RAM Memory Map Block name Start address(hex) End address(hex) Size Description 0x403OFFFF GPMC 0xOo00o000( 0x1FFF FFFF 512MB B-/16-bit External Memory Tracing Data (External Memory) (Ex/R/W)) nzdC.30CFonL EXtVectors Reserved 0x2000C00 0x3FFF FFFF 512MB Reserved EKE Public stack 0x430E80 Boot rom Qx4000c000 Cx4001 FFFF 128KB ublic RaM 109KB 0x4002C200 Cx4002 BFFF 48K3 32-btEκR(2)- Public Reserved 0×4002c000 Cx40CF FFFF 848KB Reserved Reserved 0x4010C300 CX401F FFFF 1MB Reserved DOwnloaded Image Reserved 0x4020C000 0X402E FFFF Reserved 0x402F0400GP Reserved Ox402F0D00 0x402F03FF 64K3 Reserved SRAM internal 0x402F400 CX402F FFFF 32-bit EX/R/W(2) Figure 26-7, Public RAM Memory Map L3 OCMCO 0x4030C000 C×4030FFF64K3 32-bit EX/R/() OCMC SRAM Reserved 0x4031C500 Cx403F FFFF 96CKB Reserved 0x4C30cE00 RAM EXC Vectors RAM Reserved 0x4040C000 Cx4041 FFFF 128KB Reserved KE Public slack Reserved 0x4042c00 Cx404F FFFF 896KB Reserved 0x4030E800 Reserved 0x4050C000 C×405 F FFFF 1MB Reserved Reserved 0x4060C000 Cx407F FFFF 2MB Reserved Reserved 0x4080C00 0x4083 FFFF 256K Reserved Downloaded Image Reserved 0x4084C200 0x40DF FFFF 5888KB Reserved 0x40300000'HS Reserved 0x40E00000 CX40EC 7FFF 32K3 Reserved 0x402F0u00GP1 D。Wn| oad Image This area is used by the public rom Code to store the downloaded boot image. It can be up to 109KB on the GP DeviCe and 46KB for the hs device 2、SPL启动阶段分析 启动过程概述SPL阶段分析u-boot阶段分析u-boot加载内核 u-boot-spl. lds(arch/armfcpu/armv7/sunx-/u-boot-spl Ids) 12345∈78 -> vectors. s(arch/arm/lib/vectors. s) 1-> start. s(arch/arm/ cpu/armv7/start. 3) 1--> save boot l-->/*set svC mode disable FIQ and IrQ*/ I--> cpu init cp15(arch/arr.cpu/ar7/start. s) /*disable MMU stuff and caches*/ cpu init crit(arch/ar/cpu/armv7/start.s) 1>1。w1ev61init(axeh/an/=u/am7/1=M1e11nit,a)/*板级初始化,设置栈空问+ I->sinit(arch/arm/mach-ompa/ am33xx/board. c) I-->rt.c: only(arch/ arm/mach-omna2/am.3xx/hoard.c) 11 I--> nain(arch/arm/lib/crt.s 12 I--> board init f(arch/arm/'mach-ompa2/an33xx/board.c) 1--> early system init(arch/arm/mach-ompa2/am33xx/board. o -> wat chdag cisah∈(Exch/axm/mach-ama2/am33x/kaxd.c)禁止看门狗*/ >set uart ux conf (board/ti/am335x/board. c) *设置串口 16 > setup early clocks(arch/arm/mach ompa2/am33xx/c_ock. c) 1--> uart soft reset(arch/arm/mach-ompa2/am33xx/board. c) 18 1--> board sarly iait f(arch/a m/mach-cmpa2/am33x/bcard.c) 19 1--> pyc init(arch/arn/mach-ompa2/am33xx/clockc) 2 1--> skI. IIx sdram init(board/ti/a m335x/board. c) /*初始化DDR*f axd init r(emcn/p⊥/=p⊥.g I--> 3->bd &bdata d是保存在x9寄存器的,即r9保存的是指向 gdata的指针 24 > tier 111t(ax-h/arm/=pu/axm/sni/ timer.2)/*初始化时钟4/ 25 I--> spl board init(arch/arm/mach-omap2/boot-common. c) 26 >sav=_cmap_ bootparams(arch/axm/ mach onap2/ bcot commo-,c)/保在启动的 device和me+ 27 1--> preloader console init( Common/sp1/=p1.c)/*初始化cd部分数据绪构波特率*/ Bella1init( driver8/gxia1/ Sera1.c)/*市口初始化* 133x5p1 board init()/设置频率 1->:H1Frm:3:::m/:1/:1: 31 1--> spl l1 fi: d loader(common/spl/ spl. c) 32 -->⊥⊥ cntry start(n⊥udc/⊥ ncr⊥it2,h) 33 I-->SFL LOAD IMAGE METHOD("MMC1", 0, BOOT DEVICE MMCI, spl mc oad image)(commmon/spl/spl mmc. c) 34 I--> spl ILac load image(common/spl/sel Inc. c) 35 1-->Lac load image raw os(common/sp_/spl mmc. c) 36 mmc load legacy(common/apl/spl rumc. c) 37 |-->spl parse image header(common/spl/spl. c) /*Ft header 38 1--> jump to image no args(common/spl/apl 35 nage entry/*结s过程,跳转到u-bt*/ 启动过程概述SPL阶段分析u-boot阶段分析u-boot加载内核 设置,关中断 >,关闭和
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: