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.
我们已经尝试使用新的串行闪存编程器工具。
如果我们在尝试使用 controlCARD 时恰好遵循该演示、则它的工作原理与演示中所述的相同。
(《F28002x 上具有器件复位功能的单组 LFU 用户指南》)
我们不在项目中使用 controlCARD、而是在硬件板上实施独立 MCU 芯片。
因此,我们在这里有一个问题,如果我们在项目硬件板上尝试,该工具是否按预期工作?
GPIO3用作 SCI RX、而 GPIO2用作 SCI TX、我们已注意到这一点并修改内核源代码(f28002x_sci_flash_kernel)。
SCI_GetFunction_f28002x.c ->第423行、将 SCI_Pinmux_Option1替换为 SCI_Pinmux_Option4、从而将 GPIO28和29替换为 GPIO2 (SCITXDA)和3 (SCIRXDA)。
但是、我们发现结果不正确、如下所示:
我们无法看到以下结果:
因此,如果我们不将此工具与 controlCARD 结合使用,我们很好奇它是否适用?
或者我们犯了什么错误?
Chzi、
该工具应能够与硬件板配合使用。 是否可以在启用详细输出的情况下运行命令并共享控制台显示的内容?
谢谢、
Anu
尊敬的 Anu:
这是我们启用详细输出时的输出。
谢谢!
Chzi Sern
尊敬的 Anu:
我们要提到的一点是、我们发现 DCR 和 DSR 在 RealTerm 应用程序中处于打开状态。
以前、我们使用 realterm 测试了 controlCARD 的串行通信。
Chzi、
您的定制板上是否有收发器连接到您正在使用的 GPIO 引脚? 在 controlCARD 上、有一个处理 USB 到 UART/SCI 通信的 FTDI 芯片。 这对于与主机编程器进行通信是必要的。
谢谢、
Anu
尊敬的 Anu:
我们的板上有一个收发器芯片 RS485-RS232。
在测试过程中、我们使用 USB-RS485电缆将电路板连接到 PC。
我们的串行通信可以正常工作、当我们向其发送 UART 命令时、我们的电路板可以正确响应。
如果没有 FTDI 芯片、这是否正常?
或者是否需要其它芯片?
尊敬的 Anu:
供参考、电路板中使用的收发器是 MAX13450E-MAX13451E.pdf (maximintegrated.com)、
它是 RS485-RS232收发器、因为我们希望在通信线路中使用 RS485。
然后、我们使用 USB-RS485电缆将我们的 PC 与电路板连接。 我们之所以使用这根电缆、是因为我们已经使用了这根电缆、因此我们使用它来连接电路板进行测试。
谢谢!
Chzi Sern
尊敬的 Anu:
连接了运行串行闪存编程器工具时的结果。
从旧串行闪存编程器的代码研究中、我们怀疑系统卡在 serial_flash_programmer.cpp 中的第280行。
如果我们看一下 autobaudLock (void)、我们怀疑它在 f021_DownloadKernel.cpp 的第107行中有残桩。
但是、我们无法继续了解更多内容、因为这是旧代码。
也许您可以向我们展示从何处获取最新的源代码、以便我们可以对其进行调试以了解更多信息。
谢谢!
Chzi Sern
Chzi、
我可以在私人聊天中共享最新的源代码。 我将通过 E2E 发送友谊请求。
谢谢、
Anu
尊敬的 Anu:
我已接受您的请求。
谢谢!
Chzi Sern
Chzi、
我通过聊天向您发送了一条消息。
谢谢、
Anu
尊敬的 Anu:
我们发现代码流将在第108行-> ReadFile (file、&rcvData、1、&dwRead、NULL)挂起; f021_DownloadKernel.cpp 中 。
您对此有什么建议吗?
谢谢!
Chzi Sern、Phor
Chzi、
这确认未发生自动波特锁定。 主机正在等待目标发回一个字符、而目标正在等待来自主机的"A"。
[引用 userid="498354" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1042459/tms320f280025c-tms320f280025c-load-application---f280025c-in-serial_flash_programr-exe-non-controlcard/3857230 #3857230"]我们的串行通信可以正常工作,当我们向其发送 UART 命令时,我们的主板可以正确响应。您能否详细说明一下您在此处使用的测试方法? 引脚2和3是否也用于此测试?
谢谢、
Anu
尊敬的 Anu:
我们使用软件应用程序- Realterm 来测试我们的硬件板。
在硬件板中 、MCU 通过 RS485-USB 收发器进行连接、然后使用 USB-RS485电缆将板连接到 PC。
这里要提到的一点是、我们还发现"DCR"和"DSR"会一直开启、但我们在使用 oncrolCARD 进行测试时看不到它。
正如我们在上面提到的、我们 修改了内核源代码(f28002x_sci_flash_kernel)。
SCI_GetFunction_f28002x.c ->第423行、将 SCI_Pinmux_Option1替换为 SCI_Pinmux_Option4、从而将 GPIO28和29替换为 GPIO2 (SCITXDA)& 3。
但这种修改仅适用于内核文件,我们是否需要修改串行闪存编程器的源文件?
希望这些信息能有所帮助。
*我们不使用 JTAG 调试器将硬件板连接到 PC,我们将 RX 和 TX 从 MCU 连接到 RS485收发器。 RS485拓扑在我们的项目中用于串行通信。
为了将硬件板连接到我们的 PC、我们使用 USB-RS485电缆将收发器的四个引脚连接起来。
附加了方框图以供参考。
它是否有效?
谢谢!
Chzi Sern
Chzi、
为了修改源代码、只要执行 SCI_Pinmux_Option4 ()函数、您的修改就可以了。
对于 RealTerm 应用程序、DCR 和 DSR 的功能是什么? 是否有办法像对 controlCARD 那样将其关闭?
[引用 userid="498354 "URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1042459/tms320f280025c-tms320f280025c-load-application---f280025c-in-serial_flash_programr-exe-non-controlcard/3862165 #3862165"]*我们不使用 JTAG 调试器将硬件板连接到 PC,而是将 MCU 的 RX 和 TX 连接到 RS485收发器。 RS485拓扑在我们的项目中用于串行通信。在这种情况下、闪存内核是如何写入器件的? serial_flash_programr_appln.exe 假定闪存内核已写入器件、并且正在自动波特率锁定中等待。 如果您不使用 JTAG 将闪存内核写入闪存、您是否使用另一种机制来写入闪存内核?
关于呼叫、我可能在本周能够解决此问题、但对于另一个主题中提到的问题、我可能无法在下周之前邀请 LFU 专家。 我们可以通过聊天讨论详细信息。
谢谢、
Anu
尊敬的 Anu:
我们的开放时间为上午8:00 -晚上10:00 (马来西亚时区)。
serial_flash_programr.exe 工具用于将内核加载到我们的器件中,如果我们不连接 JTAG 调试器,是否可以使用它?
谢谢!
Chzi Sern
Chzi、
这应该是好的、您的过程是否如下?
1) 1)将引导模式选择引脚设置为 SCI 引导、使用 serial_flash_programr.exe 和 GPIO 引脚28-29以及 SCI ROM 引导加载程序将内核(RAM 构建配置)传输到 RAM
-如果您计划也将 GPIO 引脚2-3用于 SCI ROM 引导加载程序、则需要修改 OTP
2) 2)通过将闪存构建配置内核的十六进制文件作为 RAM 构建内核的应用文件传入、将内核下载到闪存
3) 3)将引导模式选择引脚设置为闪存引导、bankSelect 逻辑应位于闪存入口点
4) 4)使用 serial_flash_programr_appln.exe 文件将应用程序下载到闪存
我将通过私人聊天发送一个 Webex 链接、供您晚上参加会议。
谢谢、
Anu