ITE8502下的SPI flash读写问题

本文详细介绍了在ITE8502芯片上进行SPI Flash的读写操作,包括通过SMIMAR0~3和SMIMDR寄存器进行读取,以及如何在开启BIOSWE后进行写操作,包括写命令的发送步骤和示例代码。在写操作完成后,需要发送退出命令以恢复EC正常工作。
摘要由CSDN通过智能技术生成

1. 读的问题。

    ITE8502有提供一组寄存器给HOST端使用,名称为SMIMAR0~3和SMIMDR,HOST可以通过4E/4F去配置这组寄

存器的基地址,然后把24位的flash地址用IO端口的访问方式丢给SMIMAR0,再去读SMIMDR,就可以读到数据了。

 

2. 写的问题

    ITE8502默认是不允许HOST端去擦除或者编写内容到flash上的,有一个开关必须打开,那就是EC那边的BIOSWE

(BIOS write enable bit),这个bit置为1后,EC对flash的读停止,HOST端进入flash模式,这时可以下任何命令,

比如读ID,擦除,写一个字节等等给flash,下命令的端口为0xFFFF_FE00和0xFFFF_FD00,前者为命令端口,后者为

数据端口,这一组地址值原先是映射到flash上去的,必须去LPC那边把BIOS write enable起来,才能当作有效的MMIO

端口来使用。

   在BIOS执行完对flash的操作之后,必须发一个命令通知EC退出flash模式,否则EC仍然处于停止工作的状态。

 

以下为写一个byte的代码样例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值