lian240_nand_part), .partitions = eilian240_nand_part, .flash_bbt = 1, /* we use u-boot to create a BBT */ }, };
static struct s3c2410_platform_nand eilian240_nand_info __initdata = { .tacls = 20, .twrph0 = 60, .twrph1 = 20, .nr_sets = ARRAY_SIZE(eilian240_nand_sets), .sets = eilian240_nand_sets, .ignore_unset_ecc = 1, };
将nand flash 设备注册到系统中
static struct platform_device *eilian240_devices[] __initdata = { &s3c_device_ohci, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_iis, &s3c_device_nand, };
传入eilian240_nand_info结构体初始化参数到内核中去
static void __init eilian240_machine_init(void) { s3c24xx_fb_set_platdata(&eilian240_fb_info); s3c_i2c0_set_platdata(NULL); s3c_nand_set_platdata(&eilian240_nand_info); platform_add_devices(eilian240_devices, ARRAY_SIZE(eilian240_devices)); // smdk_machine_init(); }
加入必要的头文件
/*********nand*****/ #include #include #include #include #include /*********nand*****/
保存退出
h)编译测试
root@bootloader:/home/eilian/development/Linux/linux-2.6.39# make uImage
等待很久!!!!!!!!
Kernel: arch/arm/boot/Image is ready AS arch/arm/boot/compressed/head.o GZIP arch/arm/boot/compressed/piggy.gzip AS arch/arm/boot/compressed/piggy.gzip.o CC arch/arm/boot/compressed/misc.o CC arch/arm/boot/compressed/decompress.o SHIPPED arch/arm/boot/compressed/lib1funcs.S AS arch/arm/boot/compressed/lib1funcs.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-2.6.39 Created: Fri Dec 2 02:55:06 2011 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2144304 Bytes = 2094.05 kB = 2.04 MB Load Address: 30008000 Entry Point: 30008000 Image arch/arm/boot/uImage is ready
root@bootloader:/home/eilian/development/Linux/linux-2.6.39# cparch/arm/boot/uImage /tftpboot
下载uImage到板子上运行
打开超级终端(我这已经将uboot烧入到NANDFLASH)
/*********************************************************************************************************************************
关注上面深蓝色字体哈。。是否发现点什么。。。
|