smdkv210_uboot
wanzhongsxx
这个作者很懒,什么都没留下…
展开
-
u-boot_smdkv210 分析一:源码目录结构
1.board本目录存放与已有开发板相关的文件。每种开发板有一个子目录,子目录仅存放与开发板相关的c文件和配置文件,不包含开发板CPU架构通用的实现文件。每个目录下有如下文件(以samsung\smdkc110为例):Makefileconfig.mksmdkc110.c 和板子相关的代码flash.c Flash操作代码u-boot.lds转载 2013-08-05 16:41:43 · 946 阅读 · 0 评论 -
u-boot_smdkv210 分析八:MMU地址映射
ARM的MMU由CP15协处理器管理。一. 与MMU管理有关的寄存器有:C1:某些位 用于配置MMU中的一些操作C2:页表基地址,有效的为[31:14],所以页表地址必须16KB对齐。C3:域(domain)的访问控制属性C4:保留C5:内存访问失效状态指示C6:内存访问失效时失效的地址C8:控制和清除TLB内容相关的操作C10:控制和锁定TLB内容相关转载 2013-08-05 15:59:51 · 840 阅读 · 0 评论 -
u-boot_smdkv210 分析三:启动代码lowlevel.s分析
_TEXT_BASE: .word TEXT_BASE .globl lowlevel_initlowlevel_init: push {lr} 1.lr入栈 /* check reset status */ ldr r0, =(ELFIN_CLOCK_POWER_BASE+RST_S转载 2013-08-05 16:11:41 · 960 阅读 · 0 评论 -
u-boot_smdkv210 分析七:Makefile详解
2.1 U-Boot Makefile分析2.1.1 U-Boot编译命令 对于mini2440开发板,编译U-Boot需要执行如下的命令:$ make mini2440_config$ make all 使用上面的命令编译U-Boot,编译生成的所有文件都保存在源代码目录中。为了保持源代码目录的干净,可以使用转载 2013-08-05 16:46:19 · 856 阅读 · 0 评论 -
u-boot_smdkv210 分析六:内存分配
1.内存分配图(引用网络图片)2.u-boot映像的地址0并非指物理地址0,由不同的启动方式映射到不同的地址。例如v210是映射到0xD0000000处的irom。3.TEXT_BASE等指向SDRAM的地址均为虚拟地址。4.TEXT_BASE为顶层Makefile中定义的,例如三星官方BSP中定义的是0xC3E00000,它是程序实际的链接首地址。5.SDRAM_BASE被M转载 2013-08-05 16:27:30 · 806 阅读 · 0 评论 -
u-boot_smdkv210 分析四:启动代码汇编部分总结
1.进入管理模式2.禁用cache3.清空cache4.使能cache5.禁止TLB6.禁止指令cache7.禁止MMU和cache8.读取启动信息9.将启动信息分析后写入reg中10.进入lowlevel.s11.读取复位标志,如果是唤醒跳过硬件初始化12.关闭看门狗13.配置sram引脚14.配置PMIC引脚15.判断是否在ram中运行,转载 2013-08-05 16:31:38 · 730 阅读 · 0 评论 -
u-boot_smdkv210 分析二:启动代码start.s分析
1.链接文件. = 0x00000000;. = ALIGN(4);.text :{ cpu/s5pc11x/start.o (.text) cpu/s5pc11x/s5pc110/cpu_init.o (.text)又链接文件可知,首先启动的是start.o,现在从start.s开始分析。2.启动阶段u-boot的启动分为两个阶段:s转载 2013-08-05 16:40:57 · 990 阅读 · 0 评论 -
sd_fusing总结
1.No MBR错误如果提示如下错误:Error: No MBR is found at SD/MMC. Hint: use fdisk command to make partitions.则先执行指令"fdisk -c 0",执行过程如下:SMDKV210 # fdisk -c 0转载 2013-08-05 16:42:26 · 1666 阅读 · 0 评论 -
u-boot_smdkv210 分析五:硬件启动过程
1.上电启动位于地址空间0xD0000000的是irom和iram。由于地址0为Mirrored region depending on the boot mode. 所以启动后直接进入0xD0000000运行。irom中存储的是三星固化的一段64k的启动代码,这段代码又称bl0,完成基本的初始化后读取启动选取引脚设置,将相应存储器的8k的bl1段代码复制到iram中并运行。转载 2013-08-05 16:30:05 · 867 阅读 · 0 评论