不浮躁
发布时间:2015-12-13 12:05:45
U-boot 中有一个用来保存很多有用信息的全局结构体-- gd_t ( global data 缩写),其中包括了 bd 变量,可以说 gd_t 结构体包括了 u-boot 中所有重要全局变量。最后传递给内核的参数,都是从 gd 和 bd 中来的,如上述的 setup_memory_tags 函数作用就是用 bd 中的值来初始化 RAM 相应的 tag 。对于 ARM 平台这个结构.........【阅读全文】
发布时间:2015-12-13 11:54:59
—struct tag (以及补充)U-boot 会给 Linux Kernel 传递很多参数,如:串口, RAM , videofb 等。而 Linux kernel 也会读取和处理这些参数。两者之间通过 struct tag 来传递参数。 U-boot 把要传递给 kernel 的东西保存在 struct tag 数据结构中,启动 kernel 时,把这个结构体的物理地址传给 kernel ; Linux kernel .........【阅读全文】
发布时间:2015-12-11 21:48:51
现在介绍一下u-boot 的编译过程,这里用的uboot 版本是U-Boot 2010.10,硬件用4412,这个板子用得比较普遍,uboot 已经有对其的支持。通过我们对编译过程和代码的了解,我们也容易用uboot 支持我们自己需要的硬件。编译命令非常简单:make smdk2410_config (生成配置)make all (生成最终文件)当然,更好的做法是.........【阅读全文】
发布时间:2015-12-10 21:43:46
第二阶段入口地址为: start_armboot 在lib_arm/board.c 中定义。如下图所示1.U-BOOT 环境变量实现(基于smdkc210)1.相关文件common/env_common.c供u-boot 调用的通用函数接口,它们隐藏了env 的不同实现方式,比如dataflash, epprom, flash 等common/env_dataflash.cenv 存储在dataflash 中的实现//com.........【阅读全文】
发布时间:2015-12-10 20:53:26
该布局由uboot.lds 文件定义,在链接时候生成相应的二进制映像。首先定义起始地址为0xc3e00000,接下来是中断向量表(Vector),大小为256字节,按每个中断向量占用4个字节的跳转地址算,做多可以有64个中断向量;2.一些基础性的代码段,它为下一步加载boot或者kernel做准备,其大小为0x1700字节3.是代码段的后半部.........【阅读全文】
发布时间:2015-12-10 19:47:44
board/samsung/smdkc210/lowlevel_init.S/* * Memory Setup stuff - taken from blob memsetup.S * * Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) and * &nbs.........【阅读全文】
发布时间:2015-12-10 19:42:54
cpu/arm_cortexa9/s5pc210/cpu_init.S#include #include //#define SET_MIU@ MIU (Memory Interleaving Unit)//#define MIU_LINEAR//#define MIU_1BIT_INTERLEAVED//#define MIU_2BIT_INTERLEAVED//#define MIU_1BIT_12_INTERLEAVED//#define MIU_1BIT_7_INTERLEAVED.........【阅读全文】