对于mini2440的sd卡裸机驱动,我的疑惑主要有两点:
1这个驱动和ARM7的sd卡驱动不太一样,sd卡驱动在读写数据的时候,起码要指定(地址+要写入的数据),当然这个地址可以用块号表示,也就是(块号+*buffer),但是在这个2440里面的这个block我就不是很明白了,它是指定要写入的块的数量,但是并没有指定要写入哪个块啊????
2还有一点不明白的就是
while(wt_cnt < 128 * block)
{
status = rSDIFSTA; //读取FIFO状态寄存器
if((status & 0x2000) == 0x2000) //FIFO available Detect for Tx,应该是侦测到数据就置1
{
rSDIDAT = *Tx_buffer++; //这个寄存器是用来存放发送和接收数据的中间站,所以缓冲区可以设置为形参
wt_cnt++; //
//Uart_Printf("Block No.=%d, wt_cnt=%d\n",block,wt_cnt);
}
}
break;
为什么要while(wt_cnt < 128 * block)
这个语句什么意思,不明白???