工具/软件:TI-RTOS
您好!
我在运行 SPI 示例项目(MCSPI_BasicExample_idkAM437x_armExampleProject)时遇到问题。
我已安装的版本:
- 电路7.2.
- BIOS_6_46_05_55
- EDMA3_LLD_2_12_05_29
- PROCESSOR_SDK_RTOS_AM437X_4_01_00_06
- PDK_AM437X_1_0_8
- xdctools_3_32_01_22_core
安装 CCS 和 processor_SDK 后、我已使用 setupenv.bat 批处理文件设置 env。
在这之后、我为所有目标重建了 PDK "gmake clear"、然后重新构建了"gmake all"、然后我使用 pdkProjectCreate.bat 构建了示例和测试项目(同样、对于所有目标)。
我能够将上面提到的项目导入到 CCS 中、并成功构建了该项目并将其加载到工业开发套件(XDS200调试探针)中。
我已经检查了 idk 的原理图和引脚多路复用(am43xx_idkevm_pinmux_data.c)、并看到 SPI3多路复用为 AE22、AB20、AC21和 D11引脚、这些引脚连接到 idk 上的 J16:
- AE22 - J16/17
- AB20 - J16/29
- AC21 - J16/27
- D11 - J16/10
我已将应用程序中的默认 SPI 索引从1更改为3、以使用 SPI3外设而不是 SPI1。
代码编译和链接无问题、所有初始化函数无错误返回、SPI_Transmit 函数返回时配置为发送的正确字节数、但 J16头文件上的引脚根本不会移动。
我还尝试将0用作 SPI 外设的索引(SPI3是 gMcspiPinCfg 阵列中的第0个元素、所以我尝试了它)、但结果是相同的。
我进一步研究了这个问题、并开始调试初始化函数、即 Board_init (boardCfg);函数。
在 Board_pinmuxConfig()函数中 ,status = PINMUXModuleConfig (CHIPDB_MOD_ID_MMCSD,0U,NULL)函数返回-14,这使得此行后面的所有函数都不会被调用(包括 MCSPI 的 PINMUXModuleCOnconfig)。
据我所知、这是因为在默认的引脚多路复用配置中没有配置 MMCSD。
我已经尝试用调试器覆盖状态变量、以让执行继续并初始化 MCSPI、它返回0、看起来不错、但我仍然无法测量前面提到的引脚上的任何值。
如果有任何帮助,我们将不胜感激。
提前感谢。