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.

[参考译文] TM4C129XNCZAD:需要和带有内置帧缓冲器的 LCD 屏幕。 基于 TIDM-TM4CFLASHSRAM 示例工程。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1354716/tm4c129xnczad-need-and-lcd-screen-with-a-built-in-frame-buffer-based-off-of-tidm-tm4cflashsram-example-project

器件型号:TM4C129XNCZAD
主题中讨论的其他器件: TIDM-TM4CFLASHSRAM

因此、我们目前有一个设备使用具有光栅输入的基本640 x 480屏幕。 问题在于我们使用外部 SRAM 作为 LCD 帧缓冲区、此更新的速度太慢、看起来不好。 基本上、像素数据会从外部闪存复制到内部存储器、然后进行转换、然后写回外部 SRAM (我假设需要再次通过 EPI 引脚将其复制到 LCD 光栅)。 总体而言、我们必须将数据三次移动到 EPI 引脚上、才能对640 x 480屏幕执行屏幕写入操作。 我尝试了许多不同的事情,以使这工作更快,但没有真正的运气。 我们旧器件的屏幕更新速度快得多、此器件是该代码的端口、除了更改微处理器架构之外、它应该是该器件的完全副本。 我被告知屏幕更新时间是不可接受的、需要改进、但从外部闪存复制内容到外部 SRAM 所需的时间有限、 外部闪存和外部 SRAM 均共享 EPI 引脚、该设计基于 TIDM-TM4CFLASHSRAM 示例。 TM4C129xnczad 内部没有足够大的 SRAM 来支持 LCD 帧缓冲区。 我希望通过使用具有内置帧缓冲区的 LCD 屏幕来找到解决方案、并正在寻找有关其中一个缓冲区的建议。 这将使我们不必制造一个全新的电路板。 是否有人有任何可以提供帮助的示例或建议? 有关代码的所有其他功能都能正常工作、但受旧代码复杂性的限制、受 EPI 引脚上存在外部闪存和 SRAM 所能实现的数据速率的限制。 非常感谢您的任何帮助!

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

    您好!

     我了解您所面临的问题、因为您已经提出了类似的主题。 看起来您仍然无法实现所需的性能。 我不知道该怎么说。" 看起来我的建议根本没有帮助。 我认为如果选择具有 内置帧缓冲区的 LCD、您将获得改进。 有许多 LCD 供应商、但这不是我的专长、我不能真正推荐最适合您需求的一家。 抱歉。  

     同时也是一个注意事项、我目前正在度假、由于互联网访问受限、我的回复将延迟。  

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

    说实话、Charles 你建议我使用内部 RAM 作为帧缓冲器、这是不可能的。 帧缓冲区必须至少是要写入屏幕的所有数据的大小、因此256kB 的帧缓冲区不足以用作以8、16或24 BPP 运行的640 x 480屏幕的 LCD 帧缓冲。 我只是想弄清楚这一点。  

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

    为什么不尝试使用微 DMA 或阅读 tm4c129数据表以 了解其是否可以通过间接寻址方式传输外部存储器?

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

    我正在尝试使用 uDMA、目前我们正在将数据从外部闪存复制到外部 SRAM、因此无法使用 uDMA、 我可以将大部分闪存数据移动到内部闪存、然后我可以使用 uDMA 将其复制到外部闪存中的 LCD 缓冲区。 我不知道什么是间接寻址,但会研究它感谢你的答复!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道什么是间接寻址,但会查看它感谢您的回复!

    通常、将数据字从累加器或其他 CPU 寄存器发送的32位存储器地址加载到 CPU 寄存器中。 将汇编程序语句添加到 C 模块可调用函数中的 Thumb 指令集也许能够做到这一点。