This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/LAUNCHXL-CC2650:将 SD 卡与 LAUNCHXL-CC2650相连

Guru**** 2587365 points
Other Parts Discussed in Thread: LAUNCHXL-CC2650

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/587699/ccs-launchxl-cc2650-interfacing-sd-card-with-launchxl-cc2650

器件型号:LAUNCHXL-CC2650

工具/软件:Code Composer Studio

大家好、

我正在使用 LaunchPadXL-CC2650、并尝试连接它以读取/写入 SD 卡(高容量卡)。 我在低层次语言(C 语言和汇编语言)方面的经验很少。 是否有人可以帮助我了解连接的关键点、以便我可以使它变得简单?

我已经阅读了一些文档并注意到我需要执行以下初始化、但我不知道如何将它们放入代码中:

  • 初始化 SPI 并等待74个时钟周期、sel 设置为高电平
  • 通知 SD 卡、我们希望通过 SPI 进行通信并进入空闲状态
  • 检查电压支持、告诉卡离开空闲状态并准备好接收命令。

如何实现上述命令? 非常感谢。

Henry

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Henry、

    TI 不提供 LAUNCHXL-CC2650的 SD 卡示例;但是、论坛上的一些人正在使用 TI SPI 驱动程序进行相关工作。 我建议您使用搜索功能查找相关帖子。

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:LAUNCHXL-CC2650

    工具/软件:TI-RTOS

    我实施了基于 SDSPITiva 的 SDSPICS26xx 驱动程序、以连接 SPI 驱动程序和 SD FATFS。 我的程序可以安装 SD 卡并"请求"SPI 通信(SD_SPI_open、SD、芯片选择、SD_芯 片选择、SD_initialize)、但我无法读取/写入数据、也无法调用任何 FATFS 函数。


    移植的驱动程序中的某个位置可能出现了什么问题、如何修复?

    #include 
    
    /* XDCtools 头文件*/
    #include 
    #include 
    #include 
    #include 
    
    /* BIOS 头文件*/
    #include 
    #include 
    
    #include 
    
    /*板头文件*/
    #include "Board.h"
    #include "sd.h"
    
    void MySPITASK (UARg arg0、UARg arg1){
    扇区[2];
    memset (&sectors、0xff、sizeof (sectors));
    SD_State extFlashState;
    memset (&extFlashState、0、sizeof (extFlashState));
    UINT n = 0、I = 0;
    
    System_printf ("start\n");System_flush ();
    
    if (!sd_open (&extFlashState)){
    System_printf ("ExtFlash_open 失败\n");
    转至清理;
    }
    
    sd_Ioctrl (&extFlashState、get_sect_count、&n);
    
    SD_IOctrl (&extFlashState、get_sector_count、&n);
    
    if (!sd_diskWrite (&extFlashState、Sectors、 0、sizeof (sectors)/sizeof (sectors [0]))){
    System_printf ("ExtFlash_diskWrite 失败\n");
    转至清理;
    }
    
    清理:
    SD_Close (&extFlashState);
    System_printf ("done");
    system_flush();
    
    } 

    写入多个块(在函数 SDSPITiva_diskWrite 中)时、WAIT_READY 函数返回值0xFF、这可能意味着它处于忙状态、因此我得到输出"SD_diskWrite 末端"  ExtFlash_diskWrite Failed"

    此外、将此路径添加到我的程序中以包含"C:/ti/tirtos_cc13xx_cc26xx_2_21_00_06/products/tidrivers_cc13xx_cc26xx_2_21_00_04/packages/ti/mw/fatfs 和以下代码、

    #include 
    (笑声)
    //打开并初始化 SPI 和 SD 后:
    FATFS FatFs;/*逻辑驱动器的工作区域(文件系统对象)*/
    fil fil; /*文件对象*/
    f_open (&fil、"message.txt"、fa_create_new);
    ... 

    我遇到错误:未解析的符号 ti_mw_fatfs_getFatTime、首先引用 C:\ti_tirtos_cc13xx_cc26xx_2_20_01_08\products\tidrivers_cc13xx_cc26xx_2_20_01_10\packages/ti\mw\fatfs\lib\release\ti.mw.emfs.aem3.aemfs tirtos_lab1_cc2650launchxl C/C++问题

    如何解决? 谢谢。

    Henry

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    将以下脚本添加到您的*。cfg 文件中

    VAR FatFS = xdc.userModule('ti.mw.fastfs.FatFS');

    var 时间戳= xdc.userModule('xdc.runtime.Timestamp');