当前位置:首页 > > 充电吧
[导读]硬件平台:ARM7 44b0x软件调试平台:ADS1.2

注:文字功底不好,写错或者文不达意的地方,同志们可不要见怪,我是想到什么就说什么

调试的过程与心得交流

硬件平台:ARM7 44b0x
软件调试平台:ADS1.2
目的:调试一型号为:三星公司的k9f2808 容量为16M *8Bit 的NandFlash
文中:NF表示的是NandFlash

当把k9f2808 焊好后,便开始调试了,但是在其中遇到很多问题

我是第一次接触NandFlash,刚开始还是很陌生

<1>可以读出ID号(非常顺利, 这一点是我也没有想到的,认为基本上就搞定了)
<2>我试着写擦除代码  写页(我试着写0X5),   读页。 结果是返回来的全部是0XFF, 这时就出现了好多的疑点了:
我分析如下:
第一种可能:没有擦除到NF,也就不可能写了,返回的是错误的(怀疑擦除的时序有问题)
第二种可能:擦除对了,写页不对,读页也不对
第三种可能:擦除对了,写页对了,读页不对,返回的全部是错误的。
第四种可能:硬件连接不对包括有:(ALE 、CLE、CS、WR、RD等等)
第五种可能:硬件的焊接有问题
第六种可能:NandFlash是坏的

那时我也不知是什么问题而且很快进入了混乱之中。朋友们,当看到这里的时候,你认为是哪里出问题?
接着我是这样做的,我现在也觉得挺有意思
不断地调试代码(可以说是这样:脑子里想到这里有可能,就调一下,那里有可能就那里调一下)(因为我太想搞出来,想一下子把它搞定)
搞了三天还是不行,这时自己又停下来思索了,究竟是哪里出问题了???,就开始去网上找代码,整个GOOGLE都给我找翻了,但是还是没有答案。很是郁闷。

因为看到网上好多的开发板都是把控制线接到GPIO那里去的,而我的是接到地址总线上去的,于是我也就把问题归结的硬件连接的问题上去了。这时的我又是安慰自己,本来快没有信心的了,开始又有了信心了(我想搞开发的都会有这种感觉)。很快把控制线连到GPIO上,接着是改代码。结果呢?充满信心的我一下也就像没气的气球了,真是烦啊!

究竟是哪里出错了???很是郁闷啊!!我真的是累了,决定先放一放先,打了二天的星际争霸游戏,调节一下心情。

过了二天,我就告诉自己一定要彻底静下心来认真思考,鼓励自己要有耐心才能成功。于是我进入了第二阶段:

首先我还是把控制线接回地址总线那里去(因为我对这个比较有信心,起码可以读出ID)

我开始思考:我可以读出ID 来,就证明:
1,    写命令是正确的(否则的话就读不回ID,焊接是没问题的,线据线是没有连错的)
2,    读NF ID 的时序是没有问题的。ID =0XEC73



于是我就想:我写命令是对的了,那么我发擦除块的命令也是对的,于是我又联想到,我所有写指令(包括写地址,写命令)都有对的(这点是很重要的,也是至关重要的)。读数据的指令也是对的了(因为我能够把ID都读回来了(这点是错的,因为到最后就是卡住我了))

现在的我又很有信心了。
现在我要证明我所分析是对的,于是我开始调代码了:

我试着擦除NF,然后往0  block 0  Page页写(0x05)(时序是不能马虎的),再来就是试着读刚才写的页,结果在串口超级终端返回的又是OXFF,我这时好像要崩溃了,但是我又马上意识的,我分析的应是对的,我怀疑时序,本来我是不会用逻辑分析仪的,我开始进入学习逻辑分析仪了,搞了二天终于会用那玩意了。我看到时序是有的,我脑子里突然有一种想法,读多几次看怎么样?于是我连着读好多次那页,结果有读到第三次的时候,出现不是0xff,我开心极了,因为都读回来了(0x05),我上了次厕所(忙到忘了上厕所了),为了确认我再重新运行程序,又不行了。那是的我真是好难受啊心里面。我又试了好多次,有时能读回来,有时又不能读回来,我又想是不是写没有写好,于我又往那页写不是同样的数据,写了0,1,2,3…….511, 就这样我再读,结果只能读回0,1,下面的全部是OXFF,这时我为了验证是不是没有写上,于是我又开始读(不是从0区的第一个字节读,我换了其它位置去读,结果读到了8,9)这时我明白了上点,那就是:写进去的了,问题就是出在读上面(这是非常重要的一点),于是我用逻辑分析仪进行分析,结果呢?读的时序是有的,但是写的时序也是有的;这时我又明白了一点;但是不应出现这样的现象的啊!!


最终的问题就是出现在这里了:

       我用的44B0X的BANK是BANK5(PORTB10), 这个BANK的控制寄存器没有设好(我本来想都没去想这里会出错了,板子说明是BANK5没有使用)没有想到问题就是出现在这里;我换了其它的BANK试了一下,一切都是OK!!!


感想:从这次调NF 可以学到很多很多的东东。对我以后的发展以及经验的积累起到了很大的作用。我同时也感觉很幸运,为什么呢?假如一开始就用其它的BANK那我可能就少走很多的调试的路了,但是正因为这样,让我积累了更多的东东。这也是收获吧!!

如果有哪位同盟在做类似的工作时,遇到有问题,可以大家一起讨论。我的联系方法是:
baai433@163.net-
电话 :1371-4394-083
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭