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

TMS320C6748: nandflash读写问题

Part Number:TMS320C6748

各位好

调试nandflash,调用了startware的源码,但是有些地方看不懂,请教下。

static NandStatus_t NANDPageReadCmdSend(NandInfo_t *nandInfo, unsigned int blkNum,
unsigned int pageNum, unsigned int columnAddr)
{
NandStatus_t retVal;
unsigned int count;
unsigned int pageAddr;

NANDCommandWrite(nandInfo->cmdRegAddr, NAND_CMD_READ);
/* Write 2 bytes of column addr */
NANDAddressWrite(nandInfo->addrRegAddr,
(unsigned char)(columnAddr & 0xFF));
NANDAddressWrite(nandInfo->addrRegAddr,
(unsigned char)((columnAddr >> 8) & 0xFF));

pageAddr = ((blkNum * (nandInfo->blkSize/nandInfo->pageSize)) + pageNum);
/* Write the row address. */
for (count = 0; count < 3; count++)
{
NANDAddressWrite(nandInfo->addrRegAddr,
(unsigned char)pageAddr);
pageAddr = pageAddr >> 8u;
}

NANDCommandWrite(nandInfo->cmdRegAddr, NAND_CMD_READ_CYC2);
retVal = NANDWaitUntilReady(nandInfo);

return retVal;
}

这个发送读命令的函数,我的疑问是nandInfo->cmdRegAddr、nandInfo->addrRegAddr这两个地址是什么意思。从字面理解是命令寄存器地址、地址寄存器地址,但这个地址是怎么计算的啊,我在数据手册中也没有找到这些寄存器的地址值,所以想请大家指教下,

谢谢

Nancy Wang:

请查看 TRM 18.2.5.6.3 Driving CLE and ALE,emif的地址线与ALE/CLE相接控制这两个信号。

https://www.ti.com.cn/cn/lit/ug/spruh79c/spruh79c.pdf

,

user4835762:

我看了手册中的描述,但是还是不太懂。

NANDCommandWrite(nandInfo->cmdRegAddr, NAND_CMD_READ);

这句话是向这个寄存器写了地读指令,

nandInfo->cmdRegAddr                    = (SOC_EMIFA_CS3_ADDR + 0x10);   这是nandInfo->cmdRegAddr 的值,

根据手册,0x08代表向CLE的低位和ALE的高位写数?

是这个意思吗?

谢谢

,

Nancy Wang:

nand flash也是异步访问,所以要考虑EMA_BA与EMA_A结合生成内部地址,ALE/CLE高低的变化也就是A[1]/A[2]的变化。

请参考18.2.5.1 Interfacing to Asynchronous Memory

,

user4835762:

谢谢您的回答

查看资料,看到nand flash好像没有直接操作读写的,而是都有个中间层  mtd   ftl,来对nand flash进行管理,请问C6748有提供相关的文件或者技术支持吗?或者有什么好的建议吗?

谢谢

,

Nancy Wang:

user4835762 说:中间层  mtd   ftl,来对nand flash进行管理

mtd是linux下的。

你前面贴出的裸机程序就是通过emif对nand flash进行读写操作。

,

user4835762:

谢谢回复  

是的   mtd属于linux上的,

那我想请问下,emif的代码能够像mtd那样去管理nandflash吗。或者有没有demo能够管理nandflash呢?

谢谢

,

user4835762:

如果不对nandflash进行管理,上层直接使用会很不方便。

如果调用emif对nand flash进行读写操作接口的话,上层使用会很不方便,所以是否还有其他的demo提供呢?

谢谢

,

Nancy Wang:

没有提供其它demo。

,

user4835762:

好吧  谢谢

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6748: nandflash读写问题
分享到: 更多 (0)