linux 2.6.36.1 TE2410的移植


一、先修改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"这一项

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值