當前位置:編程學習大全網 - 源碼下載 - 基於ARM的LINUX移植於分析

基於ARM的LINUX移植於分析

妳只是想移植吧,具體的操作如下,可能不是壹壹壹致,但是大概個流程都是這樣,建議妳去下載比較高版本的代碼進行移植,因為越高版本我們要下的功夫可能會更少。

1。修改內核源碼根目錄下的Makefile文件

#ARCH ?= arm

#CROSS_COMPILE ?=arm-linux-

2。修改arch/arm/plat-s3c24xx/common-smdk.c文件,修改Nand Flash的分區信息和Nand Flash的硬件信息。這裏的分區壹定要和妳的bootloader的壹致,妳可以參考smdk_default_nand_part[]這個數據結構的做法。

3。還是2中用到的文件,修改static struct s3c2410_platform_nand smdk_nand_info = {

.tacls = 0,

.twrph0 = 30, //這 三個數字要改的 以前是20 60 20

.twrph1 = 0,

.nr_sets = ARRAY_SIZE(smdk_nand_sets),

.sets = smdk_nand_sets,

};

4。修改drivers/mtd/nand/s3c2410.c中s3c2410_nand_init_chip函數的NAND_ECC_SOFT為NAND_ECC_NONE。

5。晶振頻率:修改arch/arm/mach-s3c2440/mach-smdk2440.c

static void __init smdk2440_map_io(void)

{

s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));

s3c24xx_init_clocks(12000000);//改成和妳的壹樣

s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));

}

6。添加對yaffs2文件系統的支持:

下載yaffs2的源碼包,解壓後進入其中,其加入Linux內核(打補丁的方式)

#cd yaffs2

#./patch-ker.sh c $you_kernel_path(妳的內核代碼的目錄)

7。配置內核

先拷貝s3c2410開發板的默認配置到內核根目錄下,以簡化配置過程

# cp arch/arm/configs/s3c2410_defconfig .config

# make menuconfig

1.General setup --->

[*] Configure standard kernel features (for small systems) --->

2. System Type ---->

[*] S3C2410 DMA support [*] Support ARM920T processor

S3C2410 Machines --->

[*] SMDK2410/A9M2410

S3C2440 Machines --->

[*] SMDK2440

[*] SMDK2440 with S3C2440 CPU module

3.Boot options --->

將 (root=/dev/hda1 ro init=/bin/bash console=ttySAC0) Default kernel command string

改成 (noinitrd root=/dev/mtdblock2 console=ttySAC0,115200 init=/linuxrc )

這裏要特別註意root=/dev/mtdblock2 這個參數,mtdblock2是妳的根文件系統所在的位置,和妳在bootloader的分配有關,當然也和上述2。步驟的密切相關。不行的話多試幾次。

4.[*] Enable loadable module support --->

[*] Module unloading

[*] Automatic kernel module loading

選擇這兩個,剩下的可以去掉

5.Device Drivers --->

<*> Memory Technology Device (MTD) support --->

[*] MTD partitioning support

<*> NAND Device Support --->

<*> NAND Flash support for S3C2410/S3C2440 SoC

[ ] S3C2410 NAND Hardware ECC //這個要去掉

6.File systems----->

Miscellaneous filesystems --->

<*>YAFFS2 file system support

7.make zImage

這個配置是2440和2410都通用的。網上有很多這樣的教程。

另外還有壹點要很註意而且也是比較頭疼的:文件系統的制作,這個東西不好妳弄,個人建議如果妳想進駐嵌入式linux這個行業的話,韋東山的《嵌入式linux應用開發完全手冊》很適合初學者學習,通過本書妳會對嵌入式linux開發的整個流程都有個很明朗的認識。

好好學習吧。

  • 上一篇:多媒體指令集的指令集
  • 下一篇:無敵腦洞源代碼
  • copyright 2024編程學習大全網