我在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中?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>