AnthonyLee 发表于 2007-3-10 06:58:54

SkyEye 模拟 S3C44B0X 的设置及启动代码

在附件中,附简单的 bootloader 源码。

boot_code.bin 为其 bootloader,其源码在 bootloader 目录下;

image.rom 需要你编译 uClinux 以 bzImage 方式形成,
CONFIG_ZBOOT_ROM_TEXT=0x00001000
CONFIG_ZBOOT_ROM_BSS=0x0C400000
CONFIG_ZBOOT_ROM=y

你需要 SVN head 中的 skyeye 来运行 uClinux on S3C44B0X。

####### skyeye.conf 内容 #############

cpu: arm7tdmi

# s3c44b0x 为最新的实现,旧的实现为 s3c44b0
mach: s3c44b0x

# 物理内存

# bootloader 写到 0x00000000
mem_bank: map=M, type=R,addr=0x00000000, size=0x00001000, file=./boot_code.bin

# image.rom 写到 0x00001000
mem_bank: map=M, type=R,addr=0x00001000, size=0x001ff000, file=./image.rom

# RAM Bank 0
mem_bank: map=M, type=RW, addr=0x0c000000, size=0x00800000

# 外设 IO 映射
mem_bank: map=I, type=RW, addr=0x01c00000, size=0x00400000

# uart 0
uart: mod=stdio

# uart 1
uart: mod=pipe, desc=/dev/ttyS1

# LCD
lcd: type=s3c44b0x, mod=gtk

#net: ethmod=tuntap, hostip=10.0.0.1
#dbct: state=on

funeryoung 发表于 2007-11-24 21:42:14

两个细节问题

1.如何才能把uClinux内核编译为bzImage格式呢?我使用make bzImage进行编译报错。查了一下Makefile,里面的确没有bzImage的选项。
2.您提供的drivers是for Linux-2.6.x的,但是我没有在网上找到版本号大于2.95.3的arm-elf-gcc的交叉编译器,大多都是20030314那个版本的。请问如何获得高版本的交叉编译器?

ksh 发表于 2007-11-25 21:18:51

Compiler for linux-2.6.x should be available at http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/arm-linux-tools-20061213.tar.gz

funeryoung 发表于 2007-11-25 22:30:38

arm-linux-tools是支持带mmu的ARM芯片的,而S3C44B0X是不带MMU的,需要使用arm-elf-tools交叉编译器吧?

ksh 发表于 2007-11-26 10:39:14

Try it firstly. I can use it to build at91 successfully.

funeryoung 发表于 2007-11-26 20:16:07

I build at91 successfully, either. you can have a look at the procedure of what I did with the following URL:
http://blog.csdn.net/funeryoung/archive/2007/11/15/1887595.aspx

but when I changed the configuration file to S3C44B0X, and still used the old uclinux kernel file located in linux-2.4.x/linux, the uclinux boot failed, and the system display stopped at "start addris set to 0x01000000 by exec file".

when I build the uclinux kernel, I choosed the options of GDB/SkyEye, Linux-2.4.x, and uClib.
the at91 configuration file is:
cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images_at91/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
#lcd: state=on
lcd: type=ep7312, mod=gtk

if i just change mach and lcd to "s3c44b0x", it didn't work, and stopped at the prompt of "start addr ...". I tried the method descripted in this article, but it did the same thing. :(
maybe I have to compile the uClinux kernel again with the option of Samsung/S3C44B0X.

ksh 发表于 2007-11-28 20:14:00

Make sure if s3c44b0x in uClinux is corrent or s3c44b0x is supported by uClinux

pascal4123 发表于 2007-12-20 13:57:01

s3c44b0x 应该是uclinux支持的
页: [1]
查看完整版本: SkyEye 模拟 S3C44B0X 的设置及启动代码