smdkv210_uboot
wanzhongsxx
这个作者很懒,什么都没留下…
展开
-
u-boot_smdkv210 分析一:源码目录结构
1.board 本目录存放与已有开发板相关的文件。每种开发板有一个子目录,子目录仅存放与开发板相关的c文件和配置文件,不包含开发板CPU架构通用的实现文件。 每个目录下有如下文件(以samsung\smdkc110为例): Makefile config.mk smdkc110.c 和板子相关的代码 flash.c Flash操作代码 u-boot.lds转载 2013-08-05 16:41:43 · 953 阅读 · 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 · 846 阅读 · 0 评论 -
u-boot_smdkv210 分析三:启动代码lowlevel.s分析
_TEXT_BASE: .word TEXT_BASE .globl lowlevel_init lowlevel_init: push {lr} 1.lr入栈 /* check reset status */ ldr r0, =(ELFIN_CLOCK_POWER_BASE+RST_S转载 2013-08-05 16:11:41 · 971 阅读 · 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 · 870 阅读 · 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 · 814 阅读 · 0 评论 -
u-boot_smdkv210 分析四:启动代码汇编部分总结
1.进入管理模式 2.禁用cache 3.清空cache 4.使能cache 5.禁止TLB 6.禁止指令cache 7.禁止MMU和cache 8.读取启动信息 9.将启动信息分析后写入reg中 10.进入lowlevel.s 11.读取复位标志,如果是唤醒跳过硬件初始化 12.关闭看门狗 13.配置sram引脚 14.配置PMIC引脚 15.判断是否在ram中运行,转载 2013-08-05 16:31:38 · 738 阅读 · 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 · 998 阅读 · 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 · 1670 阅读 · 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 · 877 阅读 · 0 评论