首先按照步骤修改相关信息之后执行make zImage出现了不少错误: 
其中有代表性的错误如下: 


arch/arm/mach-s3c2440/mach-mini2440.c:189: error: array type has incomplete element type 
arch/arm/mach-s3c2440/mach-mini2440.c:190: error: array index in non-array initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:190: error: (near initialization for 'smdk_default_nand_part') 
arch/arm/mach-s3c2440/mach-mini2440.c:191: error: field name not in record or union initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:191: error: (near initialization for 'smdk_default_nand_part')

arch/arm/mach-s3c2440/mach-mini2440.c:193: error: unknown field 'tacls' specified in initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:193: warning: excess elements in struct initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:193: warning: (near initialization for 'mini2440_nand_info') 
arch/arm/mach-s3c2440/mach-mini2440.c:194: error: unknown field 'twrph0' specified in initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:194: warning: excess elements in struct initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:194: warning: (near initialization for 'mini2440_nand_info') 
arch/arm/mach-s3c2440/mach-mini2440.c:195: error: unknown field 'twrph1' specified in initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:195: warning: excess elements in struct initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:195: warning: (near initialization for 'mini2440_nand_info') 
arch/arm/mach-s3c2440/mach-mini2440.c:196: error: unknown field 'nr_sets' specified in initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:196: warning: type defaults to 'int' in declaration of 'type name' 
arch/arm/mach-s3c2440/mach-mini2440.c:196: warning: type defaults to 'int' in declaration of 'type name' 
arch/arm/mach-s3c2440/mach-mini2440.c:196: error: negative width in bit-field '
arch/arm/mach-s3c2440/mach-mini2440.c:196: warning: excess elements in struct initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:196: warning: (near initialization for 'mini2440_nand_info') 
arch/arm/mach-s3c2440/mach-mini2440.c:197: error: unknown field 'sets' specified in initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:197: warning: excess elements in struct initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:197: warning: (near initialization for 'mini2440_nand_info') 
arch/arm/mach-s3c2440/mach-mini2440.c:198: error: unknown field 'ingnore_unset_ecc' specified in initializer 
arch/arm/mach-s3c2440/mach-mini2440.c:198: warning: excess elements in struct initializer


开始以为是输错代码,搞了一个上午都没有搞明白。 


到了下午,通过查找网上的资料(还真难找),再对比原来2.6.32内核中外国爱好者编写的mach-mini2440.c 


文件,隐约知道是头文件的问题。 


于是在自己的mach-mini2440.c中加入 
#include <linux/mtd/mtd.h> 
#include  
#include  
#include  
#include  
果然make过了,不过仍然有一行warning: 
arch/arm/mach-s3c2440/mach-mini2440.c:233: warning: 'mini2440_nand_info' defined but not used 


把生成的zImage下载到板子上运行,也没有出现该文中所描述的情形,初步估计还是移植失败 


看来该文漏洞不少,这次不得不依靠网上的高手了。

 

昨天的问题 
warning: 'mini2440_nand_info' defined but not used 
今日终于还是解决了,原来除了昨天说 
的之外还得添加别的东西,在这个函数: 
static void __init mini2440_map_io(void) 


中加入以下代码: 
s3c_device_nand.dev.platform_data = &mini2440_nand_info; 
再次make zImage,没有再出现warning,下载到板子, 成功出现了nand flash的分区信息。 

当然网上还有所谓的"石器时代"的移植方法,迟下再 试,毕竟这里头很多内在原理还是没搞明白的。当下先对文 件系统的移植作个了解,过一阵子再回过头来详细分析。 


我对这两天的移植有2个感受:一是"尽信书不如无书", 二是不学一些原始的方法,单是站在巨人的肩上去开发是 学不透彻的,虽然移植成功但是还是糊里糊涂。。。。。。

关键字:mini2440  nandflash  驱动移植 引用地址:初试mini2440 nandflash驱动移植

上一篇:S3C2440启动代码分析 start.s
下一篇:内核(2.6.14) + 根文件系统 +Qtopia Core 4移植 for S3C2410

推荐阅读

用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1 gpio 管脚为高电平,写 0 为低电平BSRR 只写寄存器:[color=Red]既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高 16bit 写1 对应管脚为低电平,对寄存器低16bit写1...
中国商务部宣布将对750亿美元美国进口商品加征关税后,美国总统特朗普表明将调高总值5500亿美元的中国输美商品的关税幅度。对此,今日中国商务部做出了回应。 美国当地时间周五,特朗普在其推特上宣布,将对2500亿美元源自中国的进口商品关税从现有的25%调升至30%,10月1日起生效。此外,在9月1日对其余3000亿美元的中国输美商品征收关税幅度将从原定的10%...
一台服务器、一台电脑、一台手机最重要的电子零部件是什么?没错,就是CPU处理器。它主要负责数据计算、控制功能,是最核心的部分。不过你又知道有多少种CPU架构吗?主流的X86、ARM到底有什么区别?下面就给大家介绍一下几种常见的CPU架构:X861978年6月8日,Intel发布了史诗级的CPU处理器8086,由此X86架构传奇正式拉开帷幕。首次为8086引入X86作为计算机...
GSA: 全球拥有超过175个5G商用网络 在72个国家或地区推出,137个国家/地区的461家运营商正在投资5G英国伦敦-2021年8月26日 - 全球移动供应商协会(GSA)今天证实,5G网络的上线数量首次超过175个,目前达到176个-在72个国家和地区有业务。 预计到2021年8月中旬,137个国家/地区的461家运营商正在投资5G,包括试验、获取许可证、规划、网络部署和启动,...

史海拾趣

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved