TI中文支持网
TI专业的中文技术问题搜集分享网站

C6657的GPIO扩展NOR Flash的高地址线

最近在调试NOR Flash,C6657的EMIF地址线只有24根,但是CE1连接的NOR Flash有27根地址线,现在用3个GPIO作为flash的高地址扩展,请问用GPIO做高地址扩展时程序上应该怎么编写,现在完全没有思路,恳请大神指导

Shine:

通过3根GPIO管脚可以总共访问8x16M地址,把GPIO管脚设成输出模式,根据要访问那块16M地址进行拉高拉低。如访问第二块16M地址,GPIO=001。

user4240389:

回复 Shine:

您好,谢谢您的指导。有一个问题我不太明白,Flash的前24个地址线与EMIF的24根地址线相连,那么前24个地址线所能寻址的范围是不是就是0x74000000~0x747FFFFF?
那GPIO做高地址时,每次寻址也是从0x74000000开始吗,还是从0x747FFFFF开始?

Shine:

回复 user4240389:

可以这样理解GPIO做高地址时的地址范围 GPIO2GPIO2GPIO0A23A22…..A1A0: 00000……00 00000……01 ……………….. 16M 00011……11 00100…….00 00100…….01 ………………… 16M 00111……..11 ………………… ….. ………………… 11100………00 11100……….01 …………………. 16M 11111……….11

user4240389:

回复 Shine:

谢谢您的指导,我明白了您所说的地址范围。那往flash中写数时,每一个16M所对应的空间都是从CE1对应的地址开始写吗?比如,往第一个16M写数,Flashbase= 0x74000000,startaddr=0x74000000,往第二个16M写时是重复利用Flashbase和startaddr吗?

Shine:

回复 user4240389:

是的,重复利用这16M地址,具体往flash的哪块16M地址里烧写由GPIO地址决定。

user4240389:

回复 Shine:

好的,我明白了,谢谢您!
从flash里读数据的时候操作是不是和写数据一样,想要读哪个16M数据把相应的GPIO拉高,然后从CE1空间读取数据就可以了?

Shine:

回复 user4240389:

是的。

赞(0)
未经允许不得转载:TI中文支持网 » C6657的GPIO扩展NOR Flash的高地址线
分享到: 更多 (0)