FATFS实验中把数组指针指向SDRAM(SRAM)中读取SD卡错误?

2019-07-20 23:11发布

我在LPC1788上测试SD卡的FATFS,
定义SD卡的数据缓冲区
FATFS fs[_VOLUMES];//
FIL file;   /
FIL ftemp;   //
UINT br,bw; //
FILINFO fileinfo; //?
DIR dir;   /
extern uint16_t *fatbuf;//
extern uint16_t *buffer;
给他们分配内存地址到SDRAM中,单片SDRAM,其余的SD变量都是在片内ram
 #define fatbuf_BASEADDR ((uint32_t)SDRAM_BASE_ADDR + 0x600000)
 #define buffer_BASEADDR ((uint32_t)SDRAM_BASE_ADDR + 0x700000)
fatbuf=(uint16_t*)fatbuf_BASEADDR; // 
buffer=(uint16_t*)buffer_BASEADDR; //
测试之后dr变量一直是4(读取到的文件字节数)ceshi=f_open (&file, "text.txt", FA_READ);
用单步调试发现,SDRAM中的那块内存压根没动过,难道这个不能分配到片外SDRAM中?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。