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

TMS320C6678: C6678器件驱动库

Part Number:TMS320C6678

Hi, TI,我们最近有用C6678器件做NAND Flash的底层驱动程序,网上资料看到starterware里有相关程序,在官网上看到关于C6748器件的Starterware驱动库下载链接,但C6788器件是否有类似的库呢?有的话帮忙附上下载地址;另外为了适配不同位宽/容量的NAND FLASH,例如我们是16位/16G的NAND,程序里如何修改呢?是否有关于starterware里NAND相关视频链接?期待您的回复,感谢!

Shine:

c6678没有starterware,但有csl底层驱动库,可以下载下面的SDK,C:\ti\C6678 SDK 5.03\pdk_c667x_2_0_13\packages\ti\csl。 https://www.ti.com/tool/PROCESSOR-SDK-C667X 或者参考我们local FAE编写的例程。 https://e2echina.ti.com/support/processors/f/processors-forum/47664/faq-keystone1#pi239031350=2

,

? ?:

您好,下载了您链接上附的SDK,并没有看到EMIF驱动库,据我所知,NAND FLASH底层驱动需要用到吧,是个DSP新手,还请您不吝赐教!

,

? ?:

LOCAL FAE编写的例程中看到EMIF相关的,请问如何在CCS软件中用呢,刚接触DSP不久,希望您能多帮忙!

,

Shine:

请参考K1_STK_v1.1\docs\KeyStone_1_EMIF_STK_User's_Guide.doc文档说明。

,

? ?:

Hi, Shine, 我将local FAE里EMIF例程导入CCS工程中,添加了相应的PDK csl include路径,但编译时会报#20 符号未定义的错误,看了一下报错信息都是CSL库文件相关的,我使用的PDK版本为pdk_c667x_2_0_16, ccs版本为ccs9.3, 几乎查看了所有相关问题的帖子,解决办法对我的工程不管用,您能否帮忙搭建这个工程呢?期待您的回信

,

Shine:

请参考下面的FAQ。置顶贴STK的编译https://e2echina.ti.com/support/processors/f/processors-forum/185641/c6000

,

? ?:

Hi, Shine, 更换旧版本PDK后,CCS软件编译成功。

参考K1_STK_v1.1\docs\KeyStone_1_EMIF_STK_User's_Guide.doc文档配置自己的NAND FLASH(MT29F8G16A)

文档中提到需修“EMIF_NAND_FLASH_test.c”中相关配置,如下图

其中,num0psperpage、dataBytesper0p和spareBytesper0p分别是什么意思?因为我在MT29F8G16A数据手册里没有找到相关介绍。

另外,上图中关于buswidth配置为8bit,对吧?改成16bit,是否改为FLASH_BUS_WIDTH_2_BYTE?

期待您的回信!

,

Shine:

numOpsPerPage  Number of operations to complete a page read/write dataBytesPerOp Number of bytes per operationspareBytesPerOp Number of spare bytes per operation是的,具体在EMIF\src\FLASH\flash.h文件里定义#define FLASH_BUS_WIDTH_2_BYTES 2

,

? ?:

Hi, Shine:

参考K1_STK_v1.1\docs\KeyStone_1_EMIF_STK_User's_Guide.doc文档配置自己的NAND FLASH(MT29F8G16A)

文档中提到需修改“EMIF_main.c”源文件中的如下配置

翻阅了代码中NAND512R3A2DZA6E芯片手册,没有搞明白上图中各参数含义,如下图所示

请问如何对应起来呢?

期待您的回信!

,

Shine:

? ? 说:没有搞明白上图中各参数含义

上图中各个参数的含义,需要参考C6678 EMIF user guide中的4.4 Async 1 Config Register (A1CR)寄存器配置。https://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf您需要根据外接NAND flash的时序要求配置EMIF口的寄存器,使它们的时序匹配。

,

? ?:

Hi, Shine:

十分感谢您的回答。

sprugz3a中关于A1CR寄存器的配置说明,例如下图W_STROBE的说明,WE信号使能时(使能脉冲宽度)持续的EMIF16时钟周期个数。

从K1_STK_v1.1 EMIF里main函数中关于时钟源配置代码,一个时钟周期时间为1/1.333 ns

外接的NAND FLASH,在WE的上升沿采样,高脉冲宽度为7ns,如下图

那么W_STROBE= 7/ (1/1.333) ?

请问是这样嘛?因为是第一次接触TI的DSP,有很多东西不确定,还请您多帮忙。

,

Shine:

A1CR里的cylces是EMIF16 clock cycle,EMIF16 clock来源于SYSCLK7,默认是1/6的cpu clock,请参考数据手册上的说明。SYSCLK7: 1/6-rate clock for slow peripherals (GPIO, UART, Timer, I2C, SPI, EMIF16, etc.) and sources the SYSCLKOUT output pin.https://www.ti.com/lit/ds/symlink/tms320c6678.pdf

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: C6678器件驱动库
分享到: 更多 (0)