Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206917
  • 博文数量: 32
  • 博客积分: 306
  • 博客等级: 二等列兵
  • 技术积分: 337
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-15 10:02
文章分类
文章存档

2013年(21)

2011年(11)

我的朋友

分类: LINUX

2011-11-19 15:20:27

uboot的移植:
上节中得 解压后 修改环境变量之后
解压过程中要注意: 解压编译器时候:
[root@localhost wjm]#tar xjvf arm-linux-gcc-3.3.2.tar.bz2 -C/
直接解压到 /usr/local 目录下  注意 -C/
之后修改环境变量:[root@localhost wjm]#vi /etc/profile  文件里的 export 后面改为3.3.2
当编译器版本更改为3.3.2后 还要修改下面:
[root@localhost wjm]# vi cpu/arm920t/config.mk 
修改其中的  -msoft -float 把其注释掉 保存退出  (意思是不使用软浮点编译,应用硬浮点编译 )
 
在 uboot里没有想 vivi2440 那样的图形配置界面
 
所以 要先查看 uboot 中的makefile文件
然后查找相应的开发板配置选项,在查找中 搜索 smdk2410 就可以找到
当找到 smdk2410_config:......
 
然后 在 smdk2410_config:   unconfig
               @$(MKCONFIG)  $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
后面加上
 
TX2440_config:   unconfig
               @$(MKCONFIG)  $(@:_config=) arm arm920t TX2440 NULL s3c24x0
 
各项的意思如下:
arm :CPU的架构 (ARCH)
arm920t:CPU类型(CPU),其对应于 cpu/arm920t  子目录
TX2440: 开发板的型号(BOARD),对应于 board/TX2440的目录。
NULL:开发者/或经销商(vender)
s3c24x0:片上系统(SOC)
 
执行配置选项后,系统会到 其各自的文件夹下寻找 其配置文件。如 arm , board , 等
 
之后还要指定下交叉编译器
在第128行
ifeq ($(ARCH),arm)
CROSS_COMPILE = arm-linux-
指定交叉编译器,使用3.3.2,这里也可以写绝对路径
 
修改完Makefile后,在board目录下,新建自己的开发板目录TX2440,把smdk2410目录下的所有文件拷贝到
TX2440,把smdk2410.c改为TX2440.c 。
可以直接把smdk2410文件夹直接改名为TX2440
[root@localhost board]#mv smdk2410 TX2440
 
然后我们只需要保留board文件夹下的TX2440文件夹 其他的都可以删掉,如下删除
先把TX2440文件夹移动到上一层目录:
[root@localhost board]#mv TX2440 ../
然后删除board 里的其他开发板配置文件夹
[root@localhost board]#rm -rf *  (删除board下的所有目录)
然后再把TX2440  回复回board 文件夹下
[root@localhost board]#mv ../TX2440 ./   (考回文件夹)
 
 
修改TX2440目录下的Makefile,把smdk2410.o改为TX2410.o 。
COBJS := smdk2410.o flash.o
改为
COBJS := TX2440.o flash.o
 
如果没有修改权限 则更改下权限
[root@localhost TX2440]#ll Makefile (查看文件的权限)修改其权限
[root@localhost TX2440]#chmod 666 Makefile
 
在include/configs目录下创建板子的配置头文件,把smdk2410.h 改名位 TX2440.h ,再把所有的文件删除 ,只留TX2440.h
 
root@localhost configs]#mv TX2440.h  ../
然后删除board 里的其他开发板配置文件夹
[root@localhost configs]#rm -rf *  (删除configs下的所有头文件)
然后再把TX2440  回复回board 文件夹下
[root@localhost configs]#mv ../TX2440.h  ./   (考回文件夹)
 
 
测试能否编译成功
执行make TX2440_config
出现make:execvp:................/mkconfig:权限不够
查看mkconfig的权限,发现没有可执行权限,用 chmod 764 mkconfig 加上权限
然后 make ,成功后可以出现 Configuring for TX2440 board ............
 
修改SDRAM配置, 在 board/TX2440/lowlevel_init.S中,检查
#define B6_BWSCON     (DW32)  位宽32位
把B1_BWSCON  改为    (DW16)   B5_BWSCON     (DW8)
 
在linux当中,cd../..表示返回上一级的 上一级
直接输入cd或者cd ~ 则是跳转到登陆用户的主目录
 
 
 
 
阅读(1098) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~