历史上的今天
返回首页

历史上的今天

今天是:2024年08月26日(星期一)

正在发生

2021年08月26日 | 初试mini2440 nandflash驱动移植

2021-08-26 来源:eefocus

首先按照步骤修改相关信息之后执行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  
#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个感受:一是"尽信书不如无书", 二是不学一些原始的方法,单是站在巨人的肩上去开发是 学不透彻的,虽然移植成功但是还是糊里糊涂。。。。。。

推荐阅读

史海拾趣

台湾稳态公司的发展小趣事

台湾稳态公司在创立之初,便明确了自身的技术发展方向和市场定位。公司创始人凭借在电子行业多年的技术积累和敏锐的市场洞察力,带领团队专注于某一特定领域的研发和生产。通过不断的技术创新和优化,稳态公司逐渐在市场中树立起了自己的技术优势和品牌形象。

FILTRONIC公司的发展小趣事

随着市场需求的不断增长,FILTRONIC开始着手拓展产品线,从单一的滤波器产品扩展到包括射频模块、天线等在内的多种无线通信产品。同时,公司也积极实施国际化战略,通过参加国际展会、设立海外办事处等方式,逐步打开了国际市场的大门。FILTRONIC的产品以其卓越的性能和可靠的质量赢得了全球客户的信赖,公司也因此实现了业务的快速增长。

弘凯光电(BRIGHTEK)公司的发展小趣事

弘凯光电股份有限公司,自2001年成立以来,便以光电半导体封装与解决方案提供商的身份,开始在电子行业中崭露头角。早期,公司以台湾为基地,凭借对技术的不断追求和对市场的敏锐洞察,逐步在光电半导体领域积累了宝贵的经验。通过持续的研发和创新,弘凯光电逐渐形成了自己的核心竞争力,为后续的快速发展奠定了坚实基础。

Aptos Technology公司的发展小趣事

随着技术的不断进步,Aptos在微电子封装领域取得了重大突破。公司成功开发出了一系列高效、稳定的封装技术,并成功应用于多个电子产品中。同时,Aptos还积极拓展业务领域,将技术应用于智能穿戴、物联网等新兴领域,进一步提升了公司的市场影响力。

Ferroxcube公司的发展小趣事

随着全球环保意识的日益增强,电子行业也开始面临着越来越严格的环保要求。Ferroxcube公司作为行业领军企业,积极响应环保号召,开始研发更加环保的磁性元件。

经过长时间的研发和试验,公司成功推出了一款采用环保材料制成的新型磁芯。这款磁芯不仅性能优异,而且在使用寿命结束后可以方便地进行回收再利用,大大降低了对环境的污染。

这一创新产品一经推出,就受到了市场的热烈欢迎。许多环保意识强烈的客户纷纷选择使用Ferroxcube的环保磁芯,以支持绿色环保事业。这也使得Ferroxcube在环保领域的声誉大大提升,为公司赢得了更多的市场份额和客户认可。

CANDD公司的发展小趣事

在电子行业的初期,CANDD公司凭借其创始人对半导体技术的深入研究,成功开发出了一款具有划时代意义的芯片。这款芯片不仅性能卓越,而且成本远低于市场上的同类产品。凭借这一技术突破,CANDD公司迅速在行业内崭露头角,吸引了大量投资者的关注。随着产品销量的不断增长,公司逐渐扩大了生产规模,并在全球范围内建立了销售网络。

问答坊 | AI 解惑

一种新颖的完全断续箝位电流模式功率因数校正电路

摘要:提供了一种新颖的宽输入范围、完全DCM、箝位电流工作模式的Boost功率因数校正电路控制方法。该控制方法不存在Boost电路中二极管的反向恢复,从而提高了整个电路的效率,同时,该方案获得了低的总谐波畸变(THD)和较高的功率因数(PF)。该方 ...…

查看全部问答>

磁铁与人体健康

    认识磁性、善用磁能的讲义(3之1)         主讲人:叶政秀          教授 、中华民国能量医学学会秘书长 、前台大农工系副教授 一、 前言      &n ...…

查看全部问答>

有谁是回家还要想着工作的

白天工作了一天,每天回到家再吃完饭往往就九点了。按道理该好好休息了,可是总是放心不下,要来论坛看看,这种状态是在主动向SOSO请缨做斑主后,生怕错过了什么。尤其是周末两天都不出现在论坛上,就会错过很多。对于别人来说,逛论坛是休息,可对 ...…

查看全部问答>

wince sip输入法,如何改变“输入面板”的大小?

各位大哥: 后学现在手头开发的ARMV4,wce4.2下SIP的输入法,想改变输入法的“输入面板”的大小和样式,需要在哪里修改呢?这个“输入面板”就是在输入法托盘里选定输入法时弹出,选“隐藏输入面板”时隐藏的那个。 尝试过:在MyInputMethod::S ...…

查看全部问答>

操作系统开发显卡驱动编写

本人自己开发了一个x86架构的操作系统,想提供对显卡更好的支持,希望能找到主流显卡显示芯片的技术手册 例如在Intel网站上可以找到IA-32体系结构的手册,ARM网站上可找到ARM体系结构手册 请问各位大侠,在哪里能找到nVidiaGeforce或ATI芯片的类 ...…

查看全部问答>

请教彩信头中的ID号是怎样得到的?

  彩信的头中有一个标志字(X-Mmd-Transtion-ID)的,说是系统分配的。 这个怎么是怎么获取呢呢?什么时候获取的呢? 如果谁有中文的彩信协议和 WAP协议(详细的),能不的能发一份给我。 邮箱:yuexianhanshu@yahoo.com.cn…

查看全部问答>

EVC中如何添加库文件?

请问如何添加一个库文件到工程中? Project-settings-link?…

查看全部问答>

求助 wince 5.0 下如何支持 mlc

SLC 的nand flash 已经是支持的了,可是现在要改为mlc 不知道应该如何做?…

查看全部问答>

STM32的FWLib又发现了潜在问题

我用Timer的Input Capture功能的时候,发现怎么也测不到方波的周期。但是独立写一个测试程序是没有问题的,感到很奇怪。于是看我所用的FWLib版本,是1.0的原始版,2007年的,最新的版本是08年9月份的。于是备份代码,然后换新的FWLib,问 ...…

查看全部问答>

微距离无线充电器的设计方案

1 引言  无线电技术用于通信,已经在全世界流行了近一百年。从当初的无线电广播和无线电报,发展到现在的卫星和微波通信,以及普及到全球几乎每一个个人的移动通信、无线网络、GPS等。无线通信极大地改变了人们的生产和生活方式,没有无线通信, ...…

查看全部问答>