免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3170 | 回复: 9
打印 上一主题 下一主题

intel 28F320C3T 的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-25 16:05 |只看该作者 |倒序浏览
10可用积分
板子用的28F320C3T的4m flash, 使用mtd+jffs2文件系统, 发现启动后不可写。

在驱动里打开DEBUG_CFI_FEATURES 后 有如下输出:
Extended Query version 1.0
  Feature/Command Support:      0066
     - Chip Erase:              unsupported
     - Suspend Erase:           supported
     - Suspend Program:         supported
     - Legacy Lock/Unlock:      unsupported
     - Queued Erase:            unsupported
     - Instant block lock:      supported
     - Protection Bits:         supported
     - Page-mode read:          unsupported
     - Synchronous read:        unsupported
     - Simultaneous operations: unsupported
     - Extended Flash Array:    unsupported
  Supported functions after Suspend: 01
     - Program after Erase Suspend: supported
  Block Status Register Mask: 0003
     - Lock Bit Active:      yes
     - Lock-Down Bit Active: yes
     - EFA Lock Bit:         no
     - EFA Lock-Down Bit:    no
  Vcc Logic Supply Optimum Program/Erase Voltage: 3.3 V
  Vpp Programming Supply Optimum Program/Erase Voltage: 12.0 V

最终系统不能写是否和 Chip Erase :   unsupported 有关,

如果是这个原因的话有什么办法解决? 谢谢

论坛徽章:
5
2 [报告]
发表于 2009-05-25 16:13 |只看该作者
原帖由 oyjcq 于 2009/5/25 16:05 发表
如果是这个原因的话有什么办法解决


升级软件, 来支持flash.
手动改写flash driver, 来支持你的新硬件.

如果仅仅是chip erase, 改动的代码并不多.

论坛徽章:
0
3 [报告]
发表于 2009-05-25 16:21 |只看该作者
最终目的是jffs2 可以读写, 手动改flash driver, 这里主要涉及哪些文件呢?  这方面我是第一次接触, 谢谢

论坛徽章:
5
4 [报告]
发表于 2009-05-25 16:39 |只看该作者

回复 #3 oyjcq 的帖子

改写flash driver的chip erase函数.

如果你是全新手, 建议还是升级软件, 来支持硬件吧. 你的这一款flash, 很普通的.

论坛徽章:
0
5 [报告]
发表于 2009-05-25 16:48 |只看该作者
原帖由 yidou 于 2009-5-25 16:39 发表
改写flash driver的chip erase函数.

如果你是全新手, 建议还是升级软件, 来支持硬件吧. 你的这一款flash, 很普通的.



谢谢, 我先看看新的驱动, 原来同事加了一些改动在里面, 尽量只更新需要的部分

论坛徽章:
0
6 [报告]
发表于 2009-05-25 17:14 |只看该作者
改了一下, 文件系统不再被检测成read-only了, 不过在写的时候
会提示Node totlen on flash (0xffffffff) != totlen from node ref (0x00000034)

查了下发现是在jffs2 的nodemgmt.c里, 这种情况下写的东西 重启后就没了

这个情况不知道和什么有关系?

论坛徽章:
5
7 [报告]
发表于 2009-05-25 17:17 |只看该作者
原帖由 oyjcq 于 2009/5/25 17:14 发表
改了一下, 文件系统不再被检测成read-only了, 不过在写的时候
会提示Node totlen on flash (0xffffffff) != totlen from node ref (0x00000034)

查了下发现是在jffs2 的nodemgmt.c里, 这种情况下写的东西 ...



改了什么代码

论坛徽章:
0
8 [报告]
发表于 2009-05-25 19:23 |只看该作者
原帖由 yidou 于 2009-5-25 17:17 发表



改了什么代码


在do_write_oneword里
if (map_word_bitsset(map, status, CMD(0x20))) {
                unsigned long chipstatus = MERGESTATUS(status);

                /* reset status */
                map_write(map, CMD(0x50), adr);
                map_write(map, CMD(0x70), adr);
                xip_enable(map, chip, adr);

                if (chipstatus & 0x02) {
                        printk("chipstatus %x\n", chipstatus);
                        ret = -EROFS; 原来都是这里返回

map_word_bitset 参数 CMD(0x1a) (这个是刚下的新驱动里的值) 改成现在的CMD(0x20)( 这个是原来的驱动的值 )

评分

参与人数 1可用积分 +15 收起 理由
yidou + 15

查看全部评分

论坛徽章:
5
9 [报告]
发表于 2009-05-25 19:30 |只看该作者
Q1。 CMD是一个宏吧?
Q2。 这个函数是用来写一个word. right?

论坛徽章:
0
10 [报告]
发表于 2009-05-25 19:57 |只看该作者
对~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP