一、先修改Makefile
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
改为:
ARCH ?= arm
CROSS_COMPILE ?=/usr/local/arm/4.3.2/bin/arm-linux-
#make s3c2410_defconfig
make menuconfig
/
PPS
三、修改时钟频率
修改文件
~/arch/arm/mach-s3c2410/mach-smdk2410.c
static void __init smdk2410_map_io(void)
{
s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));
s3c24xx_init_clocks(12000000);
s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));
}
二、修改分区
根据vivi里的分区信息修改文件:
~/arch/arm/plat-s3c24xx/common-smdk.c
修改1
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "vivi",
.size = 0x00020000,
.offset = 0,
},
[1] = {
.name = "param",
.offset = 0x00020000,
.size = 0x00010000,
},
[2] = {
.name = "kernel",
.offset = 0x00030000,
.size = 0x001c0000,
},
[3] = {
.name = "root",
.offset = 0x00200000,
.size = 0x03e00000,
}
}
};
修改2
static struct s3c2410_platform_nand smdk_nand_info = {
.tacls = 0, //default is 20
.twrph0 = 30, //default is 60
.twrph1 = 0, //default is 20
.nr_sets = ARRAY_SIZE(smdk_nand_sets),
.sets = smdk_nand_sets,
};
CS8900A
1.cs8900.c和cs8900.h
drivers/net/arm/ 目录下添加cs8900.c include/asm-arm/ 下添加cs8900.h
2.修改drivers/net/arm/目录下的Kconfig文件,
在最后添加如下内容:
config ARM_CS8900
tristate "CS8900 support"
depends on NET_ETHERNET && ARM && ARCH_SMDK2410
select CRC32
select MII
---help---
3.修改drivers/net/arm/目录下的Makefile文件,在最后添加如下内容:
obj-$(CONFIG_ARM_CS8900) += cs8900.o
4.在/arch/arm/mach-s3c2410/mach-smdk2410.c文件中,
找到smdk2410_iodesc[] 结构数组,添加如下如下内容:
static struct map_desc smdk2410_iodesc[] __initdata = {
/* nothing here yet */
/* Map the ethernet controller CS8900A */
vSMDK2410_ETH_IO, pSMDK2410_ETH_IO, SZ_1M, MT_DEVICE};
5.在include/config/arch/smdk2410.h文件中添加内容为:
#ifndef _INCLUDE_SMDK2410_H_
#define _INCLUDE_SMDK2410_H_
#define pSMDK2410_ETH_IO (__phys_to_pfn(0x19000000))
#define vSMDK2410_ETH_IO 0xE0000000
#define SMDK2410_ETH_IRQ IRQ_EINT9
#endif
// _INCLUDE_SMDK2410_H_
Device Drivers ---> [*] Network device support ---> [*] Ethernet (10 or 100Mbit) ---> <*> CS8900 support
menu config中Real Time Clock部分使用默认设置,并加入【*】S3C2410 SOC RTC。
修改文件 mach-smdk2410.c ( /linux2.6.24.4/arch/arm/mach-s3c2410/mach-smdk2410.c ),在数组 smdk2410_devices[] 中添加 &s3c_device_rtc.
. boot Options
│ │noinitrd init=/linuxrc root=/dev/mtdblock3 console=ttySAC0,115200
从下面这个地址可以获取yaffs2文件系统源码
http://www.aleph1.co.uk/gitweb?p=yaffs2/.git;a=shortlog;h=6bda2f29acdf2cf0bd53dba5cac64a95c6b9a8d3
在/opt/embed下解压进入其根目录并给内核打上补丁
#./patch-ker.sh c ../linux-2.6.36-rc4
#./mkm 用上面建立的脚本进入配置菜单添加对yaffs2文件系统的支持,要选上
"Lets Yaffs do its own ECC"这一项