g-bios support S3C6410 NOR Flash

发布于 2022-09-14 19:00:02 字数 213 浏览 10 评论 9

本帖最后由 voidjackjiang 于 2010-09-20 10:47 编辑

Description:
    实现g-bios对S3C6410 NOR Flsah的支持

Team member:
    Camel Luo、KunKa Lu、Baker

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

血之狂魔 2022-09-19 18:53:50

昨天相对前天来说没有什么新的进展,对NORFLASH进行READ操作都已实现,关键就是SPI总线上面的/WP PIN与NORFLASH的WRITE ENABLE操作相关, /WP PIN似乎默认把NORFLASH 进行写保护了。现在在S3C6410的DATASHEET上面暂时找不到如何控制/WP PIN的方法,还在进一步探讨中 。

陪我终i 2022-09-19 18:35:09

我们尝试了几乎所有的read命令,都能顺利执行。但是打开写保护标志位(WEL)的命令不能被执行,以至于page program、erase等写命令不能使用。
我注意到nor flash的/WP引脚是和写保护标志位相关的,但是6410板子的原理图没有画出nor flash,当然也没有画出/WP引脚的接法。我认为有必要拿万用表测一下这个引脚的状态(它是低电平有效)。今天没来得及做。

回眸一遍 2022-09-19 15:38:57

本帖最后由 liqunfeifei 于 2010-09-30 01:05 编辑

spi nor flash已经可以执行读指令。目前采用手动片选的方式传输数据。
整个调试的过程泥泞坎坷、充满疑惑,不愿意相信任何一个寄存器的默认值,调通之后才豁然开朗。其中有几个值得注意的地方,也是一直牵绊我们的地方:
1. SPI总线是以数据交换的方式进行通信。每一个时钟周期内master和slave必定会发出并且接收到1bit的数据。也就是说,如果同时使能rx fifo和tx fifo,rx fifo收到数据的数量将等于tx fifo发出数据的数量。因此,master发出指令之后需要继续发送数据以换得slave传回的数据。
2. 片选信号的低电平和高电平控制一次指令执行的起始和结束。所以,为保证片选使能之后第一个周期就能发送有效的指令,需要先将指令存入fifo再执行片选。
3. 不知道这块芯片接在SPI总线的channel0还是channel1,还有不清楚其他一些寄存器的值。只有试了。不过到最后它们看上去都变得很自然。

接下来我们的工作可以分成两部分。一是尝试用auto方式传输数据,也许这种方式能大量简化操作;二是根据现有的操作方式完善api,完成page program和sector erase等方法,最终把nor flash注册到flash子系统。

##更正:
前面第二点有错误.片选信号确实是控制指令的起始和结束,尤其是某些指令结束后必须及时把片选拉高.但是,似乎决定数据交换的时钟信号只是在发送数据时才产生.因此先片选,再发送数据到rx fifo也能成功执行指令.而且这样更符合使用习惯,也使代码实现更方便.

顾挽 2022-09-19 14:57:47

Baker把NORFLASH ID 读出来了,我今天基本上没有什么进展

榆西 2022-09-19 06:34:39

今天晚上终于有所进展,由Baker Feng 把NORFLASH的JEDEC_ID读出来了。发现NORFLASH的I/O方式与NANDFLASH有很大的不同,NORFLASH似乎是在一个clock周期里,先后完成了从缓冲区发送一个bit数据以及从缓冲区接收一个bit数据的过程. 明天应该能把NORFLASH其它的一些操作完成.

盗梦空间 2022-09-19 00:38:30

本帖最后由 liqunfeifei 于 2010-09-28 00:02 编辑

Today, I tested the spi bus with the "JEDEC ID" command of norflash.
I tryed to switch the spi controller to manual mode instead of auto mode. But the rx fifo received nothing, again.
Honestly, I can't figure out the value of NCS_TIME_COUNT in CS_REG register. And I tryed many different numbers,but it dosen't work.

娇俏 2022-09-18 18:19:51

这两天一直在编译linux内核,包括今天早上,不过状态很不错,遇到的几个问题都顺利的解决了(usb不能挂载,iso文件不能挂载和一些文件名乱码)。中午把ldm2写了一遍,但是没有什么感觉,请教了好几位同学才写了出来。下午和晚上都是各个小组之间互相交流前段时间做项目的总结。由于我们组(nor flash)和spi组一直都卡在state register中有数据接受到但读出来全部是0这个地方,所以就没有什么好说的了。
从明天开始继续做nor flash。不过本人觉得还是大家一起把spi做好,正确读取出nor flash的id,才能继续做nor flash的工作了。要不然写再多的代码也没有用。

眼睛会笑 2022-09-18 10:01:25

完成page_program()函数.
spi接口仍旧没能调通.

吃不饱 2022-09-17 17:55:51

编写了NORFLASH的nor_read_id()、nor_read()、nor_erase()函数,但是SPI总线还没能实现API.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文