QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4525|回复: 10

help--s3c44b0+uboot (total)

[复制链接]
发表于 2004-8-15 15:17:25 | 显示全部楼层 |阅读模式
希望能获得有关for 44b0的skyeye操作(以及skyeye.conf)
(1) 目的:将编译好的u-boot (for 44b0)在上面跑一下;
(2) 另外:skyeye 0.1 for cygwin能否仿真44B0?
发表于 2004-8-16 21:23:24 | 显示全部楼层
可直接给王利明 发信  [email protected] 问问。
回复

使用道具 举报

 楼主| 发表于 2004-8-17 15:00:23 | 显示全部楼层

还是,有错误----!

非常感谢斑竹Williams的回复,我顺便把相关回复贴出来,大家共享。
============================================
你好:
        我测试了一下,u-boot可以跑在skyeye for 44b0,
1.安装arm-linux-gcc交叉编译工具。
2.解压u-boot最新的源代码,在u-boot目录下:
make B2_config
make
3.编译skyeye,配置文件skyeye.conf为:
cpu: arm7tdmi
mach: s3c44b0
mem_bank: map=M, type=R,  addr=0x00000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0x0C000000, size=0x00800000
mem_bank: map=I, type=RW, addr=0x01c00000, size=0x00400000
4.运行
skyeye u-boot
5.运行的时候,敲击键盘,使之能进入命令行。

=========================================

我按照上面的步骤去做,遇到两个错误:
(1)编译u-boot-1.1.1不通过!
(2)运行u-boot的时候

第一个错误:
--------------------------------
我在cygwin下用gcc 2.95.1编译没问题(装载给skyeye的就是这个);但在Linux下用gcc 3.2.1编译examples/helloworlds.c之时却报“ld:Cannot find -lfloat”错误。(根据google的搜索,感觉是个有关gcc版本的常见问题,准确解决方法还没找到)----- (另外,Linux下的gcc-3.2.1是打过pxa2补丁的,是否有影响?)
[root@localhost u-boot]# cd u-boot-1.1.1
[root@localhost u-boot-1.1.1]# make
..............
make[1]: Entering directory `/home/lal/u-boot/u-boot-1.1.1/examples'
arm-linux-gcc -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -mshort-load-bytes -msoft-float -D__KERNEL__ -DTEXT_BASE=0x0C100000 -I/home/lal/u-boot/u-boot-1.1.1/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/develop-tools-dist/bin/../lib/gcc-lib/arm-linux/3.2.1/include -pipe  -DCONFIG_ARM -D__ARM__ -mapcs-32 -march=armv4 -mtune=arm7tdmi -msoft-float -Uarm -Wall -Wstrict-prototypes -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -mshort-load-bytes -msoft-float -D__KERNEL__ -DTEXT_BASE=0x0C100000 -I/home/lal/u-boot/u-boot-1.1.1/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/develop-tools-dist/bin/../lib/gcc-lib/arm-linux/3.2.1/include -pipe  -DCONFIG_ARM -D__ARM__ -mapcs-32 -march=armv4 -mtune=arm7tdmi -msoft-float -Uarm -I.. -Bstatic -T /home/lal/u-boot/u-boot-1.1.1/board/dave/B2/u-boot.lds -Ttext 0x0C100000   hello_world.c   -o hello_world
/opt/develop-tools-dist/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: cannot find -lfloat
collect2: ld returned 1 exit status
make[1]: *** [hello_world] Error 1
make[1]: Leaving directory `/home/lal/u-boot/u-boot-1.1.1/examples'
make: *** [examples] Error 2
[root@localhost u-boot-1.1.1]#

(结论:编译器的问题,使用gcc-2.95.3和gcc-3.3.2没有问题)

第二个错误:(如下显示,这里用的u-boot映象是在Cygwin下做出来的)
---------------------------------
[root@localhost u-boot]# cp skyeye.conf.44b0 skyeye.conf
[root@localhost u-boot]# skyeye u-boot

(SkyEye) target sim
(SkyEye) load
(SkyEye) run
Starting program: /home/lal/u-boot/u-boot


U-Boot 1.1.1 (Aug 17 2004 - 14:04:35)

U-Boot code: 0C100000 -> 0C11A7F8  BSS: -> 0C11EDB0
RAM Configuration:
Bank #0: c0000000 16 MB
SKYEYE: WARNING: illegal write halfword to 0xaaaa of 0xaa @ 0xce15e50
SKYEYE: WARNING: illegal write halfword to 0x5554 of 0x55 @ 0xce15e50
SKYEYE: WARNING: illegal write halfword to 0xaaaa of 0x90 @ 0xce15e50
## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0 MB
Flash:  0 kB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  5
(死机!!!!)

(结论:按键还是不足够地“快”,于是进入网络下载---网络不通----所谓的“死机”)
回复

使用道具 举报

发表于 2004-8-18 11:10:57 | 显示全部楼层
最后不是死机,你应该在run之后,迅速随便敲击键盘,才能进入u-boot的命令行,否则,就进入自动启动了。
回复

使用道具 举报

 楼主| 发表于 2004-8-22 11:59:00 | 显示全部楼层

(全过程总结)

终于,看到u-boot-1.1.1+44b0+skyeye的运行出现“提示符”了。

之前报了很多错误,这里总结一下我的理解(同时感谢斑竹Wiliams和chyyuu给予的指导):
(1)死机问题:按键要足够快;如果不够快,则进入“网络访问”----于是“死机”了;
(2)SKYEYE: WARNING: illegal write byte to 0xf8 of 0x0 @ 0xc70dce0
SKYEYE: WARNING: illegal write word to 0x0 of 0x510b66bf @ 0xc70dce0
错误提示:该错误不足以造成运行死机,如果将skyeye.conf中的mem-bank的“type=R”改成“type=RW”就不会出现这个问题了;
(3)编译问题:u-boot-1.1.1在gcc-2.95.3, gcc-3.3.2下是可以编译通过的,但我的实验在gcc-3.2.1下是失败的。

编译u-boot-1.1.1 for 44b0的方法:
$ 下载u-boot-1.1.1: http://sourceforge.net/projects/u-boot
$ tar jxvf u-boot-1.1.1.tar.bz2
$ cd u-boot-1.1.1
$ make distclean
$ make B2_config (参考:board/dave/B2---这是一个基于S3C44B0的板子)
$ cp u-boot <your dir> (<your dir> is any location where with skyeye.conf)
$ cd <your dir>
$ vi skyeye.conf
cpu: arm7tdmi
mach: s3c44b0
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0x0C000000, size=0x00800000
mem_bank: map=I, type=RW, addr=0x01c00000, size=0x00400000

$ skyeye u-boot (我用的是skyeye-0.7.7,这个版本肯定是支持s3c44b0的,之前的版本我不太确认)
> target sim(让GDB与44b0连接-----skyeye.conf定义的)
> load (将u-boot装入虚拟机44b0的内存中---放在哪?u-boot是ELF格式的)
> run  


U-Boot 1.1.1 (Aug 20 2004 - 13:05:19)

U-Boot code: 0C100000 -> 0C118954  BSS: -> 0C11D120
RAM Configuration:
Bank #0: c0000000 16 MB
## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0 MB
Flash:  0 kB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=>
回复

使用道具 举报

发表于 2004-8-25 23:14:14 | 显示全部楼层
进展如何?
回复

使用道具 举报

 楼主| 发表于 2004-8-26 09:42:13 | 显示全部楼层
skyeye运行44b0+uclinux是OK的。先前的问题是“我按键不足够的快”,以至进入访问网卡的阶段造成死机。前面的帖子还报告了u-boot编译的情况:gcc-3.2.1无法编译u-boot-1.1.1,gcc-2.95.1和gcc-3.3.2可以顺利编译u-boot。
谢谢斑竹。
回复

使用道具 举报

发表于 2005-5-19 22:25:25 | 显示全部楼层
我用gcc-3.3.2编译u-boot-1.1.2也出现错误,是不是还有其他的东西要设置
回复

使用道具 举报

发表于 2005-12-6 10:01:25 | 显示全部楼层
请问上面的这个还有哪位成功过???
回复

使用道具 举报

发表于 2005-12-9 16:44:50 | 显示全部楼层
编译成功后,SKYEYE如何运行UCLINUX呢?
回复

使用道具 举报

发表于 2008-12-5 16:00:07 | 显示全部楼层
编译时修改example文件夹下的makefile:
原:
SREC        = hello_world.srec
BIN                = hello_world.bin hello_world
后来:
SREC        .o= hello_world.srec
BIN        .o= hello_world.bin hello_world
就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-6 11:09 , Processed in 0.087044 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表