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中?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
suebillt
1楼-- · 2019-07-21 00:42
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-21 00:48
帮顶....
周小样
3楼-- · 2019-07-21 01:27
我之前用战舰做实验,将缓冲区定义在外部SRAM,将SD卡中的位图数据读取至该缓冲区,但是屏幕上不能显示图片,但是我将该区域定义在内部SRAM就没问题,唉不知道什么原因
匆匆过客01
4楼-- · 2019-07-21 04:13
 精彩回答 2  元偷偷看……

一周热门 更多>