OK6410 nandflash问题
想请教一下关于很老的6410开发板的问题。我的问题如下:1.不知道又没人回答我的问题,对回答的人首先说一声谢谢。
2.正式说一下问题,
①.硬件拨码开关全为“1”,这样就可以用Jlink烧写steppingstone了。我用jlink烧写了一个程序到0x0c000000处执行,程序的主要目的是拷贝steppingstone的代码到nandflash里面去,复位,然后硬件拨码开关为“00011001”,重新上电用nandflash启动。
②.经过试验后,发现,每次烧写到0x0c000000(Steppingstone)那里后,程序是正常运行的,并且用串口去输出nandflash里面的值出来,也是正确的,和steppingstone里面的值一模一样,但是一旦复位,采用nandflash启动,就没有任何反应,好像程序没有从nandflash自动加载到steppingstone里面一样。
③.同时在读取nandflash里面的内容的时候,我用的8k/page的芯片,最后读出来只有前4k+256字节,后面的返回的全部是0,一旦外部配置不变,改用4k/page的芯片,最后读出来只有前2k+一定量的字节,后面的返回的全部是0,用2k/page的也是前1k+一定量的字节,后面全是0了。
④.为了检验①中是不是nandflash里面的值不正确导致的不能运行,我专门把一个仅仅点亮LED的程序(里面只有告诉外设地址,关闭狗,点亮LED,总共76字节的bin文件)嵌入到程序里面,然后专门擦除了nandflash后,用下载到steppingstone里面的程序,将LED程序,写入到nandflash中,这样76个字节,好校对。同时也保证nandflash里面的程序仅仅在block0/page0,没有什么6410的启动问题。利用串口输出,nandflash读出来和写进nandflash的值一模一样,选择用nandflash启动,发现灯全部灭了的。但是用jlink把LED的程序下载到stppingstone里面,灯顺利点亮。
⑤.请问,是不是以nandflash启动的话,需要在设置外设,关狗,之前做很多事情,不然S3C6410启动不了,我在使用jlink下载程序的时候(硬件拨码开关全为1),其实S3C6410内部其实就自己做了很多事情了,但是一旦使用nandflash启动(硬件拨码开关为“00011001”)这时候几乎全部的代码都需要从nandflash取,或者说S3C6410在这种启动方式下,只做了很少很少的事情。苦于一直没有找到相应的文件来解释这个事情。
:(希望有人回答啊,没人回答的话,我都准备卖掉开发板了。这个问题已经折磨我快一个月了。
页:
[1]