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.

[参考译文] PGA900:在将十六进制文件加载到DERAM时,PGA900不运行

Guru**** 2546020 points
Other Parts Discussed in Thread: PGA900

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/595188/pga900-pga900-does-not-run-when-load-hex-file-into-devram

部件号:PGA900

您好,

我使用PGA900 GUI和USBTOANY接口板时遵循了如下所示的步骤(红色)。

我无法获得将GPIO1输出设置为高的简单应用程序。  我这样做是因为我想知道重新映射的软件确实可以执行。  我们在使用 PGA900EVM 和GUI时遇到了非常困难的时刻。  似乎什么都不起作用。  为了运行重新映射的十六进制文件代码,我是否缺少某些内容?  

在我将新的十六进制文件下载到DERAM之后,我设置了重映射位并启动微控制器。

PGA900 GUI表示重映射寄存器设置为使用新的十六进制代码,而微控制 器寄存器表示微控制器 正在运行。  然而,没有什么能奏效。  我正在测量GPIO1的输出,但它保持低电平。

仅供参考,我可以使用PGA900 GUI手动将GPIO1设置为输出并将GPIO1设置为高。  所以,我知道我在PGA900EVM上的正确测试针脚上。

我也看不出你在 0x2100万把十六进制映像加载到DEVRAM 的过程,然后把DEVRAM设置为0x0万 ,然后重新启动微控制器可以工作。

我假设微控制器 将在 0x0万处启动,这也是OTP。  如果新映像加载在 0x2100万,但 微控制器 从 0x0万运行,则会出现这种情况。

那么,新代码将如何运行?

考虑到这一点,我还尝试将新的十六进制映像加载到DEVRAM中,并将其重新映射到 0x0万 ie重映射位集。  然后重新启动微控制器。  如果微控制器 以 0x0万启动

新的十六进制映像在 0x0万处加载,它别无选择,只能正确运行新应用程序?  不,它不起作用…

我只能假设操作有一定的缺陷,或者我的应用程序启动但立即崩溃。  如果它崩溃,我就不能在没有调试探测器的情况下查看它。

程序根据 Matt Sullivan:


要在DEVRAM中进行编程,请确保按下GUI左上角的按钮,以重置微控制器。 (也可以在低级页面中将0x03写入micro_interface_control寄存器)。  


然后,您可以按照《用户指南》中的说明,使用DERAM编程说明对设备进行编程。  
之后,按下编程页面上显示"remap Disabled"(已禁用重映射)的按钮以启用重映射。 这会将DERAM映射到正确位置,以便与M0一起操作。  
从那里,您需要将内存加载到微控制器中,因此再次按下左上角的按钮,将其从重置中取出。

根据Javier Valle执行的程序:

当重映射位为0时

-       DEVRAM为0x2100万

-       OTP位于0x0万

 当重映射位为1时

-       DEVRAM位于0x0万,即它覆盖OTP

-       OTP位于0x0万

PGA900GUI中的DERAM下载器已编码为从0x2100万开始将十六进制文件下载到内存地址。 这意味着,在将软件下载到DERAM之前,您必须将重映射位设置为0。 因此下载和执行DERAM的顺序是:

  1. 重置微
  2. 将重映射设置为0
  3. 下载到DEVRAM
  4. 将重映射设置为1
  5. 不安的微观

如果有人能提出一些建议,这将非常有帮助。

谢谢!