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.

[参考译文] DLPDLCR160CPEVM:通过 UART 读取/写入存储在闪存中的启动界面

Guru**** 2390755 points
Other Parts Discussed in Thread: DLPDLCR160CPEVM, DLPC3421

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

https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1525466/dlpdlcr160cpevm-read-write-the-splash-screens-stored-in-flash-via-uart

器件型号:DLPDLCR160CPEVM
Thread 中讨论的其他器件: DLPC3421

工具/软件:

您好:

我想使用 DLPDLCR160CPEVM 显示定制的 640x320 图像。

(用例:在 EVM 内部闪存上加载~8 个图像,每隔几秒发送一次请求以显示其中一个图像)

根据 DLPDLCR160CPEVM 用户指南 (DLPU131A.pdf)、我们将指导我使用 UART(又名串行)端口作为主通信接口。

阅读 DLPDLCR160CPEVM 软件编程人员指南 (DLPU134.pdf) 后、我很好地了解了如何构建 UART 帧来将命令传送到 DLPC3421。

在阅读 DLPC3421 软件编程人员指南 (DLPU115B.pdf) 时、我可以理解并成功实现一些命令、如 读取短暂状态 (D0h)、 读取启动界面标题 (0Fh) 或显示 8 个预加载初始屏幕 ( 写入启动界面选择 0Dh+写入输入源选择 05h +写入启动界面执行 35h )。

我现在想能够读取(和重新写入)闪存中预加载的启动界面(我估计通过 UART 在闪存中写入 640x320 16 位图像大约需要 1 分钟)

但我不知道如何读取/写入闪存。

根据我的理解、流程将是:

  1. 通过将“闪存读取/写入指针“放置在正常地址处 写入闪存数据类型选择 (DEh)
    • 此命令的参数应为 4 个字节:
      • 第 1 个字节:“部分用户启动界面集“、但它未在表 3-125…… 我应该使用什么值?
      • 第 2 个字节:“启动界面编号“、因此介于 00h 和 07h 之间
      • 第 3 个字节和第 4 个字节:“n/a"。“。 我应该为两者都使用 00h、还是只使用 2 个参数字节而不是 4?
  2. 指定将通过写入闪存或从闪存读取的数据长度 写入闪存数据长度 (DFh)
    • 用于读取/写入闪存操作的 UART 帧不限于总共 32 字节(29 字节有效载荷):对吗? 那么我可以要求每个事务 256 个字节?
  3. 读取启动界面图像: 读取闪存开始 (E3h) 读取闪存继续 (E4h) 、由 256 字节的块表示
  4. 写入新的启动界面图像:
    • 通过单个擦除选定启动界面的所有扇区 写入擦除闪存数据 (E0h)
    • 写入闪存开始 (E1h) 写入闪存继续 (E2h) 、由 256 字节的块表示

除了这些“程序性“问题,我想知道如何划分闪存存储闪屏. 实际上、除了启动界面编号 01h 和 03h(未压缩,因此固定大小为 460 800 字节)之外、所有其他启动屏幕都是 RLE 压缩的 (并且具有可变大小,有些低至 35 152 字节)。

  • 是与每个启动界面关联的内存大小、由其当前大小或最大大小固定(16 位/像素、640x320 像素图像为 460 800 字节)
  • 修改闪屏后、是否应该重新写入闪屏标题? 什么是 写入启动界面标题 是什么命令?
  • 我们可以在闪存中存储 8 个以上的启动界面吗?

我们对显示二进制(又名黑白)图像特别感兴趣(这意味着 U 形镜对于每个图像保持固定状态)。 是否有支持二进制(像素格式)映像的固件? 这样、我们可以存储更多(16 倍多)“二进制“启动界面、通过 UART 传输每个启动界面只需几秒钟。

非常感谢您的帮助!

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

    尊敬的用户:

    请允许我们花一些时间浏览并回答此处提出的问题。

    控制器对启动界面图像的图像大小有严格的要求、因此应使用 640x360。 如果图像与该分辨率不匹配、则可能存在图像伪影。

    需要确认每个启动界面图像的存储器大小。

    SWPG 中不应有“写入启动界面标题“命令。 您能分享一下在哪里可以看到这些内容吗?

    可以存储的启动界面图像数量应取决于 SPI 闪存的容量。

    此致、

    John

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

    您好、John:

    感谢您的回答。

    是的、抱歉、上面有一个拼写错误。 我的意思是 640x360 (不是 640x320)。

    我没有看到“写入启动界面标题“。 我只是徘徊,如果有一个或如果报头自动生成;但在这种情况下,我们如何/在哪里指定像素格式, chroma_order ,...

    可能在 启动界面数据本身中对其进行了硬编码。 在这种情况下、一旦我可以读取闪屏并使用自己的图像“模仿“其编码、它就会变得清晰。

    我正在使用默认的 DLPDLCR160CPEVM 硬件(包括闪存芯片)和默认的预编程闪存。 我不确定闪存有多大、也不确定当前使用的闪存有多少...

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

    温馨提示:)

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

    您好、John:

    您是否有任何可能的答案的粗略时间表?

    非常感谢您的支持、

    此致、

    Mejdi.