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.
Matthew、您好!
我尝试了示例代码、但实际上我对软件不太熟悉、即使我查看了用户指南中的第4章、也难以理解这些示例。
由于仍然无法连接到 C2000-GANG、我们是否有控制台文件或一些 exe 文件以便可以尝试命令? 我的意思是、除了 GUI、我需要一个位置来输入任何命令以便与 C2000-GANG 通信。
此致、
猎豹
Matthew、您好!
我修复了 COMM4错误、然后进入下一步。
另一个错误显示:
加载 DLL C2000-Gang.dll 操作成功。
C2000GANGInitCom COM4操作成功。
C2000GANGDefaultConfig 操作成功。
C2000GANGSetMCUName TMS320F2808操作成功。
C2000GANGSetConfig (sett) 200ms 操作成功。
C2000GANGSetConfig (TarEn) 1操作成功。
C2000GANGSetConfig (OSC) 20.000 MHz 操作成功。
C2000GANGReadCodeFile ..\Lib\Demo-F2808.txt 错误355:打开文件错误
分离 DLL 操作成功。
尊敬的 MattewRate:
以下是我们使用终端运行两个测试示例时复制的日志:
1) C:\>"C:\Program Files (x86)\Texas Instruments\C2000-Gang\examples\Output\C-DLLtest.exe"
C2000Gang DLL:C 语言的应用示例
加载 DLL C2000-Gang.dll 操作成功。
C2000GANGInitCom COM4操作成功。
C2000GANGDefaultConfig 操作成功。
C2000GANGSetMCUName TMS320F2808操作成功。
C2000GANGSetConfig (sett) 200ms 操作成功。
C2000GANGSetConfig (TarEn) 1操作成功。
C2000GANGSetConfig (OSC) 20.000 MHz 操作成功。
C2000GANGReadCodeFile ..\Lib\Demo-F2808.txt 错误355:打开文件错误
分离 DLL 操作成功。
2)当我们单击 Cpptest.exe 时, C:\Program Files (x86)\Texas Instruments\C2000-Gang\examples\Output\cp-DLLtest.exe", 显示:
C2000-GANG GANG 编程器已连接。
C2000Gang_InitCom 操作成功。
C2000Gang_C2000TM Default_Config 操作成功。
C2000Gang_Set_MCU_Name 错误344:连接了错误的目标器件!
C2000Gang_SelectImage 操作成功。
C2000Gang_EraseImage 操作成功。
C2000Gang_C355 Load_Image_File 错误:打开文件错误
3)同时、C2000-GANG 编程器表示:
图像11
完成...
回族、
您是否能够打开 DLLTest.c 文件以查看设置是否与您的配置匹配? 这将设置器件类型(虽然 F2808看起来像是我在该文件中的默认设置)。 不过、该错误似乎与该示例中包含的局部.txt 文件有关。
我已经通知了 Elpro 这个线程、他们本周在会议的场外、但他们可能会下周回来、并且可以提供更多的指导。
此致!
马修
大家好、MatthewRate:
我们尝试过、现在似乎每一步都显示出成功。
1) 1)那么我们如何使用此 example.exe 来刷写我们的映像?
2)我们应该把我们的图像文件放在哪个不应该。 现在我把我们的图像文件放在第1和第10号
3) 3)因为我们的产品 IC 的名称是"F28069"、而不是"F2808"。 我们是否需要更改将所有 F2808替换为 F28069的源代码?
感谢您的支持、期待您的快速回复。
此致、
猎豹
大家好、MatthewRate:
我们遇到了一个新问题:
它显示"8 Get PIL Status: pil freq err failed! 勘误70。" 当我刷写自己的 FW 时、在我们试用了 simpleC2000Gang.exe
您知道如何解决它吗?
此致、
猎豹
您好、MathewRate:
C2000-GANG 始终显示"PLL freq Error 70"当我使用它刷写 FW 时、您知道我可以如何修复它吗?
此致、
猎豹
Cheetah、
您 PCB 上连接到 F2808 MCU 的外部晶体/振荡器的频率规格是多少? 示例文件中的默认设置看起来是20MHz。
此致!
马修
大家好、MatthewRate:
您 PCB 上连接到 F2808 MCU 的外部晶体/振荡器的频率规格是多少? ==>您知道如何检查吗?
实际上它说"8获取 PIL 状态: pil freq err 失败! 勘误70。" 当我刷写自己的 FW 时、在我们试用了 simpleC2000Gang.exe
会这样吗、因为在 example.exe 被设定为 F2808MCU 时、我的 PCB 是 F28069MCU?
此致、
猎豹
是的、我相信是这样。 您只需要在 DLLTest.c 文件中将目标器件更改为 F28069。 该器件使用恒定的内部10MHz 时钟源。
此致!
马修
大家好、MatthewRate:
感谢您通知我这一重要信息、我很高兴根据您的指导可以修复我的 PLL 错误问题。
我注意到、 GUI 中显示的晶体/振荡器对于标记为灰色的 F28069 MCU 确实为10MHz (我无法更改)
您能否帮助分享一下 我如何"在 DLLTest.c 文件中将目标器件更改为 F28069"的任何屏幕截图?
此致、
猎豹
Cheetah、
对于具有内部0引脚振荡器的器件、Gang 将始终使用该引脚对闪存进行编程、因为它是已知频率并且不依赖于正确输入的外部 X-tal 值。 F2802x 之后的几乎所有器件(包括您拥有的 F2806x)都具有该特性。 因此、Gang 会将其变灰、因为没有理由使用其他时钟、即使该时钟存在于您的 PCB 上(这仅用于闪存编程)也是如此。
/--- globals -------------------------------------------------------------- // #define ComPort "COM4" #define DLL_C2000 "C2000-Gang.dll" #define Baudrate 115200 #define FileName "..\\Lib\\Demo-F2808.txt" #define DeviceType "TMS320F2808" #define TargetOSCkHz 20000 //value in kHz. Must be present for DSP without internal generator #define SettleTime 10 //Settle Time in multiples of 20ms //#define TargetEn 0xFF //enable all 8 targets #define TargetEn 0x01 //enable only first target #define ERR_NO_DLL 100 #define ImageName "DLLtestC" //Name to be shown on Programmer #define ImageIndex 10 //Index to be used for image on Programmer - 0..15 #define StartSerNum 0x12345678 #define SerNumAddress 0x3E8000
您应该在 DLLTest.c 的开头附近看到上述代码、您应该修改 COM 端口以匹配 C2000-GANG GUI 上显示的 COM 端口、器件类型将从"TMS320F2808"更改为"TMS320F28069"、并且您想要加载的文件/图像将替换"..\Lib\\Demo-F2808.txt"文件
此致!
马修
您好、MathewRate:
感谢您的答复、但我刚刚看到。 我再试一次、让您知道结果。 但昨天、我尝试将20MHz 更改为10MHz 、这是日志、但 PLL 错误仍然存在。
让我来向您展示我的 log.txt
C:\c2000-Gang\examples\Output> C-DLLtest.exe
C2000Gang DLL:C 语言的应用示例
加载 DLL C2000-Gang.dll 操作成功。
C2000GANGInitCom COM4操作成功。
C2000GANGDefaultConfig 操作成功。
C2000GANGSetMCUName TMS320F2808操作成功。
C2000GANGSetConfig (sett) 200ms 操作成功。
C2000GANGSetConfig (TarEn) 1操作成功。
C2000GANGSetConfig (OSC) 10.000 MHz 操作成功。
C2000GANGReadCodeFile ..\Lib\Demo-F2808.txt 操作成功。
C2000GANGCreateGangImage DLLtestC 操作成功。
C2000GANGSelectImage 10运行成功。
C2000GANGEraseImage 操作成功。
C2000GANGLoadImage 操作成功。
C2000GANGVerifyImage 操作成功。
C2000GANGMainProcess 分析如下:
具体目标1-2-3-4-5-6-7-8
成功0 0 0 0 0 0 0 0 0
============================
启用1 0 0 0 0 0 0 0 0
已连接1 0 0 0 0 0 0 0
擦除0 0 0 0 0 0 0 0 0
空白检查0 0 0 0 0 0 0 0 0 0
编程0 0 0 0 0 0 0 0 0
验证0 0 0 0 0 0 0 0 0
安全0 0 0 0 0 0 0 0 0
VCC 错误0 0 0 0 0 0 0 0 0
JTAG init err 0 0 0 0 0 0 0 0
保险丝预熔断0 0 0 0 0 0 0 0 0 0
MCU 类型错误0 0 0 0 0 0 0 0 0
完成
C2000GANGReleaseCom 运行成功。
分离 DLL 操作成功。
程序成功完成-
Matthew、您好!
我按你告诉我的那样尝试、但在运行时出现 Open File Error。
C:\c2000-GANG \examples\Output>C:\c2000-GANG \examples\Output\C-DLLtest.exe
C2000Gang DLL:C 语言的应用示例
加载 DLL C2000-Gang.dll 操作成功。
C2000GANGInitCom COM4操作成功。
C2000GANGDefaultConfig 操作成功。
C2000GANGSetMCUName TMS320F28069操作成功。
C2000GANGSetConfig (sett) 200ms 操作成功。
C2000GANGSetConfig (TarEn) 1操作成功。
C2000GANGSetConfig (OSC) 10.000 MHz 操作成功。
C2000GANGReadCodeFile ..\Lib\Demo-F28069.txt 错误355:打开文件错误
分离 DLL 操作成功。
程序已中止-
C:\c2000-gang\examples\Output
还有一个迹象表明、
您能帮助提供进一步的说明吗?
此致、
猎豹
Matthew、您好!
感谢您的时间和耐心 与非凡的指导!
Cheetah、
您将需要在启用十六进制实用程序的情况下编译 CCS 工程。 如果您右键单击项目并选择属性、我已经在哪里找到了启用此功能的屏幕截图。
您需要将 romwidth 设置为16并将输出格式设置为 intel_hex (如下所示)
此致!
马修
大家好、MatthewRate:
感谢您投入宝贵的时间给予指导。 我们对您的建议非常认真考虑,对此我们有两个问题:
1) 1)对于#you 将需要在启用 hex 实用程序的情况下构建您的 CCS 项目。 如果您右键单击项目并选择"属性",我已在其中截取了启用此功能的屏幕截图。#=== >您是说我们使用从 CCS 生成的十六进制文件来替换 C-DLLtest.exe 中的"Demo-F28069.txt"吗? 我对吗?
2)对于#youer,需要将 romwidth 设置为16,并将输出格式设置为 intel_hex (如下所示)#=== >这是否有助于修复 PLL 错误?
向你和你宝贵的时间表达我最诚挚的谢意。
此致、
猎豹
1)对于#YOU、您将需要在启用十六进制实用程序的情况下构建您的 CCS 项目。 如果您右键单击项目并选择"属性",我已在其中截取了启用此功能的屏幕截图。#=== >您是说我们使用从 CCS 生成的十六进制文件来替换 C-DLLtest.exe 中的"Demo-F28069.txt"吗? 我对吗?
是
2)对于#YOU,您需要将 romwidth 设置为16并将输出格式设置为 intel_hex (如下所示)#=== >这是否有助于修复 PLL 错误?
不可以、这只是以正确的格式获取 hex 文件的正确设置。
让我再次回顾一下 DLL 设置、看看我是否可以在本地重现此问题。
此致!
马修
Matthew、您好!
感谢您的确认和 hex 文件。
我们现在将进行尝试、一旦有任何更新、我们便告知您。
对于#让我再次查看 DLL 设置,看看我是否可以在本地重现此问题。#
===感谢您的巨大帮助,我可以 提供什么来帮助您重复此现象,例如任何源代码?
此致、
猎豹
Matthew、您好!
我们尝试了 hex 文件、将格式从十六进制更改为文本、并替换了以前的 Demo-F28069.txt、最终获得以下响应:
错误354:文件中的代码包含无效数据。
如果您不介意我问的、针对这个354误差的可能解决方案是什么。
此致、
猎豹
Matthew、您好!
很开心!
我们在我的客户端提供原始 hex 文件后执行该操作、现在可以通过 DLLtestC 将其刷写到客户端的 FW 中。
但当完成 FW 闪存时、程序会显示"Error41"、尽管终端日志显示"Program Successful completed"。
反正,它至少可以帮助吃。 感谢您为我们的团队和我的案例所做的一切。 谢谢 Matthew。
此致、
猎豹
Cheetah、
我很高兴 DLL 得以正常运行、似乎正确的十六进制文件格式就是缺失的部分。
我将请 Elpro 评论 Err41、根据文档、我认为这不是根据文档显示的有效错误消息。
此致!
马修
Matthew、您好!
感谢你的评分 除勘误41之外、我发现了一个更重要的风险。
我发现由我们的 ATE 软件获取的新映像与原始 FW 映像具有不同的校验和与存储。
因为图像存储从初始268.5KB 更改为265.5KB。 我使用这个较小的映像手动刷写 FW、不会出现 PLL 错误。
因此、可能在我使用 ATE 软件后图像中的某个内容发生了变化。
您知道支票复制和存储收款的原因、以及我们如何将其放回? 谢谢!
此致、
猎豹
你好,切塔,马太是不在办公室的剩余的一年。 我已经联系了 Elprotronic 以了解他们是否可以提供帮助、如果可以、我一定会提供反馈。
大家好、亲爱的 Joe 和 Matthew、
我们是否有关于我们校验和差异的任何更新?
等待您的回复、此致、
猎豹
Cheetah、
如果十六进制文件相同、则应是进行编程的相同映像。 仅当使用不同版本的代码生成工具(CGT)编译源项目时、我才看到文件大小/校验和差异。 当使用较新版本的 CCS 编译工程时、与最初创建工程时相比、通常会发生这种情况。 您可以手动更改 CCS 使用的 CGT 版本以便使内容相同、但我们需要知道哪一个是原始 CCS 版本。
但是、您提到了提供给您的团队的所有内容是 hex 文件(不是源代码)、这是正确的吗? 如果十六进制文件相同、则大小和校验和不应更改。
我不清楚您所说的 PLL 在手动刷写时不工作/无法正常工作的含义。 您是说、对于非自动化 C2000-GANG 还是对于 CCS 和 JTAG?
此致!
马修
Matthew、您好!
非常感谢您为我们提供的真诚帮助。
对于不同的校验和问题:
1) 1)如果十六进制文件相同、则应是进行编程的相同映像。 =>实际上我们从我的客户机得到的是一个 gangbin 文件和一个 gangimage 文件,所以我不能比较最终的工作 hex 与初始 gangbin 文件和 gangimage 文件是相同的,因为它们是不同的文件形式。
2) 只有在源项目使用不同版本的代码生成工具(CGT)编译时,我才看到文件大小/校验和的差异。==>我的客户说:我们可以确认您十六进制代码是从相同的源生成的。
3) 3) 您可以手动更改 CCS 使用的 CGT 版本以便使内容相同、但我们需要知道原始 CCS 版本是哪一个。==>我可以复制该部分让我的客户端给我们试用一下吗?
4)但是、您提到了提供给您的团队的所有内容是 hex 文件(不是源代码)、这是正确的吗? 如果 hex 文件相同,那么大小和校验和不应该改变。==>是的,我的客户似乎不可以提供用于隐私的源代码。
==>>>我列出了两个固件映像的对比信息,如下所示:
FW 名称 (在 C2000-GANG 编程器上显示) |
XX_XX_PCON_1234 (19D2) |
XX_XX_PCON_1234 (F81B) |
生成的方法 |
通过将组合映像加载到编程器中 |
通过读取十六进制代码文件并创建 Gang 映像 |
源 |
由我的客户提供 |
C-DLLtest.exe |
原始文件 |
XX_XX_PCON_1234_combin.c2000gangbin/ XX_XX_PCON_1234_combined.c2000组图像 (创建时间:2023年9月11日17:00) |
XX_XX_PCON_1234_组合式 ti_hex (创建时间 :2023年9月11日16:38) |
刷写 DUT 的方法 |
仅手动闪存 |
ATE SW 闪存+手动闪存 |
支持手动闪存 |
N (C2000-GangProgrammer 显示 PLL 错误) |
y |
表单 |
缠绕管 |
? |
校验和 (在 C2000-GANG 编程器上显示) |
19d2 |
F81B |
存储 (在 C2000-GANG GUI 上显示) |
268.5K 个字节 |
265.5K 个字节 |
SW 版本 (可通过 GUI 读取) |
1、2、3、45 |
1、2、3、45 |
对于 C2000GangProgrammer、显示 PLL 错误:
5)我不清楚你的意思是 PLL 不工作/工作时手工闪存. 您是说使用非自动化 C2000-GANG 还是使用 CCS 和 JTAG?=>很抱歉、当我 选择从客户端提供的 FW 映像 XX_XX_PCON_1234 (19D2)时、C2000-Gang 编程器(以 C2000GangProgrammer 为旧的开头)上会出现错误警告、并且无法成功刷写。
此外、我还购买了一个全新的 C2000GangProgrammer (以 C2000GangProgrammer 为新格式)、并将客户端提供的映像 XX_XX_PCON_1234 (19D2)放入其中、闪存中、仍然会有 PLL 错误警告、无法刷写。 可能是因为 MCU 曾经出现过这样的问题、我将尝试应用一个 新的 MCU 芯片、并对两个 C2000GangProgrammers、即旧的和新的进行进一步验证。
此致、
猎豹
Cheetah、
我将回答另一个回复中的最后一个问题、但首先我想解释代码生成工具等。
您可以要求客户查看保存 CCS 项目(原始项目)用于 CCSPROJECT 文件的目录。 他们可以使用文本编辑器打开此文件、它将提供如下所示的项目信息。 他们需要查找的是 用于原始构建的"codegenToolVersionValue"。 获得此构建版本后、我可以找到此构建版本、并将 CGT 返回到此处、然后给出有关如何告知 CCS 在哪里可以找到它等的说明。
如果我们使用与使用的 CGT 相同版本进行编译、那么无论使用的 CCS 版本如何、输出的十六进制/二进制值都将匹配。
此致!
马修
Cheetah、
对于 PLL 问题、我认为最好打电话给 Elprotronic 以便可以一起看到问题。 我会向您的 my.ti.com 电子邮件地址发送一封离线电子邮件、我们三个人都可以设置一些设置。
此致!
马修
Matthew、您好!
很抱歉为您花了这么多时间、我会尝试与我们的客户交谈、但实际上他们在 ATE 建议方面不如我们积极。 但我真的会这样做。
衷心感谢您在众多细节中为我们提供帮助。 我只是想确认我们是否可以使用 ATE FW 来实现我们工厂的大规模生产、但似乎没有人可以承诺。
此致、
猎豹
大家好、MatthewRate:
谢谢您的提问。 我在中国大陆(UTC+8)、我们之间似乎有11-16小时的差异。
只要我没问题、但我们的 实验室在周一至周六的上午8:00至晚上8:00开放。
您能帮助您留出适当的时间来打电话吗?
此致、
猎豹
Matthew、您好!
您能告诉我您当前的时间是多少、因为在我这边、现在是凌晨1点左右。
此致、
猎豹
Cheetah、
我已离线发送另一封电子邮件。 只是为了参考当你发送的最后一个答复是上午10:48AM 在我的时区。 根据实验室工作时间、这很可能是您白天和晚上的开始。 希望尽快安排好。
马特
所有、
只是想对调试结果进行回复。
q1) PLL 锁定、编程问题等。 这与 Gang 图像是一种较旧的格式而不是 Elprotronic 当前的工具有关。 当我们将所有内容更新到最新的 FW 版本、并从原始十六进制文件重新创建 Gang 映像后、工作正常。
Q2) GANG GUI 校验和。 仅供参考、主 Gang GUI 中列出的校验和包括编译时间/日期、作为校验和的一部分。 因此、即使您的源二进制相同、此特定校验和也会根据这些其他变量而变化。 这是为了使转换为 Gang 映像文件的二进制文件具有更好的可跟踪性。 在这种情况下,不同的校验和不一定表示编程到闪存中的值是不同的。
此致!
马修