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

C6743 SPI外接FLASH的映射地址是多少啊??????怎么在数据手册上没看到呢

C6743 SPI外接FLASH的映射地址是多少啊??????怎么在数据手册上没看到呢

Shine:

没有DSP映射地址,是从spi flash地址0开始。

user1853832:

回复 Shine:

我想看擦除命令具体执行了没有怎么看啊?一般不都是看物理地址是不是都变成FF了吗?

Shine:

回复 user1853832:

串口flash要去读的.

并口flash有地址线,可以映射到DSP,看物理地址。

user1853832:

回复 Shine:

哦哦,另外还想请教一下C6743 的SPI flash 是不是在有数据传输时片选自动变低,数据传输完后自动变高???

Shine:

回复 user1853832:

是的,有数据传输时变低。数据传完后是否变高还是维持低电平,要看SPIDAT1.CSHOLD这位是0还是1?是0的话,会变高。

是1的话,保持低电平。

user1853832:

回复 Shine:

您好,我设置的SPIDATA.CSHOLD为0,单步运行程序时用示波器一直观察CS引脚,一直是高电平,无任何变化;但是Run整个程序上时观察CS引脚波形是脉冲形式,有高低电平变化,而且高低电平时间比是1:8,这是为什么呢?

另外,我现在去读Flash的ID,读出来的确一直是0;

Shine:

回复 user1853832:

不知道你指的单步是运行什么样的指令?

CSHOLD是在数据传完后才显现。

user1853832:

回复 Shine:

单步是CCS3.3环境下的Step into (F11键)

Shine:

回复 user1853832:

单步执行了什么样的代码?

 

user1853832:

回复 Shine:

statusbuf[0]=spiflash_CMD_RDID;

statusbuf[1]=0; statusbuf[2]=0; statusbuf[3]=0;

 spiflash_cycle(statusbuf,3);

void spiflash_cycle(Uint8 *buf,Uint16 len){

Uint16 i;

/* Clear any old data */ SPI_SPIBUF;

/* spiflash access cycle */ for(i=0;i<=len;i++) { // Wait for transmit ready while( SPI_SPIBUF & 0x10000000 ); if (i == len ) SPI_SPIDAT1 = (SPI_SPIDAT1 & 0x0ffc0000) | buf[i] ; else { SPI_SPIDAT1 = (SPI_SPIDAT1 & 0xffff0000) | buf[i]; }

// Wait for receive data ready while ( SPI_SPIBUF & ( 0x80000000 ) );

/* Read 1 byte */ buf[i] = SPI_SPIBUF; }}

赞(0)
未经允许不得转载:TI中文支持网 » C6743 SPI外接FLASH的映射地址是多少啊??????怎么在数据手册上没看到呢
分享到: 更多 (0)