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.
工具与软件:
我们需要通过 ESP 32通过 SPI 对 DSP 进行更新和编程。
首先、DSP 中内置了 SPI 引导加载程序、可将程序保存到 RAM 中。 我们首先转移我们的闪存内核,一旦运行,它会将我们的实际工作程序保存到闪存中。 闪存内核与 SCI 闪存内核示例非常相似、但对于具有校验和的 SPI、我们甚至在 SPI 逐字节传输之间添加了我们自己的延迟。
引导加载程序的问题是、由于它是内置的、因此我们无法向它添加功能、也无法逐步对它进行调试。 它还面向 SPI EEPROM 闪存而不是 ESP 等微控制器。 引导加载程序的时序与 ESP 是很难匹配的。 ESP 错过了时序、传输失败。 我们唯一成功的方法是将整个文件缓冲区加载到一个数组中并通过 ESP 发送。 如果 ESP 在处理过程中甚至延迟了一微秒、则传输失败。
也不存在校验和或任何使我们知道 DSP 已成功编程的确认。
闪存内核约为15-16 KB、如果我们使一个较小的 SPI 缓冲区(例如16字节)并继续重新加载、它将错过时序。
我们的另一个想法是将 SPI 闪存内核作为我们主程序的一部分。 但如果它破坏了,我们没有办法在现场更新它。
是否有更好的方法利用 SPI 引导加载程序? 使用 ESP 32设置它的正确方法是什么?
您好!
感谢您的咨询。 请允许我再过一天提出一些建议-感谢您的耐心!
总之、您能够利用 SPI 引导模式(基于 SCI 示例)并成功地对器件进行编程、但使用案例似乎非常窄/在实施中(特别是对于 EEPROM)非常有限。 因此、您希望获得有关实施 SPI 引导加载程序的建议/指导、以便找到更灵活的时序并验证程序负载?
此致、
Allison
"那么、您想在实现 SPI 引导加载程序方面寻求更灵活的时序以及能够验证程序负载方面的建议/指导吗?"
是的、完全正确
您好!
对于响应延迟、我们深表歉意。 关于您之前的评论:
[quote userid="596135" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1394682/tms320f2800137-spi-bootloader-and-spi-flash-kernel-as-secondary-bootloader-or-spi-flash-kernel-as-part-of-program 我们也不能一步一步地对其进行调试。 [报价]您可以通过将引导 ROM 符号(.out 文件)加载到器件来单步执行器件引导 ROM。 加载符号是一种有价值的调试方法。 此选项会添加生成的项目".out"文件中提供的符号以进行调试、而不是通过 CCS 将实际的".out"程序加载到内核中-这也是您可以将此方法与引导 ROM/内 置引导加载程序一起使用以进行调试和获得可见性的原因。
如果您尝试一下、请告诉我-还有可能还有其他线程也提供了有关如何执行此操作的说明。 关于调查的其余部分、我仍在努力收集更多信息、以便了解其他哪些建议在这里可能会有所帮助、并将在我能够提供更新时告诉您。
此致、
Allison
谢谢您的回答。 为了进行调试和测试、我们在 bootrom 中使用了 SPI 引导文件、并围绕它制作了一个 CCS 项目。 它工作得很好。 您能不能联系我们了解校验和的相关信息? 以及我们是否可以在引导加载程序中进行更改
您好!
很高兴您能够进行调试和测试! 如果您使用内置 SPI 引导加载程序并引导至 SPI、则只限于引导 ROM 中包含的内容、而对于 SPI、 没有可用的固有硬件检查特性、但我要验证这里是否有任何其他灵活性或解决方案、并明天提供更新。
此致、
Allison
您好!
很抱歉周末的延误-只是想让你知道我不幸还没有能够获得更多的信息。 接下来我要介绍一些资源。 我一定会在接下来的1-2天跟进。
此致、
Allison
您好!
抱歉耽误了长时间-为了确认我之前提到的内容、如果您使用的是我们的 SPI 引导加载程序、 除非您自己开发了自定义引导加载程序、否则无法了解从 bootROM 使用的是什么。 遗憾的是、此案例在这方面受到限制、但我已经对此进行了记录、以便向 bootROM 团队提供反馈。
此致、
Allison