当前位置: 技术问答>linux和unix
u-boot和nand flash的一些问题
来源: 互联网 发布时间:2016-10-02
本文导语: 这些天一直整这件事,首先是先把nand flash驱动起来,现在已经做到了,包括使用nand info等命令,可以看到设备信息等。主要问题是在向nand flash上写信息时,写不进去。过程是这样的: 将内核镜像下载到内存中,然...
这些天一直整这件事,首先是先把nand flash驱动起来,现在已经做到了,包括使用nand info等命令,可以看到设备信息等。主要问题是在向nand flash上写信息时,写不进去。过程是这样的:
将内核镜像下载到内存中,然后将nand flash擦除一块区域,然后,写入下列命令
nand write 33000000 0 100000
会报错,我以为是我驱动没改对,检查了多次,和在网上下载的资料一样的。然后又发现,如果使用相同参数读取完信息,再写入,就能够将数据写入到nand flash中。例如:
nand read 33000000 0 100000
nand write 33000000 0 100000
这样就可以写入,这是为什么呢,有知道该问题的朋友们帮帮忙吧。
将内核镜像下载到内存中,然后将nand flash擦除一块区域,然后,写入下列命令
nand write 33000000 0 100000
会报错,我以为是我驱动没改对,检查了多次,和在网上下载的资料一样的。然后又发现,如果使用相同参数读取完信息,再写入,就能够将数据写入到nand flash中。例如:
nand read 33000000 0 100000
nand write 33000000 0 100000
这样就可以写入,这是为什么呢,有知道该问题的朋友们帮帮忙吧。
|
报什么错误呢,有没有给出明确的提示 啊?
|
写之前要nand erase 0 100000,做过了吗?
|
1. nand write 前要先 调用 nand erase 擦除 flash.
2. 你要弄清楚 nand write 后面几个参数的意义。
3. 你要确认 33000000 这个地址是否有效,并且,这个地址里是否是你要写入的数据。
2. 你要弄清楚 nand write 后面几个参数的意义。
3. 你要确认 33000000 这个地址是否有效,并且,这个地址里是否是你要写入的数据。
|
要确定真正的是写入了,最好是断电之后读出数据打印出来确定是否写入了。