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.

[参考译文] RTOS/MSP430F5659:使用 SST25WF080B 支持 FATFS

Guru**** 2550550 points
Other Parts Discussed in Thread: MSP430F5659, MSP430FR5994, MSP430FR5969, MSP430F5529, MSP430FR6989

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/589279/rtos-msp430f5659-fatfs-support-using-sst25wf080b

器件型号:MSP430F5659
主题中讨论的其他器件: MSP430FR5994MSP430FR5969MSP430F5529MSP430FR6989

工具/软件:TI-RTOS

我们希望您  将 SST25WF080B SPI 存储器器件(主要是由于其低功耗)与 MSP430F5659搭配使用、并对此有与 TI-RTOS 支持相关的问题。

1) 1) TI-RTOS 是否支持此存储器器件、或者是否有人必须为此器件开发软件驱动程序。

2) 2)是否有我们必须遵守的 TI-RTOS 驱动程序 API 接口、才能使 FATFS 正常工作?

 

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

    [引用用户="Juan Gonzales]1) TI-RTOS 是否 支持此存储器设备,或者是否有人必须为此设备开发软件驱动程序。

    是的。 MSP430F5659器件由 TI-RTOS 支持。 不过、您需要为该器   件构建 driverlib 和 TI-RTOS 驱动程序(我们提供了 libs MSP430F5529、MSP430FR5969、MSP430FR5994和 MSP430FR6989)。 用户指南中包含了构建新库的步骤。

    [引用 USER="Juan Gonzales]2)我们 是否必须遵守 TI-RTOS 驱动程序 API 接口才能使 FATFS 正常工作?

    是的。 我们有一个可用作模板的 FatFS 驱动程序(SDSPI)。

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

    您好 Todd、

    上面的第1个问题是、我问 TI-RTOS 是否支持基于 SST25WF080B  SPI 的存储器件(功耗更低)。  如果没有、有人会如何添加对这种存储器设备的支持?

    我不确定是否有所有 SPI 存储器件都遵守的硬件/软件标准、因此、上述器件等 SPI 存储器只能与标准 SPI 驱动程序配合使用、或者是否需要为每个不同的存储器件编写软件驱动程序。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道用于 SST25WF080B 器件的 TI-RTOS 示例。 不同 MCU 上的不同 SPI 闪存器件有一个写操作、但概念是相同的。 我将把这个移到 MSP 论坛、看看他们是否了解任何其他示例。

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

    我从 MSP 论坛开始、但这是有关各种 SPI 闪存器件的 TI-RTOS 软件支持的问题。 我需要了解 SPI 驱动器在连接到各种存储器器件时的工作原理。

    是否为每个不同的存储器件编写了不同的驱动程序、或者是否有适用于各种 SPI 存储器件的标准驱动程序、因此可与 SST25WF080B 搭配使用。?

    我们是否有在 TI-RTOS 中支持的存储器器件列表?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    胡安

    对于 TI-RTOS、我们通常没有不同 SPI 闪存器件的示例。 很简单、太多无法实际支持。 我们有以下写操作:  

    它适用于 TM4C (M4F 器件)和 AT45DB SPI 闪存器件、但使用 TI-RTOS 中的 SPI 驱动程序。 MSP430和 TM4C 的 SPI 接口是相同的。 因此、该代码将非常适用。 我不知道 AT45DB 和 SST25WF080B 之间差异的技术细节、但没有太多 AT45DB 特定代码。 您可能必须更改 SPI 命令的长度或命令中的值。 例如、这里是写入的代码。

    bool AT45DB_writeBuffer (AT45DB_Handle handle、AT45DB_Transaction *事务)


    SPI_Transaction spiTransaction;
    unsigned char txBuffer[4];
    IArg 键;

    KEY = GateMutex_enter (GateMutex_handle (&(handle->gate)));

    waitForReady (handle);

    /*使用 SRAM 缓冲区2 */
    TxBuffer[0]= 0x87;
    TxBuffer[1]= 0x00;
    txBuffer[2]=(无符号字符)(0x3 &(事务->字节>> 8));
    txBuffer[3]=(无符号字符)(0xFF &事务->字节);

    /*初始化主 SPI 事务结构*/
    spiTransaction.count = 4;
    spiTransaction.txBuf = txBuffer;
    spiTransaction.rxBuf =空;

    /*启动 SPI 传输*/
    GPIO_write (handle->gpioCS、PIN_LOW);
    if (!spi_transfer (handle->spiHandle、&spiTransaction)){
    Log_Print1 (Diags_User1、"unsuccessful SPI transfer"、NULL);
    返回(false);

    spiTransaction.count =事务->data_size;
    spiTransaction.txBuf =事务->数据;
    spiTransaction.rxBuf =空;

    if (!spi_transfer (handle->spiHandle、&spiTransaction)){

    Log_Print1 (Diags_User1、"unsuccessful SPI transfer"、NULL);
    返回(false);

    GPIO_write (handle->gpioCS、PIN_HIGH);

    GateMutex_leave (GateMutex_handle (&(handle->gate))、key);

    返回(真);

    Todd