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.

[参考译文] TM4C1231E6PZ:对于 SSI0外设、支持 DMA?

Guru**** 2389930 points
Other Parts Discussed in Thread: TM4C1231E6PZ, EK-TM4C123GXL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1517600/tm4c1231e6pz-for-ssi0-peripheral-supports-dma

器件型号:TM4C1231E6PZ
Thread 中讨论的其他器件: EK-TM4C123GXL

工具/软件:

尊敬的 TI:

我正在使用 TM4C1231E6PZ MCU、我想知道 SSIO 是否支持本系列中的 DMA Rx 功能?

请确认此操作是否有效? 如果是、我可以采用哪一个示例?

此致、

Manoj。

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

    您好、

      TM4C1231E6PZ 支持用于 SSI 模块的 DMA。 您可以在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl\UDMA_demo 中找到 UDMA 示例。 该示例演示如何使用 UDMA 在存储器之间以及 UART 和存储器之间传输数据。 您应该能够根据 SSI 的通道映射参考 SSI 模块的示例并 进行修改、如 UDMA 使用数据表中所示。  

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

    尊敬的 Charles:

    我使用的是 CCS 版本20.1.1。 我面临的源代码调试在此版本中的结果是不同的。 有时它可以正常工作、如果不修改代码、它将无法正常工作。  

    我很难指出问题和想法或者可以高效使用代码生成器选项的任何稳定版本的 CCS IDE。 在这种情况下、我无法从.syscfg 中生成时钟  

    我在具有 TM4c1231e6pz 微控制器的定制电路板中也尝试了示例。 此示例已根据您对上一个回答问题的评论进行了修改。  

    请分享有关如何使用 CCS 生成代码和时钟生成的任何相关文档。 请告诉我您对此的想法。

    此致、

    Manoj。

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

    您好、

    我使用的是 CCS 版本20.1.1。 我面临的源代码调试在此版本中的结果是不同的。 有时它可以正常工作、如果不修改代码、它将无法正常工作。  [/报价]

    CCS20是基于 Theia 的最新 IDE。  调试源代码时遇到哪种类型的问题? 请详细说明。 如果您尝试单步执行代码并发现代码会跳回第四步、这是因为编译器优化。 您可以在代码开发期间关闭优化、并在代码被冻结后将其打开。 如果这不是您的问题、请详细说明、以便我可以将您的问题转发给我们的工具链专家。 最好打开一个新线程来解决 CCS 问题。

    [报价 userid="653802" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1517600/tm4c1231e6pz-for-ssi0-peripheral-supports-dma/5842709 #5842709"]

    我很难指出问题和想法或者可以高效使用代码生成器选项的任何稳定版本的 CCS IDE。 在这种情况下、我无法从.syscfg 中生成时钟  

    [/报价]

    .syscfg 主要用于基于 SimpleLink SDK 的 TI MCU/MPU。 对 TM4C MCU 使用.syscfg 没有好处、因为它基于 TivaWare SDK。 syscfg 对于 TM4C MCU 的作用只是引脚多路复用。 不能将.syscfg 用于时钟或外设配置。 要配置 TM4C123的时钟、只需调用  SysCtlClockSet () API。 请参阅以下示例以 PLL 作为时钟源来配置50MHz 的系统时钟。 请从 https://www.ti.com/tool/SW-TM4C 下载 TivaWare SDK。 您可以在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl 下找到 TM4C123的示例。 导入任何一个工程以了解时钟和外设的初始化方式。  

    //
    //将系统时钟设置为从具有晶体基准的 PLL 以50MHz 运行
    //
    SysCtlClockSet (SysCtl_SYSDIV_4|SysCtl_USE_PLL|SysCtl_XTAL_16MHz|
    SysCtl_OSC_MAIN);

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

    尊敬的 Charles:

    我遇到了以下问题:

    1. IDE 进入调试模式后,固件运行将立即停止。 我们开始调试多少次时将没有响应。 如果我执行内核复位或电路板复位、则调试模式将平滑地工作。

    2.固件包含计时器中断和 SPI0 DMA 中断。 固件的行为就像我尝试三次相同固件调试一样、2次计时器从不产生中断、1次计时器将产生中断。

    在当前固件中、我使用了这样的时钟初始化  

      SysCtlClockSet (SysCtl_SYSDIV_4|SysCtl_USE_PLL|SysCtl_OSC_MAIN |SysCtl_XTAL_16MHz);
     
     
    请告诉我您对我在使用最新版本的 CCS 时遇到的上述场景的评论。
    此致、
    Manoj。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1. IDE 进入调试模式后,固件运行将立即停止。 我们开始调试多少次时将没有响应。 如果我执行内核复位或电路板复位、则调试模式将平滑地工作。

    [/报价]

    当调试器停止处理器时、处理器将无法处理中断。 这是预期行为。 您甚至可能会获得接收溢出标志、因为 RXFIFO 被新数据覆盖、但处理器暂停、无法读取 FIFO 中的先前数据。

    2.固件包含计时器中断和 SPI0 DMA 中断。 固件的行为就像我尝试三次相同固件调试一样、2次计时器从不产生中断、1次计时器将产生中断。

    [/报价]

    我不明白您的意思是、计时器中断两次都不会产生。 为什么您不在计时器 ISR 上放置断点? 它在断点处停止吗?  

    [/quote]