先来个背景介绍
RY/(/BY),表示Ready输出高电平,Busy输出低电平,本来应该是BY上一横杠来表示低电平的,
由于不好编辑,这里用这种写法。
当外部芯片作为boot时,或者我们不知道外部芯片读写时间参数时,我们无法对控制器设定相应的时间参数。
这时就通过读RY/(/BY)引脚来确定外部芯片正忙还是已经准备好了。
如何读RY/(/BY)的状态呢?在AM3359中GPMC_WAIT0连接到外部Nor Flash的RY/(/BY),通过读取
WAIT0STATUS的状态来确定。查看手册可以知道GPMC_STATUS [8]表示 WAIT0STATUS
WAIT0STATUS
0 WAIT0 asserted(inactive state)
1 WAIT0 de-asserted刚上来本迷惑了一下,特别是括号(inactive state)更让人迷惑了,下面来解释一下。
这里遇到了asserted和de-asserted ,asserted表示插入有效状态,假设wait0是高电平有效,则asserted就是插入1,低电平有效的话asserted就是0。所以asserted=active。
wait0的高电平有效还是低电平有效由wait0的极性标志位WAIT0PINPLORITY决定。在GPMC_CONFIG寄存器中
可以对其配置,默认是0。
WAIT0PINPLORITY=0 wait0 active lowWAIT0PINPLORITY=1 wait0 active high
这里我们使用默认值,那么wait0 就是低电平