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/EK-TM4C129EXL:SPI 主器件传输失败

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/618750/rtos-ek-tm4c129exl-spi-master-transfer-fail

器件型号:EK-TM4C129EXL

工具/软件:TI-RTOS

我无法使 TM4C 上的 SPI 工作。  

SPI 初始化代码:

SPI_Params spiParams;
spi_init();//初始化 SPI 驱动程序
SPI_Params_init (&spiParams);//初始化 SPI 参数
spiParams.transferMode = SPI_MODE_BLOCKING;
spiH = SPI_open (Board_SPI0、&spiParams);
if (!spiH)
while (1); 

在任务中调用传递函数:

spiTransaction.count = 8;
spiTransaction.txBuf =(ptr) spiTxBuff;
spiTransaction.rxBuf =(ptr) spiRxBuff; 
spitransferOK = SPI_transfer (spiH、&spiTransaction);

在 ROV 中、我在 Hwi 下看到这个异常:

硬故障:强制:MEMFAULT:IACCVIOL 指令提取错误。 地址= 0xe000ed34

我已经尝试增加任务堆栈大小和增加 Hwi 堆栈大小。

我正在使用 TI-RTOS TM4C 的基本空白项目进行更新、以用作 http 服务器。

谢谢、

Dillon

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

    反向跟踪在 ROV->Hwi->异常视图中显示什么? 此外、还有本视频/ppt、其中讨论了可能有用的例外情况: training.ti.com/debugging-common-application-issues-ti-rtos

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

    以下是 ROV 提供的异常的所有信息。 我查看了 SPI 环回示例、找不到 SPI 不能在我的应用中工作的原因。 感谢你的帮助。

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

    图片中有几个细微的变化。

    异常发生在0x20013a78任务的任务上下文中。 您可以在 ROV->Tasks->Detailed 中查看这是哪个任务。
    2. PC 为0xbebebebe、TI-RTOS 将所有堆栈(任务和系统)初始化为默认值。 您可能会由于未初始化的局部变量或错误的指针而跳到那里。

    如果 ROV->Tasks->Call Stacks 中的调用堆栈不再为您提供信息,您可能需要在任务中添加一些内容,以确定问题发生的位置(例如,递增或 LED 闪烁的全局计数器)。

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

    因此我发现了第一个问题、我没有在事务之前初始化处理程序。 但是、现在我得到了以下结果:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否调用 Board_initSPI? 您是否能够使 SPI 回送示例(来自 TI-RTOS)正常工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来我没有取消注释。 它现在正在工作。 感谢你的帮助。 很抱歉我没有看到这个。