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.

[参考译文] BOOST-LP5569EVM:直接从低级代码在 LP5569上启动 SRAM 程序的 I2C 命令序列

Guru**** 2534400 points
Other Parts Discussed in Thread: LP5569

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/913923/boost-lp5569evm-sequence-of-i2c-commands-to-start-sram-program-on-lp5569-directly-from-low-level-code

器件型号:BOOST-LP5569EVM
主题中讨论的其他器件:LP5569
我正在从 ESP32控制 LP5569。 我可以连接和配置芯片、也可以直接控制 LED 和电荷泵-没有任何问题。 它还确认我的 I2C 设置和通用寻址工作正常。
但是、当我尝试将测试程序上载到 SRAM 并尝试运行它时、没有发生任何情况。 无错误、但 PC 未前进。 这是我现在使用的启动序列。 我仅使用发动机1。
  1. 将程序加载到第一个存储器组中(将 PROG_MEM_PAGE_SELECT 设置 为0、然后写入50个字节、从 program_MEM_0作为 nessary 传递开始、并用零填充其余字节)
  2. 读回程序并进行比较(以验证是否正确写入)
  3. 启用电荷泵和板载时钟(将0x59写入 MISC @ 0x2F)
  4. 启用芯片(将0x40写入 CONFIG @ 0x00)
  5. 清除中断(将0x07写入 ENGINE_STATUS @ 0x3C)
  6. 设置发动机1程序起始地址(将0写入 ENGINE1_PROG_START@0x4B )-皮带和大括号、因为它已经为0
  7. 设置 Engine 1 PC (将0写入 ENGINE1_PC@0x30h )-皮带和大括号,因为它已经为0
  8. 将引擎1执行控制设置为自由运行(将0x80写入 LED_ENGINE_CONTROL1 @ 0x01)
  9. 启动引擎1 (将0x80写入 LED_ENGINE_CONTROL2 @ 0x02)
我缺少什么/做什么错了?

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

    好的、明白了。 我在引擎编码的开头有几个 LED 映射定义。 当然、发动机无法确定这些信息、因此必须将发动机程序起始地址和初始 PC (步骤6和7)设置为实际的第一个可执行指令的地址。 这是十六进制文件中方便表达的数字、在我的例子中为9。 现在一切都在正常工作。