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/TM4C129DNCPDT:调用 SDSPI_OPEN API 时固件崩溃/停止

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/607885/rtos-tm4c129dncpdt-firmware-crash-halt-when-calling-sdspi_open-api

器件型号:TM4C129DNCPDT

工具/软件:TI-RTOS

大家好、

为了向您简要介绍我的任务、我目前正在通过 EPI 接口在外部闪存/SRAM 上运行固件。 我能够通过 UART 进行打印、进行 CAN 通信等 但是、当打开 SD 卡接口(SDSPI_OPEN)时、固件会停止或崩溃(当固件在连接的 EPI 存储器上运行时无法调试)。 我已验证 SD 卡 IO 和 EPI IO 是否冲突。

我最初在内部闪存中运行了相同的固件、并连接了 EPI SRAM/FLASH (未激活)、SD 卡访问工作正常。

我想知道 SDSPI TIRTOS 库是否存在一些时钟限制、因为接口存储器中的固件限制为30MHz。

提前感谢。

-Prajnith

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

    [引用 USER="Prajnith Kumar ]'当固件在连接的 EPI 存储器上运行时无法进行调试)。 [/报价]

    我觉得这有点奇怪。 你确定吗? 这是否记录在某个位置?

    即使这样、也不会阻止您进行调试。 即使通过切换单个引脚、您也可以快速缩小发生故障的区域(只要搜索操作不会改变错误)。

    Robert

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

    感谢您的快速回答、嗯、我已经发布了固件驻留在外部存储器中时无法调试(添加断点)的问题
    (e2e.ti.com/.../602028)
    我收到了 TI 论坛成员的回复、即由于 M4 cortex 存储器寻址限制为1Gbits 而不支持该器件、我从 TI 支持获得了相同的答案。

    关于当前的 SD 卡问题、我已经启用了 UART 打印功能、并且我已经在 SDSPI_open 函数之前和之后进行了打印、并且在执行期间、我在 SDSPI_open 函数调用之后不会得到任何打印。

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

    您好、Robert、

    我发现了这个问题,这是个错误。 在硬件端、我在 SD 卡模块将片选拉至接地、但在代码中、SDSPI_open 在内部考虑了将片选作为端口 C.7的枚举、该端口映射至 EPI 引脚、 因此、当调用 SSI 密钥时钟启用 API 时、它会使固件崩溃。 由于 SDSPI_open 位于库中、无法在代码崩溃的地方进行内部跟踪、因此调试起来不太困难。

    再次感谢您的时间和支持。

    -Prajnith