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.

[参考译文] DLPDLCR2000EVM:DLPDLCR2000EVM读取问题

Guru**** 2576215 points


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

https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/640946/dlpdlcr2000evm-dlpdlcr2000evm-reading-probllem

部件号:DLPDLCR2000EVM

尊敬的论坛:

下面的python代码应该执行从闪存到通过i2c连接的主机的读取传输

DEF flash_read_seq(): 
I2c.write ([0x15,0x03])
状态= i2c.read(4)
打印('status:',status[2])
I2C.write ([0x79,0x00,0x04,0x74,0x06])# set read ADR。
I2c.write ([0x74,0x00,0x00,0x00,0x03])# Set ADR。Size (设置ADR大小)。
I2c.write ([0x78,0x00,0x00,0x00,0x0B])# set flash op. code。
I2c.write ([0x75,0x00,0x00,0x00,0x01])#设置虚拟字节数。
I2c.write ([0x77,0x00,0x00,0x00,0x28])# Set read byte count (设置读取字节计数)。
I2C.write ([0x76,0x00,0x00,0x00,0x00])#设置写入字节计数。
I2C.write ([0x08,0x00,0x00,0x00,0x03])#将闪存控制器设置为读取模式
I2c.write ([0x15,0x03])
状态= i2c.read(4)
打印('status:',status[2])
时间睡眠(.5)
对于范围(1,10,1)中的x:
I2C.write ([0x15,0x07])# set read op
step = i2c.read(4)
打印(x,':',步骤)
时间睡眠(.5)
I2c.write ([0x15,0x03])
状态= i2c.read(4)
打印('status:',status[2])
I2C.write ([0x08,0x00,0x00,0x00,0x00])#从读取模式重置闪存控制器

return()函数
设置应该是xfer 40字节'0x28',我得到前四个字节的10倍重复? 关于我做错了什么的任何建议。
我找不到任何示例,说明如何使用i2c从连接的主机读取闪存,

感谢你的帮助
Samir Lehaff

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

    您使用什么来源构建代码?

    此致,

    Philippe Doll
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Philippe,
    我使用了2607软件指南,第11页有一个闪存读取示例,示例是伪代码,我刚刚用python在我的RPi3上写了它。 问题始终是获取前4个字节,但无法确定如何读取剩余的DMA数据。

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

    首先,在尝试执行此DMA事务时,状态寄存器会读取什么? 在这种情况下,您可以检查DMA错误标志。

    此外,您可以在程序员指南(附录B)的底部查看I2C命令示例。

    如果可以,发布状态寄存器轮询命令的结果。 粗略地看一下,I2C实施是有意义的,因此问题可能会更加微妙。

    此致,

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

    Philippe,

    我会深入探讨,并向您提供详细信息。

    此致

    Samir

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

    Philippe,

    您是否可以指向一个示例,说明如何使用2000 EVM上的i2c命令接口在闪存中写入主机。 此步骤涉及启用删除和后续页面写入。 我对编程语言非常灵活。

    提前感谢

    Samir Lehaff

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

    我不相信闪存主机写入接口目前存在正确的代码示例,尽管您可能会很幸运地浏览TI.com上的DLPC2607GUI软件 ,网址为http://www.ti.com/tool/DLPCSW

    GUI可能会提供一些示例事务来帮助您入门。

    我希望这能有所帮助。

    此致,

    Philippe Doll