博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

Tekkaman Ninja

Linux我的梦想,我的未来! 专注linux内核和驱动!本博客的原创文章的内容会不定期更新或修正错误! 转载文章都会注明出处,若有侵权,请即时同我联系,我一定马上删除!! 原创文章版权所有!如需转载,请注明出处: tekkman.cublog.cn ,谢谢合作!!!!!
  tekkman.cublog.cn

关于作者
姓名:Tekkaman  Ninja
职业:Linux
年龄:25
位置:广东广州
个性介绍:钻研嵌入式Linux技术
E-Mail:tekkamanninja@163.com
|| << >> ||
我的分类


移植U-Boot.1.2.0到博创2410-S(S3C2410A)
移植U-Boot.1.2.0
到博创2410-S(S3C2410A)
 
大四我为了学习ARM-Linux,购买了北京博创的UP-NETARM2410-S,由于毕业设计没有时间,我一直使用原配的vivi和Linux2.4.18内核。现在终于利用做项目的机会好好从头开始研究ARM-Linux构架。第一步就是移植Bootloader,我选择了U-Boot,因为它通用性好,而且支持tftp和nfs。

·移植U-Boot.1.2.0到博创2410-S(S3C2410A)
·移植U-Boot.1.2.0到博创2410-S(S3C2410A)补:AX88796驱动移植

发表于: 2007-10-29,修改于: 2007-10-29 22:53,已浏览2001次,有评论13条 推荐 投诉


网友评论
网友: flylonglong 时间:2007-11-24 17:12:01 IP地址:202.115.65.★
为什么完全照着你的做的

一、在U-Boot中建立自己的开发板类型,并测试编译。
中的第四小步
4 测试编译能否成功
$make tekkaman2410_config
执行以上命令之后 出现以下提示:

Configuring for tekkaman2410 board...
ln:正在创建连至'asm-arm'的符号连接'asm':不允许的操作
make:***[ebest2410-config] Error 1

我昨天在编译内核的时候也出现了
ln:正在创建连至'asm-arm'的符号连接'asm':不允许的操作
这条错误
不知道怎么回事情
使用chmod命令也修改不了'asm-arm'文件的属性(它的属性是不可读写的)
不知道该怎么办了 不知道楼主知道否?????

PS:我开发环境是 vmware+redhat9.0

Blog作者的回复:
不知是不是权限问题,你试试用root配置一下


网友: flylonglong 时间:2007-11-24 18:04:06 IP地址:202.115.65.★
上面问题好象是解决了
不过还是在$make tekkaman2410_config 通过之后
在执行 $make 的时候
一堆英文过后
最后一行提示 make:*** [uboot] Error 1
诶 可能是我的开发环境和博主的不同吧
但是又实在找不出错在哪
真苦闷啊

Blog作者的回复:
flylonglong 您好!上面的问题我还从来没碰过。我猜想可能的原因有两个:1、你的编译器没有制作好。2、你的开发系可能老了点。我建议你自己制作一个编译器看看 ,第一个问题的可能性比较大。


网友: jscorps 时间:2007-12-28 18:14:38 IP地址:211.23.177.★
很冒昧的請問一下 , 在u-boot 1.2.0中, 原本就有sbc2410x的board 設定. 它如果用在friendly -arm上的sbc2410x , 是不是就可以從NAND FLASH上面啟動呢? 還是u-boot 1.2.0 中的sbc2410x 本來就沒有支援NAND flash boot up.

Thanks

Blog作者的回复:
sbc2410x源码不支持NAND启动,也要通过类似2410-S的一些修改来实现。


网友: jscorps 时间:2007-12-31 16:16:13 IP地址:210.202.45.★
我了解了 , 謝謝您的回覆.....
有問題 , 再跟您請教...^_^

网友: heufkk 时间:2007-12-31 16:18:08 IP地址:218.7.43.★
你好,参照你的文章我移植1.1.5,遇到如下问题
/root/u-boot-1.1.5/include/configs/fk2410.h:220:1: warning: this is the location of the previous definition
/root/bin/arm-uclinux-tool/bin/arm-uclinux-gcc -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0x33F80000  -I/root/u-boot-1.1.5/include -fno-builtin -ffreestanding -nostdinc -isystem /root/bin/arm-uclinux-tool/lib/gcc/arm-uclinux/3.4.0/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv4 -mapcs-32 -Wall -Wstrict-prototypes -c -o env_dataflash.o env_dataflash.c
/root/bin/arm-uclinux-tool/bin/arm-uclinux-gcc -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0x33F80000  -I/root/u-boot-1.1.5/include -fno-builtin -ffreestanding -nostdinc -isystem /root/bin/arm-uclinux-tool/lib/gcc/arm-uclinux/3.4.0/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv4 -mapcs-32 -Wall -Wstrict-prototypes -c -o env_flash.o env_flash.c
env_flash.c:70: error: `CFG_FLASH_BASE' undeclared here (not in a function)
env_flash.c: In function `saveenv':
env_flash.c:330: warning: implicit declaration of function `flash_sect_protect'
env_flash.c:334: warning: implicit declaration of function `flash_sect_erase'
env_flash.c:338: warning: implicit declaration of function `flash_write'
make[1]: *** [env_flash.o] 错误 1
make[1]: Leaving directory `/root/u-boot-1.1.5/common'
make: *** [common/libcommon.a] 错误 2
你前面把CFG_FLASH_BASE'注释掉了,那么我遇见这样的问题是怎么回事?
感谢你的回答

Blog作者的回复:
env_flash 是使用nor flash。2410-S没有nor flash ,所以我移植时,将一些关于nor flash 的源码删除或是不去理会。可能是这里出了问题,你要参考一下有关nor flash 移植的资料。


网友: freeubuntu 时间:2008-01-08 12:04:50 IP地址:58.60.126.★
我完全按照你的方法修改uboot1.2.0,gpio和内存地址分配参考开发商提供的bootloader
编译时保错,主要原因是在修改中删除了很多define,很多东西都没有定义了
flash.c: In function 'flash_init':
flash.c:64: error: 'CFG_MAX_FLASH_BANKS' undeclared (first use in this function)
flash.c:64: error: (Each undeclared identifier is reported only once
flash.c:64: error: for each function it appears in.)
flash.c:67: error: 'flash_info' undeclared (first use in this function)
flash.c:75:2: error: #error "Unknown flash configured"
flash.c:77: error: 'PHYS_FLASH_SIZE' undeclared (first use in this function)
flash.c:78: error: 'CFG_MAX_FLASH_SECT' undeclared (first use in this function)
flash.c:81: error: 'PHYS_FLASH_1' undeclared (first use in this function)
flash.c:113: warning: implicit declaration of function 'flash_protect'
flash.c:113: error: 'FLAG_PROTECT_SET' undeclared (first use in this function)
flash.c:114: error: 'CFG_FLASH_BASE' undeclared (first use in this function)
flash.c:119: error: 'CFG_ENV_ADDR' undeclared (first use in this function)
flash.c: At top level:
flash.c:127: error: expected ')' before '*' token
flash.c:172: error: expected ')' before '*' token
flash.c:293: error: expected ')' before '*' token
flash.c:371: error: expected ')' before '*' token
你有碰到过这些问题吗?

Blog作者的回复:
出现这种情况的原因很可能是nor flash 的驱动造成的。如果你的板上有nor flash ,请参考我移植SBC2440V4的文章,那个板子有nor flash ,而且在nor flash方面两个芯片的基本代码一样。
如果你不使用nor flash ,那就是你没有将nor flash的驱动清干净,比如:修改/include/configs/tekkaman2410.h时漏了什么。

最后出现
flash.c:127: error: expected ')' before '*' token
flash.c:172: error: expected ')' before '*' token
flash.c:293: error: expected ')' before '*' token
flash.c:371: error: expected ')' before '*' token
有可能是语法错误,可能是你手误,多删或少删了什么,比如“;”或“)”等等。
移植到2410的那篇文章我复查过应该不会有问题。


网友: freeubuntu 时间:2008-01-09 16:37:35 IP地址:58.60.126.★
上个问题解决了,可还是有错误,报错如下:
common/libcommon.a(env_nand.o): In function `saveenv':
/home/freedom/Desktop/uboot/u-boot-1.2.0/common/env_nand.c:212: undefined reference to `nand_info'
make: *** [u-boot] Error 1
看了上面的解答,知道应该是nor flash的问题,nor flash删除了一些什么内容呢?我再看一下

Blog作者的回复:
可能是你在:
10 修改common/env_nand.c时,漏了extern nand_info_t nand_info[CFG_MAX_NAND_DEVICE];

你仔细看看10 修改common/env_nand.c这部分,看看有没有漏改了什么。


网友: kamiuouc 时间:2008-03-24 21:15:34 IP地址:60.209.103.★
我用的是uboot1.1.4的版本,s3c2410 dm9000编译提示错误:
flash.c:113: undefined reference to `flash_protect'
flash.c:118: undefined reference to `flash_protect'
make: *** [u-boot] 错误 1
请你帮忙啊,谢谢!

Blog作者的回复:
我对以前的版本不太熟,你可以把完整的出错信息和/cpu/arm920T中的文件发邮件给我看看 


网友: milkmilk 时间:2008-04-15 11:13:50 IP地址:58.48.110.★
[hek@localhost u-boot-1.2.0]$ make hhek2410_config
make: arm-linux-gcc:命令未找到
Configuring for hhek2410 board...
[hek@localhost u-boot-1.2.0]$ make CROSS_COMPILE=arm-9tdmi-linux-gnu-
for dir in tools examples post post/cpu ; do make -C $dir _depend ; done
make[1]: Entering directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/tools'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/tools'
make[1]: Entering directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/examples'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/examples'
make[1]: Entering directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/post'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/post'
make[1]: Entering directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/post/cpu'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/post/cpu'
make -C tools all
make[1]: Entering directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/tools'
gcc -g -Wall -pedantic -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include2 -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include -DTEXT_BASE=0x33F80000 -DUSE_HOSTCC -O -c -o envcrc.o envcrc.c
gcc -g  -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include2 -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include -DTEXT_BASE=0x33F80000 -DUSE_HOSTCC -c -o environment.o environment.c
gcc -Wall -pedantic -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include2 -idirafter /home/hek/haha/yizhiuboot/u-boot-1.2.0/include -DTEXT_BASE=0x33F80000 -DUSE_HOSTCC -O -o envcrc envcrc.o crc32.o environment.o
make[1]: Leaving directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/tools'
make -C examples all
make[1]: Entering directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/examples'
arm-9tdmi-linux-gnu-gcc -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ -DTEXT_BASE=0x33F80000  -I/home/hek/haha/yizhiuboot/u-boot-1.2.0/include -fno-builtin -ffreestanding -nostdinc -isystem /home/hek/haha/toolchains/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/lib/gcc/arm-9tdmi-linux-gnu/4.1.1/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv4 -mabi=apcs-gnu -Wall -Wstrict-prototypes -c -o hello_world.o hello_world.c
In file included from /home/hek/haha/yizhiuboot/u-boot-1.2.0/include/common.h:105,
                 from hello_world.c:24:
/home/hek/haha/yizhiuboot/u-boot-1.2.0/include/flash.h:36: error: 'CFG_MAX_FLASH_SECT' undeclared here (not in a function)
make[1]: *** [hello_world.o] 错误 1
make[1]: Leaving directory `/home/hek/haha/yizhiuboot/u-boot-1.2.0/examples'
make: *** [examples] 错误 2

高手帮忙啊.我是按照你的方法做的,但出现了'CFG_MAX_FLASH_SECT'未声明的情况不知道是怎么回事啊?
我用的是gcc-4.1.1-glibc-2.3.2的交叉编译工具,但前几行[hek@localhost u-boot-1.2.0]$ make hhek2410_config
make: arm-linux-gcc:命令未找到
Configuring for hhek2410 board...
这是怎么回事啊?

Blog作者的回复:
你的Makefile中的编译器路径不正确。你核对一下。


网友: 本站网友 时间:2008-05-21 21:36:06 IP地址:222.79.245.★
完全按你的步骤做完,make后:
for dir in tools examples post post/cpu ; do make -C $dir _depend ; done
make[1]: Entering directory `/biyesheji/u-boot-1.2.0/tools'
ln -s ../common/environment.c environment.c
ln -s ../lib_generic/crc32.c crc32.c
make[1]: Leaving directory `/biyesheji/u-boot-1.2.0/tools'
make[1]: Entering directory `/biyesheji/u-boot-1.2.0/tools'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/biyesheji/u-boot-1.2.0/tools'
make[1]: Entering directory `/biyesheji/u-boot-1.2.0/examples'
armv4l-unknown-linux-gcc: hello_world.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: stubs.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
make[1]: *** [.depend] Error 1
make[1]: Leaving directory `/biyesheji/u-boot-1.2.0/examples'
make[1]: Entering directory `/biyesheji/u-boot-1.2.0/post'
armv4l-unknown-linux-gcc: cache_8xx.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: cache.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: codec.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: cpu.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: dsp.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: ether.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: i2c.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: memory.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: post.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: rtc.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: spr.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: sysmon.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: tests.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: uart.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: usb.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: watchdog.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
make[1]: *** [.depend] Error 1
make[1]: Leaving directory `/biyesheji/u-boot-1.2.0/post'
make[1]: Entering directory `/biyesheji/u-boot-1.2.0/post/cpu'
armv4l-unknown-linux-gcc: asm.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: cmp.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: cmpi.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: two.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: twox.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: three.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: threex.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: threei.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: andi.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: srawi.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: rlwnm.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: rlwinm.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: rlwimi.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: store.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: load.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: cr.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: b.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: multi.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: string.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
armv4l-unknown-linux-gcc: complex.o: ?????????
armv4l-unknown-linux-gcc: unrecognized option `-MQ'
make[1]: *** [.depend] Error 1
make[1]: Leaving directory `/biyesheji/u-boot-1.2.0/post/cpu'
make: *** [depend] Error 2

请问会是什么原因。

网友: tcsswlw 时间:2008-06-03 17:09:13 IP地址:218.58.71.★
出现了好多nand_legacy.c中的错误是怎么回事啊??

网友: tcsswlw 时间:2008-06-03 19:29:09 IP地址:218.58.71.★
博主在不在啊??
按照你的方法移植,出现了好多nand_legacy.c中的错误呢,而且这些错误好象是不应该存在的啊,这个文件又没有改动!!

网友: zhangxin9168 时间:2008-09-05 14:53:23 IP地址:59.174.45.★
在不在博主?
  按你的方法编译的时候(make tekkaman2410_config)时,出现了***No rule to make target 'tekkaman2410_config'问题,不知道怎样解决? 急用,忘博主帮帮看下,谢谢~!

Blog作者的回复:
是你的Makefile修改有问题,那个伪目标的名字可能没有输正确,可能只是手误,应该是小问题!


 发表评论