QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3847|回复: 7

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

[复制链接]
发表于 2007-3-10 06:58:54 | 显示全部楼层 |阅读模式
在附件中,附简单的 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 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那个版本的。请问如何获得高版本的交叉编译器?
回复

使用道具 举报

发表于 2007-11-25 21:18:51 | 显示全部楼层
Compiler for linux-2.6.x should be available at http://ftp.snapgear.org/pub/snap ... ols-20061213.tar.gz
回复

使用道具 举报

发表于 2007-11-25 22:30:38 | 显示全部楼层
arm-linux-tools是支持带mmu的ARM芯片的,而S3C44B0X是不带MMU的,需要使用arm-elf-tools交叉编译器吧?
回复

使用道具 举报

发表于 2007-11-26 10:39:14 | 显示全部楼层
Try it firstly. I can use it to build at91 successfully.
回复

使用道具 举报

发表于 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 addr  is 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.
回复

使用道具 举报

发表于 2007-11-28 20:14:00 | 显示全部楼层
Make sure if s3c44b0x in uClinux is corrent or s3c44b0x is supported by uClinux
回复

使用道具 举报

发表于 2007-12-20 13:57:01 | 显示全部楼层
s3c44b0x 应该是uclinux支持的
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-23 02:06 , Processed in 0.039505 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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