Chinaunix首页 | 论坛 | 博客
  • 博客访问: 790471
  • 博文数量: 296
  • 博客积分: 5376
  • 博客等级: 大校
  • 技术积分: 2298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-14 19:02
文章分类

全部博文(296)

文章存档

2023年(2)

2020年(2)

2018年(2)

2017年(26)

2016年(4)

2015年(19)

2014年(12)

2013年(26)

2012年(84)

2011年(50)

2010年(41)

2009年(28)

分类: 嵌入式

2012-06-27 15:43:21

[转载]uboot移植
2011年08月06日 星期六 14:15

:转载时请以超链接形式标明文章原始出处和作者信息及本声明
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


阅读(1546) | 评论(0) | 转发(1) |
0

上一篇:ssh 登陆慢的问题解决

下一篇:dd命令

给主人留下些什么吧!~~