This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
之前的帖子,我咨询过大家GPMC的single读取问题,现在已经能够成功的进行单次读取。接下来为了提高速度,我准备先尝试burst读取,根据手册的时序图和手册说明,将pageburstaccesstime设置为1,readmultiple设置为1。
具体寄存器配置值config1=0x68001000。
cs_on_time=0
cs_rd_offtime=14
adv_on_time=0
adv_off_time=2
oe_on_time=3
oe_off_time=14
pageburstaccesstime=1
rdcycletime=14
rdaccesstime=10
目前想要实现的是突然读取4words(一个words为16bit)。我观察到FPGA侧的时序图是正常的,即判断到读取指令后,连续发出0x0102,0x0304,0x0506,0x0708。
但是ARM这边我通过:*((volatile unsigned short int *)(0x80600000))=*((volatile unsigned short int *)0x02000004)语句进行读操作后,去查看0x80600000空间,发现只接收到了0x0102这个数。后来尝试过把radccesstime改为13,发现接收到的数只有0x0708。
按照我的理解,我只要设置好rdaccesstime和rdcycletime之间的间隔,这个间隔的长度就是我所能burst读取的数据的个数。但是现在仅仅只能读到一个数,这让我觉得很奇怪。burst读取得方式我也已经使能了,pageburstaccesstime也给了1。
希望大家能帮忙指点一下!