热度 9
2012-6-22 02:02
2488 次阅读|
0 个评论
u-boot移植 - 版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及 本声明 http://redboot.blogbus.com/logs/35092680.html 当我们有一个新的硬件 希望porting uboot要做哪些工作呢? 首先,代码部分要做以下工作: lowlevel_init.S 主要是配置频率,硬件间差别较大(频率值和寄存器配置方式都会不同)通常都要根据实际情况进行设置。 start.S, cache.S 两个文件基本可以参照现有文件,进行相应修改。 另外,配置ddr controller, flash初始化,串口都是必要工作。 还有就是pci和网口的驱动代码,还有环境变量的访问。 配置方面: 要添加相应硬件的头文件xxx.h在 include/configs目录下, 该文件内容比较多,尽量参照意义已有类似硬件的模板。 Makefile中加入编译目标: xxx_config : unconfig @$(MKCONFIG) $(@:_config=) ARCH CPU BOARD VENDOR SOC 目录组织与硬件配置的关系可以参考如下: header_file ARCH CPU BOARD VENDOR SOC smdk2410 arm arm920t smdk2410 NULL s3c24x0 LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a board/smdk2410/libsmdk2410.a LIBS += cpu/$(CPU)/lib$(CPU).a cpu/arm920t/libarm920t.a LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a cpu/arm920t/s3c24x0/libs3c24x0.a LIBS += lib_$(ARCH)/lib$(ARCH).a lib_arm/libarm.a