linux2.6.30.4コアマイグレーション(2)-Nand Flashドライブマイグレーション
8531 ワード
カーネルソース:linux 2.6.30.4
クロスコンパイルツール:3.4.5
linuxカーネルをTQ 2404に移植
作業基盤:http://www.cnblogs.com/nufangrensheng/p/3669623.html
LinuxカーネルにはNand Flashの駆動がしっかりされており、適切な修正を行うだけで使用できます.
一、カーネルソースarch/arm/plat-s 3 c 24 xx/common-smdkを修正する.cファイル:
1、その中のsmdk_を修正するdefault_nand_part[]構造体(109行程度)は、以下のように変更されます.
2、その中のsmdk_を修正するnand_info構造体(約140行)は、以下のように変更されます.
二、カーネルソースdrivers/mtd/nand/s 3 c 2410を修正する.cファイルの752行目は、元の内容を以下のように変更します.
三、Nand Flash駆動構成
make menuconfigを実行し、デバイスドライバ構成オプションに入ります.
四、コンパイル、焼き書き、起動、起動情報の中で以下のような情報を見ることができ、Nand Flash移植が成功したことを説明する.
クロスコンパイルツール:3.4.5
linuxカーネルをTQ 2404に移植
作業基盤:http://www.cnblogs.com/nufangrensheng/p/3669623.html
LinuxカーネルにはNand Flashの駆動がしっかりされており、適切な修正を行うだけで使用できます.
一、カーネルソースarch/arm/plat-s 3 c 24 xx/common-smdkを修正する.cファイル:
1、その中のsmdk_を修正するdefault_nand_part[]構造体(109行程度)は、以下のように変更されます.
/* arch/arm/plat-s3c24xx/common-smdk.c */
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "EmbedSky_board_uboot",
.offset = 0x00000000,
.size = 0x00040000,
},
[1] = {
.name = "EmbedSky_board_kernel",
.offset = 0x00200000,
.size = 0x00300000,
},
[2] = {
.name = "EmbedSky_board_yaffs2",
.offset = 0x00500000,
.size = MTDPART_SIZ_FULL,
}
};
2、その中のsmdk_を修正するnand_info構造体(約140行)は、以下のように変更されます.
/* arch/arm/plat-s3c24xx/common-smdk.c */
static struct s3c2410_platform_nand smdk_nand_info = {
141 .tacls = 10,
142 .twrph0 = 25,
143 .twrph1 = 10,
144 .nr_sets = ARRAY_SIZE(smdk_nand_sets),
145 .sets = smdk_nand_sets,
146 };
二、カーネルソースdrivers/mtd/nand/s 3 c 2410を修正する.cファイルの752行目は、元の内容を以下のように変更します.
/* drivers/mtd/nand/s3c2410.c */
chip->ecc.mode = NAND_ECC_NONE; //NAND_ECC_SOFT;
三、Nand Flash駆動構成
make menuconfigを実行し、デバイスドライバ構成オプションに入ります.
四、コンパイル、焼き書き、起動、起動情報の中で以下のような情報を見ることができ、Nand Flash移植が成功したことを説明する.