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.

[参考译文] Linux/DRA746:McSPI 32位字长度问题

Guru**** 2546020 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/599826/linux-dra746-mcspi-32-bit-word-length-issue

器件型号:DRA746

工具/软件:Linux

您好、支持人员、

我有一个内核驱动程序、尝试通过 SPI 总线将固件加载到 DSP 上。  DSP 需要32位字长度、当我将 SPI 器件配置为32位字长度时、似乎没有数据发送到 DSP。  将字长切换为16或8以及发送到 SPI_WRITE 命令的数据类型似乎可以正常工作。  是否有使用32位字长度模式的示例?  我将以下配置用于 SPI 器件、当设置为每个字32位时、写入命令返回-22。  当设置为每个字8位和每个字16位时、SPI 工作正常、并在示波器上进行了验证。

uint8_t tmp ={0x01、0x02、0x03、0x04}

SPI->bits_per_word = 32;
SPI->MODE = SPI_MODE_3;
RET = SPI_setup (SPI);

RET = SPI_WRITE (SPI、(uint32_t*) tmp、1);

提前感谢您、

乔治

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

    尊敬的乔治:

    您使用的是 TI 电路板还是定制电路板? 是否使用 PSDKLA 3.02?

    [引用 USER="George Vigelette]DSP 需要32位字长、当我将 SPI 器件配置为32位字长时、似乎没有数据发送到 DSP。 [/报价]

    您是否意味着需要将数据从外部芯片(连接到 McSPI)传输到 DRA74x C66x DSP? 您正在使用哪个 McSPI 模块(SPI1、SPI2、SPI3、SPI4)? 在哪里可以找到 C66x DSP 需要32位传输?

    [引用 user="George Vigelette"]将字长切换为16或8以及发送到 SPI_WRITE 命令的数据类型似乎可以正常工作。

    这是否意味着到 C66x DSP 的8/16位传输正常?

    此致、
    帕维尔

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

    您好!

    我最终解决了我的问题、确保数据是32位对齐的、之后我看到的错误不再出现。  这就说明了我的小型测试数据阵列的工作原理。  此外、需要使用具有8位指针和4个计数的 SPI 写入命令来传输32位。

    谢谢、

    乔治

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

    感谢您分享解决方案。

    此致、
    帕维尔