我们板子是仿照at91sam9263ek板做的。但是只在 EBI0的CS0上接了一个sst39vf6401B的nor flash,没有接dataflash。
仿真器采用Jtag,软件采用jlink。
现在用jlink无法直接进行flash烧写。
没办法,只能从最底层开始调试。:(
用atmel的工程范例basic-norflash-project-at91sam9263-ek进行板子调试。
但是在到了BOARD_ConfigureNorFlash48MHz(busWidth[i] * 8)时,识别不了该flash。
好像atmel的工程范例里只支持amd,Intel的flash。
void BOARD_ConfigureNorFlash48MHz(unsigned char busWidth)
{
// Configure SMC
AT91C_BASE_SMC0->SMC_SETUP0 = 0x00000001; // 这几个值表示什么?
AT91C_BASE_SMC0->SMC_PULSE0 = 0x07070703;
AT91C_BASE_SMC0->SMC_CYCLE0 = 0x00070007;
AT91C_BASE_SMC0->SMC_CTRL0 = (AT91C_SMC_READMODE
| AT91C_SMC_WRITEMODE
| AT91C_SMC_NWAITM_NWAIT_DISABLE
| ((0x1 << 16) & AT91C_SMC_TDF));
if (busWidth == 8) {
AT91C_BASE_SMC0->SMC_CTRL0 |= AT91C_SMC_DBW_WIDTH_EIGTH_BITS;
}
else if (busWidth == 16) {
AT91C_BASE_SMC0->SMC_CTRL0 |= AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS;
}
else if (busWidth == 32) {
AT91C_BASE_SMC0->SMC_CTRL0 |= AT91C_SMC_DBW_WIDTH_THIRTY_TWO_BITS;
}
}
目前的问题是:
sst39vf6401B的SMC设置有什么特别的地方?
哪里能找到sst39vf6401B驱动的,能共享一下吗?特急,谢谢了。 |