不浮躁
发布时间:2015-12-14 22:05:36
vmlinux-lds 连接器脚本/* * Automatically generated C config: don't edit * Linux/arm 3.0.15 Kernel Configuration *//* ld script to make ARM Linux kernel * taken from the i386 version by Russell King * Written by Martin Mares *//*.........【阅读全文】
发布时间:2015-12-13 16:14:22
u-boot重定位后的内存分布: 对于smdk2410,RAM范围从0x30000000~0x34000000. u-boot占用高端内存区。从高地址到低地址内存分配如下: 显示缓冲区 (.bss_end~34000000)&nb.........【阅读全文】
发布时间:2015-12-13 14:50:59
本文从以下几个方面粗浅地分析u-boot 并移植到FS2410 板上:1、u-boot 工程的总体结构2、u-boot 的流程、主要的数据结构、内存分配。3、u-boot 的重要细节,主要分析流程中各函数的功能。4、基于FS2410 板子的u-boot 移植。实现了NOR Flash 和NAND Flash 启动,网络功能。这些认识源于自己移植u-boot 过程中查找的资料.........【阅读全文】
发布时间: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.........【阅读全文】