以smdk2410开发板为基础的uboot学习笔记(1) 概览
来源:互联网 发布:java多态机制是什么 编辑:程序博客网 时间:2024/06/16 05:53
零:目的
在非开发模式下,即启动加载模式下,uboot执行到最后,将linux的参数放在0x30000100为起始的地方,将linux内核放在0x30008000为起始的地址,然后跳转到0x30008000处执行,剩下的就是linux的事了。
一:上电
uboot被烧写到flash中以0x00000000为起始的地方。
开发板硬件决定了上电后,开发板从0x00000000处开始执行程序。
开始的几条指令是与程序编译时确定的地址无关的命令,做了些基本的设置后,将整个uboot代码复制到内存中(以0x33f80000为起始的地方)。然后,通过一条指令:ldr pc , _start_armboot
跳转到c语言代码,正式使用程序编译时确定的地址来执行程序。
二:架构
整个体系中,smdk2410开发板的独立文件有:
/board/smdk2410 文件夹
/include/config/smdk2410.h 文件
对于不同的开发板,类似。
其他的文件则是通用的。
三:编译命令
make smdk2410_config
make
得到我们想要的uboot映像。
四:配置
uboot的配置集中在 /include/config/smdk2410.h 中。
其中主要有两类宏:
一类是选项,前缀为"CONFIG_";
一类是参数,前缀为"CFG_";
五:编译链接
1.首先编译 cpu/$(CPU)/start.S ,对于不同的CPU,还可能编译cpu/$(CPU)下的其他文件。
2.然后,对于开发板相关的每个目录,每个通用目录都使用他们各自的Makefile生成相应的库。
3.将1 2 步生成的 .o .a 文件按照 board/$(BOARDDIR)/config.mk 文件中指定的代码段起始地址 和 board/$(BOARDDIR)/U-BOOT.lds 链接接脚本进行链接。
4.第3步得到的是ELF格式的U-Boot,后面Makefile还会将它转换为二进制格式,S-Record格式。
- 以smdk2410开发板为基础的uboot学习笔记(1) 概览
- 以smdk2410开发板为基础的uboot学习笔记(1) 概览
- Uboot的启动流程--以友善之臂tiny4412开发板为例
- 【4412嵌入式开发板学习笔记】认识uboot -迅为电子资料分享
- 九鼎x210开发板的uboot学习笔记(配置过程)
- WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(1)-NBoot
- Struts2学习笔记(1)-Struts2概览
- smdk2410-uboot编译
- 【J2EE核心开发学习笔记 004】通过JDBC进行简单的增删改查(以MySQL为例)
- Smart Client学习笔记(1) 智能客户端开发概览
- 以Web方向为基础的java学习路线
- lmbench的使用方法(以SEP4020开发板为例)
- 总结的uboot学习笔记
- WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(15)-CS8900 NDIS Miniport driver简析(1)
- WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(18)-Nand Flash驱动(FMD)及其简析(1)
- 基于smdk2410 开发板u-boot-1.2.0 nand flash读写操作及其命令的实现(续)
- smdk2410 UBoot 汇编阶段分析
- uboot之smdk2410.h源码
- 五一之所想
- 让 FCKeditor 支持多用户Web环境(以PHP为例)
- ASP.NET 2.0的缓存技术简介
- 生活的残酷
- SQL查询重复数据和清除重复数据
- 以smdk2410开发板为基础的uboot学习笔记(1) 概览
- Understanding Reference, Module,Package, Object in Perl
- 网页嵌入播放器代码详解
- oracle存储过程--for each row
- Map的常见用法总结
- Java编程那些事儿109——网络编程示例2
- Linux线程通信--信号量(例子)
- PIC16C5X的I/O口结构(转)
- 用Eclipse调用AIX的wsdl2java