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.

[参考译文] CCS/EK-TM4C123GXL:测试 TM4C 上 SPI 闪存的示例应用

Guru**** 2611705 points
Other Parts Discussed in Thread: EK-TM4C123GXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/771402/ccs-ek-tm4c123gxl-example-application-to-test-the-spi-flash-on-tm4c

器件型号:EK-TM4C123GXL
主题中讨论的其他器件: TM4C123GH6PMTM4C123

工具/软件:Code Composer Studio

大家好、

我正在检查 连接到 SSI0的 EK-TM4C123GXL 上的 SPI 闪存(MX25R6435F)。 使用  以下链接中的、我们为 EK-TM4CGXL 移植了它。

https://e2e.ti.com/support/microcontrollers/other/f/908/p/392228/1469297

附加了修改后的项目 e2e.ti.com/.../Memory_5F00_board.7z

我无法在 CCS 上运行调试会话。  工具栏上的"恢复"、"暂停"和"终止"按钮处于禁用状态、我 对正在运行的程序没有控制权。

我 使用的是 Code Composer Studio 8.1.0版本。 其他示例在使用相同设置的调试模式下工作正常。  

基本上、我们需要验证 TM4C 上的 SPI 闪存。 我感谢您的任何建议。

谢谢你。

此致、

Ambika  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为问题的根本原因是、您正在尝试将使用超过48KB RAM 的项目导入到仅具有32KB RAM 的部件中。 您的链接命令文件 tm4c123ghp6.cmd 具有 TM4C129x 器件的存储器大小、而不是 TM4C123器件的存储器大小。

    您必须减小"NUM_SSI_DATA"的大小、1024应该可以正常工作。 此外、我建议您首先从以下位置导入项目:
    C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c123gxl\project0
    重命名工程、然后删除"project0.c"文件并复制到 TM4C129_SSI3_MacronixFlash.c 文件以及 uartstdio.c 和.h 中 这样、您将获得正确的启动文件和正确的链接命令文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bob:

    非常感谢 。

    我能够解决调试问题。 我们的设置所需的修改已完成。 请注意、我们使用单个 IO SPI、而从链路使用的参考代码用于 QSPI。 我们面临以下问题:

    • 当 Bitrate 按如下方式设置为16MHz 时, SSIConfigSetExpClk()函数永远不会返回。

    SSIConfigSetExpClk (SSI0_BASE、SysCtlClockGet ()、SSI_FRF_MOTO_MOTO_0、SSI_MODE_MASTER、16000000、 8);

    • 然后我尝试将比特率更改为1MHz 和2MHz,然后 SSIConfigSetExpClk()返回到主函数,但函数 SSILibSendReadIDAdvMode()中的 ui32MfgID 和 ui32DevID 读作0。 根据 SPI 闪存器件数据表、 ui32MfgID = C2和 ui32DevID = 17。
    • 我们在读取器件 ID (SSISendLibReadIDAdvMode())时发送90h、后跟3个00h 字节、但我们从未在 LA 的 MOSI 线路上看到90h 数据。

    FYR:随附的代码和采集的 LA 图像。

    请帮助我们解决此问题 problem.e2e.ti.com/.../2577.TM4C129_5F00_SSI3_5F00_MacronixFlash.c

    Regads、

    Ambika

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果器件位于单独的 PCB 上、我怀疑16MHz 速度太快。 如果您已在逻辑分析仪上验证您从 TM4C 获得了正确的波形、但未从 Macronix 闪存中获得、请联系 Macronix 以了解有关配置芯片的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我误读了您的帖子。 您说过您在 TM4C 器件中看不到正确的0x90。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我运行了您的代码(但我没有连接 Macronix 芯片)。 我看到 SSI 发出0x90命令。 但请注意、在图片中、FSS 会在每个字节之后上升。 这是因为 TM4C123器件没有 TM4C129x 器件等帧保持功能。 要使用 TM4C123器件满足 Macronix 要求、您需要将 CS 信号配置为数字输出、并在软件传输的开始和结束时驱动它。

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

    尊敬的 Bob:

    您说得对、我们没有在 LA 上正确观察到数据包。   复位后不久、发送到 SPI 的90h 数据就会出现在采样的开始部分。

    根据您的建议、我们将 CS 配置为 GPIO 输出引脚、 在传输开始时驱动为低电平、在传输结束时驱动为高电平

    我们无法读取器件 ID、TM4C MISO 上 SPI 闪存的响应始终为0。  

    已连接 LA 输出以供您参考。

    谢谢你。  

    此致、

    Ambika

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果进入 Macronix 芯片的信号正确、但 Macronix 芯片的响应不正确、则问题出在 Macronix 芯片中。 检查 Macronix 数据表以确保正确连接了芯片。 遗憾的是、我无法帮助您调试 Macronix 芯片的问题。 您可能希望联系他们以获得帮助。