arch/arm/mach-s3c2440/mach-mini2440.c:210: warning: type defaults to 'int' in declaration of 'type name'
arch/arm/mach-s3c2440/mach-mini2440.c:210: warning: type defaults to 'int' in declaration of 'type name'
arch/arm/mach-s3c2440/mach-mini2440.c:210: error: negative width in bit-field ' arch/arm/mach-s3c2440/mach-mini2440.c:211: error: field name not in record or union initializer arch/arm/mach-s3c2440/mach-mini2440.c:211: error: (near initialization for 'mini2440_nand_sets') arch/arm/mach-s3c2440/mach-mini2440.c:215: error: variable 'mini2440_nand_info' has initializer but incomplete type arch/arm/mach-s3c2440/mach-mini2440.c:216: error: unknown field 'tacls' specified in initializer arch/arm/mach-s3c2440/mach-mini2440.c:216: warning: excess elements in struct initializer arch/arm/mach-s3c2440/mach-mini2440.c:216: warning: (near initialization for 'mini2440_nand_info') arch/arm/mach-s3c2440/mach-mini2440.c:217: error: unknown field 'twrph0' specified in initializer arch/arm/mach-s3c2440/mach-mini2440.c:217: warning: excess elements in struct initializer arch/arm/mach-s3c2440/mach-mini2440.c:217: warning: (near initialization for 'mini2440_nand_info') arch/arm/mach-s3c2440/mach-mini2440.c:218: error: unknown field 'twrph1' specified in initializer arch/arm/mach-s3c2440/mach-mini2440.c:218: warning: excess elements in struct initializer arch/arm/mach-s3c2440/mach-mini2440.c:218: warning: (near initialization for 'mini2440_nand_info') arch/arm/mach-s3c2440/mach-mini2440.c:219: error: unknown field 'nr_sets' specified in initializer arch/arm/mach-s3c2440/mach-mini2440.c:219: warning: type defaults to 'int' in declaration of 'type name' arch/arm/mach-s3c2440/mach-mini2440.c:219: warning: type defaults to 'int' in declaration of 'type name' arch/arm/mach-s3c2440/mach-mini2440.c:219: error: negative width in bit-field ' arch/arm/mach-s3c2440/mach-mini2440.c:219: warning: excess elements in struct initializer arch/arm/mach-s3c2440/mach-mini2440.c:219: warning: (near initialization for 'mini2440_nand_info') arch/arm/mach-s3c2440/mach-mini2440.c:220: error: unknown field 'sets' specified in initializer arch/arm/mach-s3c2440/mach-mini2440.c:220: warning: excess elements in struct initializer arch/arm/mach-s3c2440/mach-mini2440.c:220: warning: (near initialization for 'mini2440_nand_info') arch/arm/mach-s3c2440/mach-mini2440.c:221: error: unknown field 'ignore_unset_ecc' specified in initializer arch/arm/mach-s3c2440/mach-mini2440.c:221: warning: excess elements in struct initializer arch/arm/mach-s3c2440/mach-mini2440.c:221: warning: (near initialization for 'mini2440_nand_info') make[1]: *** [arch/arm/mach-s3c2440/mach-mini2440.o] 错误 1 make: *** [arch/arm/mach-s3c2440] 错误 2 baidu一下,发现有人(原文)遇到同样的错误,OK,按照原文的做,在mach-mini2440.c加入头文件,在 static void __init mini2440_map_io(void)加入红色内容 #include <linux/mtd/mtd.h> #include #include #include #include static void __init mini2440_map_io(void) { s3c24xx_init_io(mini2440_iodesc, ARRAY_SIZE(mini2440_iodesc)); s3c24xx_init_clocks(120000000); s3c24xx_init_uarts(mini2440_uartcfgs, ARRAY_SIZE(mini2440_uartcfgs)); s3c_device_nand.dev.platform_data = &mini2440_nand_info; } 再次make试试看.... 还是出现错误,提示找不到mini2440_nand_info' arch/arm/mach-s3c2440/mach-mini2440.c: In function 'mini2440_map_io': arch/arm/mach-s3c2440/mach-mini2440.c:172: error: 'mini2440_nand_info' undeclared (first use in this function) arch/arm/mach-s3c2440/mach-mini2440.c:172: error: (Each undeclared identifier is reported only once arch/arm/mach-s3c2440/mach-mini2440.c:172: error: for each function it appears in.) make[1]: *** [arch/arm/mach-s3c2440/mach-mini2440.o] 错误 1 make: *** [arch/arm/mach-s3c2440] 错误 2 可能是分区信息在文件的后面导致找不到的原因,把第二步加入的分区信息移到最前面试试看…经过十多分钟,make成功了,把zImage下载到板上试试看 郁闷,跟第一步信息一下,到booting the kernel.就不到了. 下班了,先吃饭去,下午再回来试试. ------------------------------------------------------------------------------------------- 下午,实在不知道问题在哪里,修改一下mach-mini2440.c,源代码如下(网上copy的): #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static struct map_desc mini2440_iodesc[] __initdata = { }; static struct s3c2410_uartcfg mini2440_uartcfgs[] __initdata = { [0] = { .hwport = 0, .flags = 0, .ucon = 0x3c5, .ulcon = 0x03, .ufcon = 0x51, }, [1] = { .hwport = 1, .flags = 0, .ucon = 0x3c5, .ulcon = 0x03, .ufcon = 0x51, }, [2] = { .hwport = 2, .flags = 0, .ucon = 0x3c5, .ulcon = 0x03, .ufcon = 0x51, } }; #define LCD_WIDTH 240 #define LCD_HEIGHT 320 #define LCD_PIXCLOCK 170000 #define LCD_RIGHT_MARGIN 25 #define LCD_LEFT_MARGIN 0 #define LCD_HSYNC_LEN 4 #define LCD_UPPER_MARGIN 1 #define LCD_LOWER_MARGIN 4 #define LCD_VSYNC_LEN 1 static struct s3c2410fb_display mini2440_lcd_cfg __initdata = { .lcdcon5 = S3C2410_LCDCON5_FRM565 | S3C2410_LCDCON5_INVVLINE | S3C2410_LCDCON5_INVVFRAME | S3C2410_LCDCON5_PWREN | S3C2410_LCDCON5_HWSWP, .type = S3C2410_LCDCON1_TFT, .width = LCD_WIDTH, .height = LCD_HEIGHT, .pixclock = LCD_PIXCLOCK, .xres = LCD_WIDTH, .yres = LCD_HEIGHT, .bpp = 16, .left_margin = LCD_LEFT_MARGIN + 1, .right_margin = LCD_RIGHT_MARGIN + 1, .hsync_len = LCD_HSYNC_LEN + 1, .upper_margin = LCD_UPPER_MARGIN + 1, .lower_margin = LCD_LOWER_MARGIN + 1, .vsync_len = LCD_VSYNC_LEN + 1, }; static struct s3c2410fb_mach_info mini2440_fb_info __initdata = { .displays = &mini2440_lcd_cfg, .num_displays = 1, .default_display = 0, .gpccon = 0xaa955699, .gpccon_mask = 0xffc003cc, .gpcup = 0x0000ffff, .gpcup_mask = 0xffffffff, .gpdcon = 0xaa95aaa1, .gpdcon_mask = 0xffc0fff0, .gpdup = 0x0000faff, .gpdup_mask = 0xffffffff, .lpcsel = 0xf82, }; static struct s3c24xx_uda134x_platform_data s3c24xx_uda134x_data = { .l3_clk = S3C2410_GPB(4), // IO表示方法,定义在mach/regs-gpio.h->mach/gpio-nrs.h中 .l3_data = S3C2410_GPB(3), .l3_mode = S3C2410_GPB(2), .model = UDA134X_UDA1341, }; static struct platform_device s3c24xx_uda134x = { .name = 's3c24xx_uda134x', .dev = { .platform_data = &s3c24xx_uda134x_data, } }; static struct mtd_partition friendly_arm_default_nand_part[] = { [0] = { .name = 'supervivi', .size = 0x00040000, .offset = 0, }, [1] = { .name = 'param', .offset = 0x00040000, .size = 0x00020000, }, [2] = { .name = 'Kernel', .offset = 0x00060000, .size = 0x00500000, }, [3] = { .name = 'root', .offset = 0x00560000, .size = 1024 * 1024 * 1024, //为以后拓展用 }, [4] = { .name = 'nand', .offset = 0x00000000, .size = 1024 * 1024 * 1024, // } }; static struct s3c2410_nand_set friendly_arm_nand_sets[] = { [0] = { .name = 'NAND', .nr_chips = 1, .nr_partitions = ARRAY_SIZE(friendly_arm_default_nand_part), .partitions = friendly_arm_default_nand_part, }, }; static struct s3c2410_platform_nand friendly_arm_nand_info = { .tacls = 20, // 建立时间 .twrph0 = 60, // 等待时间 .twrph1 = 20, // 保持时间 .nr_sets = ARRAY_SIZE(friendly_arm_nand_sets), .sets = friendly_arm_nand_sets, .ignore_unset_ecc = 1, }; #define MACH_MINI2440_DM9K_BASE (S3C2410_CS4 + 0x300) static struct resource mini2440_dm9k_resource[] = { [0] = { .start = MACH_MINI2440_DM9K_BASE, .end = MACH_MINI2440_DM9K_BASE + 3, .flags = IORESOURCE_MEM }, [1] = { .start = MACH_MINI2440_DM9K_BASE + 4, .end = MACH_MINI2440_DM9K_BASE + 7, .flags = IORESOURCE_MEM }, [2] = { .start = IRQ_EINT7, .end = IRQ_EINT7, .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, } }; static struct dm9000_plat_data mini2440_dm9k_pdata = { .flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM), }; static struct platform_device mini2440_device_eth = {
上一篇:boot移植(十一)---代码修改---支持nandflash
下一篇:ARM-Linux移植之(四)——根文件系统构建
- 热门资源推荐
- 热门放大器推荐
- RDR-142 - 35W电源
- i.MX RT1060 Evaluation Kit
- 使用 Embedded Planet 的 5CEFA9U27 的参考设计
- DC1369A-D、LTC2258-14 演示板、14 位 65 Msps ADC、LVDS 输出、5-170MHz
- LT3990EMSE-5 12V 降压转换器的典型应用
- 使用 Analog Devices 的 LTC1148 的参考设计
- LT1377IS8 具有直接反馈的正负转换器的典型应用
- 使用 NXP Semiconductors 的 TL431AI 的参考设计
- LT8304IS8E 18V 至 80Vin、5Vout 隔离反激式转换器的典型应用电路
- LT3512EMS 演示板,单片式高压隔离反激式转换器 36V VIN 75V,VOUT = 5V @ 500mA



非常经典的关于LLC的杨波博士论文
ADA4922-1ACPZ-R7

VI-27WIU






京公网安备 11010802033920号