请问
在GPMC_CONFIG7的register中里头有个BASEADDRESS设定
1.请问这个设定的意思是什么?
2.假设我已经配置一个16M 的NAND FLASH使用CS0去选定
如果要再另外新增一个memory想用CS1去选定
那请问新增的memory在AM335X的位址会从0x00000000+0x01000000开始吗?
因为以前使用的是renesas的MCU
他CS选定的方式是以address来决定(因为每个CS的area是16MB)
例如:
CS0 memory mapping 0x00000000~0x00FFFFFF
CS1 memory mapping 0x01000000~0x01FFFFFF
对0x00000000~0x00FFFFFF读写资料CS0就会assert
对0x01000000~0x01FFFFFF读写资料CS1就会assert
不知道AM335X是不是也是相同的方式
Vic Liao:
感谢楼上两位大侠的解答
不过小弟已在两个礼拜前理解了
忘记回来回复一下
非常感谢~
xiaofeng wang1:
你好,我最近也在纠结这个问题,现在也没弄懂,可以问下这个是怎么配置的吗?非非常感谢~!!我的QQ463897316
Vic Liao:
回复 xiaofeng wang1:
请问您有问题地方是bae address吗?
xiaofeng wang1:
回复 Vic Liao:
是的,也是这个地方,不知道怎么配置,看手册没看懂。可以加你QQ吗?这个问题纠结我好几天了,非常感谢
xiaofeng wang1:
刚接触AM335X,还请多多指导,谢谢
Vic Liao:
回复 xiaofeng wang1:
不好意思 我没有QQ我也是刚接触AM335x没多久也没有懂很多,一起加油XD
关于base address在GPMC_CONFIG7的配置中MASKADDRESS 用来定义你使用的外部memory的大小(这应该很容易理解)BASEADDRESS就是你的起始位址是多少
我以例子来说明假设我有3个外部memory要控制分别为16M,32M,跟64M并且由cs0,cs1,cs2来选片
GPMC_CONFIG7_i(i=0)MASKADDRESS设为16MBASEADDRESS设为0
GPMC_CONFIG7_i(i=1)MASKADDRESS设为32MBASEADDRESS设为1(bit A24)
GPMC_CONFIG7_i(i=2)MASKADDRESS设为64MBASEADDRESS设为3(bit A24 A25)
从以上设定来看当对address 0x000000~0xFFFFFF读写资料时(16M)CS0就会启动,就能控制16M的记忆体
当你对address 0x100000~0x2FFFFFF读写资料时(32M)CS1就会启动,就能控制16M的记忆体
当你对address 0x300000~0x6FFFFFF读写资料时(64M)CS2就会启动
不知道这样的例子能不能让您理解呢?…
xiaofeng wang1:
谢谢你的解答,现在明白多了。但是还有个问题,如果我不知道cs0用了多大,那么我cs1起始地址应该怎么定义呢?因为你给的例子已经知道cs0就是16M。
Vic Liao:
回复 xiaofeng wang1:
请问CS0这pin脚有用来控制外部记忆体吗?