找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 12649|回复: 5

关于SPI FLASH的一些理解,请高手指正。

[复制链接]
发表于 2009-2-26 22:41:22 | 显示全部楼层 |阅读模式
一直想自己动手写程序去试图读写BIOS ROM 中的东西。鉴于现在的BIOS ROM都采用SPI FLASH ,就了解了一下ICH中关于SPI FLASH 的描述。根据ICH的描述,SPI FLSH 的功能寄存器被MEMORY MAP到 RCRA+3800的位置,通过对这些寄存器的操作,我个人理解可以对SPI FLASH进行读写操作。我的读操作做法是:把相应的OPCODE放置到OPCODE MENU寄存器中,清掉标志寄存器,然后设置控制寄存器为非序列命令,单字节读取。程序预留一个人机交互的对话,要求输入读取的地址,并把该地址放置到地址寄存器中。然后监视状态寄存器直到命令执行完成,最后去数据寄存器中读取数据。现在的问题是:不管我如何更改读取地址,读出的数据始终是0XFF ,我不知道是什么原因。是不是我的某一个控制位没有设置,还是读取方法不对?请高手指点!(很遗憾,由于公司的保密规定我不能把源代码带出来上传!)
发表于 2009-3-7 22:44:36 | 显示全部楼层
你设置OPTYPE咯吗,还有你说的清标志寄存器是指哪个发个具体的名字
回复

使用道具 举报

 楼主| 发表于 2009-3-8 10:09:03 | 显示全部楼层
status 标志位(offset 90h,Software Sequencing Flash Status),写入0xFF.OPTYPE也有相应的设置。后来我怀疑是不是opcode写错了,因为我发现关于所用FLASH CHIP的DATA SHEET中也有关于OPCODE的描述,数值与ICH中的不一样。当我换用FLSH CHIP DATA SHEET中的OPCODE 时,情况依旧!
回复

使用道具 举报

发表于 2009-3-8 12:59:57 | 显示全部楼层
你看下74H到87H的值,你现在是连读都读不出来吗
回复

使用道具 举报

发表于 2009-3-8 23:30:20 | 显示全部楼层
我這有篇文章) o, i" I# e' E9 C+ t, A& Q  y7 M" a
用SPI發特殊命令的, m8 Z4 o/ }2 k) M. I2 l2 [: _" B+ K
www.samedisk.com/cht/forum/viewtopic.php?t=139
/ r( J/ P- Q0 M3 k2 U流程應該類似
回复

使用道具 举报

发表于 2009-6-23 10:16:26 | 显示全部楼层
Read byte for SPI flash part:0 |8 R5 o  |: y- l: f0 W1 ^0 K2 Z5 Y
) C! @- C$ q+ k( x% f
1.      get --> (SPI_BASE)
1 ]- ?4 q4 w+ W! l! z3 N* Z7 u2.      Write PreFix Opcode(SPI_BASE + 94h, 95h) , Optype(SPI_BASE  + 96h , 97h) , OPMENU (SPI_BASE + 98h ~9Fh)
; _) d7 x6 j; m8 l2 B" s! |3.      clear register (SPI_BASE + 90h)
3 f# _- I3 i' q/ G  }+ ~4 q4.      給你要read 的address  SPI_BASE + 0ah , 09h , 08h: F+ C$ _3 K( U
5.      下cmmand 給 SPI controller :
1 x; Y) u+ ^$ q% A1 m6.      return register 在 Read byte  SPI_BASE + 10h 位置
: z* c! S; O3 r. a" k7.      Read 64byte  SPI_BASE + 10h ~ 4Fh位置2 F" o+ O7 @8 u; G

4 H# G- B) }$ T% e1 K3 p0 L% v[ 本帖最后由 timothy0025 于 2009-6-23 10:18 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-6-8 12:26 , Processed in 0.392810 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表