Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
详细信息:
TI-RTOS 与配合使用
PDK 1.0.7、
SYSBIOS 6.46.5.55、
EDMA3LLD 2.12.4
Linaro GNU 编译器4.9.3
定制板。 而不是仿真板。
正在从之前的项目中移植代码、该项目在具有 FATFS 的 C6748上通过 SYSBIOS。
我缺少什么吗?
那么、这是我的问题。 我们正在尝试让具有 SDCard 驱动程序的 FATFS 在我们的电路板上工作。 为了代替 SDCard、我们使用连接到 MMC0的4GB eMMC 存储芯片、我将使用示例项目 MMCSD_FatfsConsole_evmAM335x_DMA_armExampleProject 作为设置所有内容的基础。 我使用以下 代码设置 SDCard 和 FATFS:
gEdmaHandle =(EDMA3_RM_Handle) edma3init (0、&edmaResult);
if ((edmaResult = EDMA3_DRV_Sok)&&(gEdmaHandle!= NULL))
{
if (mMCSD_socGetInitCfg (0、hwAttrsConfig)!= 0){
//MMCSD_LOG ("\n 无法获取 MMCSD config.exiting。 测试失败。\r\n);
返回;
}
hwAttrsConfig.edmaHandle = gEdmaHandle;
if (mMCSD_socSetInitCfg (0、hwAttrsConfig)!= 0){
//MMCSD_LOG ("\n 无法设置 config.exiting。 测试失败。\r\n);
返回;
}
/* MMCSD FATFS 初始化*/
FATFS_INIT();
FATFS_OPEN (0U、NULL、FatfsHandle);
(笑声)
}
一切看起来都很好。 我不会遇到任何错误。 当我尝试按如下方式执行 f_open 时: 结果= f_open (&pf、p_filename、fa_open_existing | fa_read);
我的结果是 FR_NOT _ENABLED。 当我浏览 FATFS 网站()
时,我会看到这意味着什么(因为“文档没有解释它) 我发现这意味 着"f_mount 函数尚未注册逻辑驱动器的工作区"、因此我想知道我缺少什么、因为我认为没有这个示例项目就无法继续。
在我们的最后一个项目中、我们必须发出 f_mkfs 来格式化驱动器并创建文件系统。 当我尝试在项目中包含此调用时、我收到一个错误:未定义引用、即使该调用的原型位于驱动程序内的 ff.h 中。 我评论了这个问题、因为我在示例项目中没有看到任何这样的调用、所以我只是假设驾驶员为我处理了这个问题。
此外:创建的旧文件系统从"1:\\Folder\file"开始,我不确定 FATFS 的实施是否仍以相同的方式运行




