大家好,我参考了Mini板的源码,用STM32F103C8T6+SD卡+FATFS时碰到问题,板子不带SPIFlash,看样子是内存的问题,报错如下:
compiling main.c...
compiling ff.c...
compiling cc936.c...
compiling exfuns.c...
..FATFSexfunsexfuns.c(124): warning: #223-D: function "delay_ms" declared implicitly
delay_ms(1000);
..FATFSexfunsexfuns.c: 1 warning, 0 errors
compiling fattester.c...
linking...
..OBJRoadDetector.axf: Error: L6406E: No space in execution regions with .ANY selector matching cc936.o(.constdata).
。。。。。。
..OBJRoadDetector.axf: Error: L6407E: Sections of aggregate size 0x322f8 bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 358 error messages.
"..OBJRoadDetector.axf" - 358 Error(s), 1 Warning(s).
Target not created.
Build Time Elapsed: 00:00:03
因为看了之前的贴子,说内存池改小试试,我修成了
#define MEM_MAX_SIZE 15*1024
问题是:移植完了FATFS之后编译没有错误,但是当我做测试时,调用了下面的函数就出现上面的报错信息。
u8 w_buffer[]={"123456789"};
void ExFatfs_Test(void)
{
u8 res;
res = mf_open("0:/Data",FA_READ);
if(res==FR_OK)
{
// res = mf_write(w_buffer, 5);
}
}
我在Mini板的源码上也同样添加了这个测试函数,编译是通过的。
比较了C8T6,芯片的FlashSize有64K,而Mini板RCT6 FlashSize是256K,原子哥,请问现在这种情况,怎么解呢?代码可以修改哪里呢?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
void ExFatfs_Test(void)
{
u8 res;
res = mf_open("0:/Data/123.txt",FA_READ | FA_WRITE | FA_OPEN_ALWAYS);
if(res==FR_OK)
{
usb_printf("openfile ok! ");
res = mf_write(w_buffer, sizeof(w_buffer));//这个地方不是把w_buffer的内容写到SD卡123.txt中去了吗?怎么不成呢?不解。。。。
if(res==FR_OK) usb_printf("writefile ok! ");
res = mf_read(sizeof(w_buffer));
if(res==FR_OK) usb_printf("readfile ok! ");
}
}
一周热门 更多>