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.

[参考译文] TDA4AL-Q1:如何使用 MCU_spi0总线?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1233169/tda4al-q1-how-to-use-mcu_spi0-bus

器件型号:TDA4AL-Q1

我们在 mcu1_0中使用 mcu_spi0总线主模式 、但在基本代码中、这些引脚已配置为 GPIO、因此首先我在 J721S2_pinmux_data.c 中将这些引脚配置为 mcu_spi0总线 、但它现在测试了低电平、为什么?

1、这里有一些代码要等待从机准备就绪,需要这个代码吗?  我修改示例代码 main_mcspi_slave_mode.c

#如果  需要1 //此代码?
#if defined (SOC_J721E)|| defined (SOC_J7200)|| defined (SOC_J721S2)|| defined (SOC_J784S4)
   while (*((volatile uint32_t *)(MCSPI_SYNC_ADDR))!= 0x1234U)
   {
   appLogPrintf ("dengyongde masterTaskFxn SPI_task    、而任务生成%x!!!\n"、*(volatile uint32_t *)(MCSPI_SYNC_ADDR));

#if 定义(RTOS_ENV)
       taskp_yelle();
#endif
       /*等待从机启动。 */
       CacheP_Inv ((void *) MCSPI_SYNC_ADDR、4);
appLogPrintf ("dengyongde masterTaskFxn SPI_task11    、而任务生成%x!!!\n"、*(volatile uint32_t *)(MCSPI_SYNC_ADDR));
   }
#if 定义(RTOS_ENV)
   /*在同步后添加小延迟。
    *在主设备启动传输之前从设备准备就绪。 */
   TaskP_sleepInMsecs (1000);
#endif
#endif
#endif

2,---------------- 接下来是配置引脚多路复用

#if 1.
静态 pinmuxPerCfg_t gMcu_spi0PinCfg[]=

  
      /* MyWKUP_GPIO0 -> WKUP_GPIO0_69 -> B25 */
    {
       PIN_MCU_SPI0_CLK、PIN_MODE (0)|\
       ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
   }、
   #if 0
      /* MyWKUP_GPIO0 -> WKUP_GPIO0_70 -> B26 */
   {
       PIN_MCU_SPI0_CS0、PIN_MODE (0)|\
       ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
   }、
   #endif
   #if 1.
     /* MyMCU_UART0 -> MCU_UART0_TXD -> C25 CS1*/
   {
       PIN_WKUP_GPIO0_12、PIN_MODE (1)|\
       ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
   }、
   #endif

     /* MyWKUP_GPIO0 -> WKUP_GPIO0_55 -> D24 */
   {
       PIN_MCU_SPI0_D0、PIN_MODE (0)|\
       ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
   }、
   /* MyWKUP_GPIO0 -> WKUP_GPIO0_69 -> B25 */
    {
       PIN_MCU_SPI0_D1、PIN_MODE (0)|\
       ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
   }、
   {PINMUX_END}
};
静态 pinmuxModuleCfg_t gMcu_spi0mPinCfg[]={
 {0、true、gMcu_spi0PinCfg}、

   {PINMUX_END}
};
#endif

3、

此外、我还在代码中找到一些配置、两个偏移是正确的吗? 为什么不选择0xA0 0xA8。

#define MCU_SPI0_CLK_PADCFG_OFFSET     (0x90U)
#define MCU_SPI0_D1_PADCFG_OFFSET      (0x98U)

因为 B25 0x4301C0A8是 MCU_spi0_D1、所以它应该是0xA8

#if 1.
#if defined (SOC_AM65XX)|| defined (SOC_J721E)|| defined (SOC_J7200)|| defined (SOC_J721S2)|| defined (SOC_J784S4)
#if ((__arm_arch == 7)&&(__arm_arch_profile =='R')
   /*配置 MCU SPI0_D1引脚多路复用、因为电路板中默认未设置该引脚复用*/
   HW_WR_REG32 ((WKUP_PINMUX_REG_BASE + MCU_SPI0_D1_PADCFG_OFFSET)、PIN_MODE (0)|\
               ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION));
   /*配置 MCU SPI0_CLK 引脚多路复用以支持环回*/
   HW_WR_REG32 ((WKUP_PINMUX_REG_BASE + MCU_SPI0_CLK_PADCFG_OFFSET)、PIN_MODE (0)|\
               ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION));
#endif
#endif

#endif

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

    您好!

    我是否可以知道您使用的是 PDK SPI 或 MCAL SPI 的哪个 SPI 驱动程序? 这是哪个 SDK 版本?

    此致

    Tarun Mukesh

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

    我使用此驱动程序 "tda4-s2/rtos-sdk/pdk_j721s2/packages/ti/drv/spi" 并参考示例 main_mcspi_slave_mode.c  。   SDK 版本为8.6

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

    此外、 我没有找到如何  在 SPI_v1_HWAttrs 中配置 MCU_SPI0_CS0或 MCU_SPI0_CS0此结构 、但我 在 OSPI_V0_HwAttrs 结构中找到了芯片选择。 如何设置 SPI 驱动器中的哪种 C?

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

    以及如何在 SPI 驱动器中添加日志

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

    您好!

    我们在 MCAL 中有 SPI 驱动程序、我们还有相应的示例以及 mcusw/mcal_drv/mcal/examples/spi/mcspi_app/soc/j721s2/mcu1_0/McspiApp_Startup.c

    其中 mcusw/mcal_drv/mcal/examples_config/SPI_Demo_Cfg/output/soc/j721s2/mcu1_0/src/spi_Cfg.c 中存在 API

    此致

    Tarun Mukesh

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

    您好!

    您可以使用 在主模式下使用 MCU_spi0 作为环回的 MCAL 驱动程序示例吗?

    此致

    Tarun Mukesh

x 出现错误。请重试或与管理员联系。