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 ~ 则是跳转到登陆用户的主目录
阅读(1128) | 评论(0) | 转发(0) |