TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2652RB: cc2652rb存sd卡实验报错

Part Number:CC2652RB

您好,我目前想要实现cc2652存sd卡的功能,但是现在遇到了一些问题,这是我自行设计的板子

我使用了sdk中的fatsd例程,并将对应管脚改成了我自己的板子对应的管脚 ,但是在烧录完成,程序运行过程中还是看到串口有报错 想问下该如何解决这个问题, sd卡也是fat32格式

Yolande Wang:

您好,

根据报错信息,新文件 ”fat:0:input.txt" 未创建成功。

其次看到 SD 卡似乎已经被正确格式化为 FAT 文件,文件系统正常。

建议您检查硬件配置,查看示例文档和 Board.html 文件,确保 SD 卡的连接和配置符合要求。

重点关注文档中关于额外跳线和硬件配置的信息,如果缺少这些设置,是会导致创建文件失败的。

,

Yolande Wang:

示例文档链接:file:///C:/ti/simplelink_cc13xx_cc26xx_sdk_7_10_02_23/examples/rtos/LP_CC2652RB/drivers/fatsd/README.html

 Board.html 链接:file:///C:/ti/simplelink_cc13xx_cc26xx_sdk_7_10_02_23/source/ti/boards/LP_CC2652RB/Board.html

,

Jiaqi Zheng:

你好,关于第一个文档readme.html,我看文档里好像没有详细介绍如果在某一步出错应该怎么排查和更正。然后关于第二个文档,我这边因为用的是自己的板子,…所以相当于只把板子的一部分当成了烧写器使用,我在串口工具中能看到输出应该也说明串口的设置没有问题,所以看了两个文件之后,还是没有排查出问题所在

,

Yolande Wang:

您好,

经过我的测试,FAT32 格式下的U盘我无法创建 fat:0:input.txt 文件;

然后我查阅了一下,发现 FAT32 格式下的文件名有 8.3 的限制,即 文件名长度不可超过8,文件的扩展名长度不可超过3。

您可以试试,将您要创建的文件名修改为符合规范的文件名。

期待您的测试结果。

,

Jiaqi Zheng:

确实有效果!改了文件名之后发现可以读写了,但是还是没有完成整个流程,sd卡里也没有发现文件

,

Yolande Wang:

您好,

请您试一试将 U盘格式化,而且名字不要有中文。

,

Jiaqi Zheng:

  似乎还是不太行

,

Yolande Wang:

您好,

下面是我根据已知的信息给出的排查建议:

1. 您可以先试试换一张其他的搭载FAT文件系统的U盘或者 sdcard 测试一下(注意如果您使用的是读卡器插sdcard的话,请记住关闭写保护),看看例程的写文件操作是否能正常运行;

2. 在步骤1里如果例程能够正常运行,那我们可以排除例程本身出错的可能。我们就可以将精力更多地放在原来的sdcard上。我们可以在原先的 sdcard 上新建一个txt文件并写入一些东西试试。可以直接在 cmd 里输入 "echo 'test' > E:\temp.txt",该命令是往您的sdcard(根据您提供的图片,盘符是E:\)写入了一个文件内容为 'test' 的 temp.txt 文件。如果有报错,那么说明原先的 sdcard 的写功能就是有异常的。

您先这样尝试一下,期待您更新进展。

,

Jiaqi Zheng:

根据您的第一点建议,我换了一张同样是fat32文件系统的32Gsd卡,现象与之前的sd卡相同。根据第二个建议,在cmd中输入相应代码可以在sd卡中写入文件。我现在怀疑还是硬件上的问题,想知道如果是自己的设计的板子,想要实现sd卡的功能应该满足哪些条件。因为示例的程序都是在开发板的基础上描述了board的一些设定等等,如果是自己设计的板子好像没有提到太多。

,

Yolande Wang:

您好,现在看下来是例程运行到 starting file copy 之后就停滞了。

这个问题有点复杂,我也需要深入研究。

请等候

,

Yolande Wang:

请问您现在是 MCU 芯片和 Sdcard 是如何连接的,焊接飞线吗?

,

Jiaqi Zheng:

是通过硬件电路板直接连接的,没有飞线

然后的话我用最早已经做成结构的那一块板子试了一下发现存sd卡的功能正常的,应该可以排除sd卡的问题,但是当时的那块板子已经做成结构不太方便调试了

,

Yolande Wang:

您好,

如果是同一张 sdcard ,在做成结构的板子上跑 fatsd 例程没有问题,说明可能就是现在电路连接的问题,您再仔细检查看看。

,

Yolande Wang:

请确认两个测试场景下的例程是一样的,没有修改过。

如果有修改过,请对比两个例程。

如果可以,把能正常运行的流程 log 截图也发上来。

,

Jiaqi Zheng:

做成结构的板子用的是我们自己的程序,不是例程,因为已经做成结构,所以不方便烧现在的例程,所以应该还是代码上出现了一点问题

,

Yolande Wang:

可能是 output.txt 目标文件的问题。

确保目标文件是否已经被创建。

,

Yolande Wang:

您正在引用 fatsd example 和 SDFatFS TI Driver。  在查看 fatsdr.c 文件时,执行了 else 里面的代码。

if (!dst){Display_printf(display, 0, 0, "Error opening \"%s\"\n", outputfile);Display_printf(display, 0, 0, "Aborting...\n");while (1) {}}else{Display_printf(display, 0, 0, "Starting file copy\n");}

您可以使用 CCS 调试器和其他 Debug_printf  语句进一步调查,以确定程序到底在哪里陷入困境。我还建议删除现有的 a1.txt,尝试不同的 SD 卡,或重新格式化 SD 卡.

,

Jiaqi Zheng:

已经解决啦,感谢您的耐心回答!

,

Yolande Wang:

不客气,欢迎随时来论坛交流!

赞(0)
未经允许不得转载:TI中文支持网 » CC2652RB: cc2652rb存sd卡实验报错
分享到: 更多 (0)