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.

[参考译文] CCS/TMS320F2.8379万D:生产编程建议(闪存,更新,仿真器,软件等)

Guru**** 2602855 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666283/ccs-tms320f28379d-advice-for-production-programming-flashing-update-emulator-software-etc

部件号:TMS320F2.8379万D
主题中讨论的其他部件:C2000WARE

工具/软件:Code Composer Studio

大家好,

我正在设计电源AC/DC校正器,我的产品是可操作的(ADC,PWM,型号,状态机,CAN, 从闪存等...制作系统的所有基础),但我知道我必须设计自己的主板(我目前使用的是F2.8379万d控制卡)。

我一直使用CCS的XDS100,因为我完全是仿真/闪存艺术的初学者。我事实上,我们每年针对3000个不同 电压/电流的产品,我不想使用CCS来修改代码,编译然后闪存每个MCU。

其目的是编译不 带“特定数据”(可以地址,物理参数等)的“函数”代码,然后从非易失性存储器(外部或非外部)读取它们。 我会再次 通过通信更新嵌入的软数据或"特定数据"。

我不知道这是否是重要信息,但我可能会为数据记录添加外部存储器。

请问您能给我一些建议,文档或提示,说明如何设计我的系统? (软件,仿真器,内存类型,使用的最佳通信等)。

我还阅读过类似"SPRAAL3"的文档,但我不了解所有内容,这是从2008年8月开始的。


很抱歉我的初学者和模糊问题...

谢谢,祝您度过美好的一天!

此致,

热雷梅

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

    热雷梅你好,

    要开始使用,我建议您查看以下应用说明,它将帮助您开始通过SCI协议刷新设备:

    串行闪存编程

    C2000Ware中还提供了适用于您的设备的闪存内核示例,可帮助您实现发展。 借助串行闪存编程器,您可以发送预编译的C2000十六进制文件,并将其编程到设备的闪存中,而无需使用CCS或仿真器(通过SCI协议)。

    请告诉我,这是否能让您朝着正确的方向前进。

    Taumer

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

    感谢您的回复,我已经开始阅读原则,但我又做了大量工作!!

    我将再次提出其他问题。

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

    大家好,

    我已经了解了一些事情,现在我可以用sci_flash_kernel示例来刷新内核,以idem作为闪存示例。 全部通过控制台和.exe。

    如果我是对的,内核“准备”SCI和闪存以接收“真正的程序”(在这种情况下是闪存),对吗?

    我有以下问题需要澄清:

    1-每次使用用户程序写入内存之前,我们必须加载内核吗?

    2-如何管理和可视化已用闪存(是否可以闪存内核+自定义代码,然后写入特定内存aera以获得常量值?) ?

    3 -示例中,闪存内核大约需要5分钟,这是正常的吗? (我输入了9600波特,但如果我正确,它在内核闪存后生效)

    4-我在F2.8377万S 启动板上尝试了该示例,因此我无法访问GPIO34,该GPIO34由于示例而应该闪烁: 所以我用校正的GPIO重新编译了闪烁的示例,我使用 了hex2000然后是串行闪存编程器,但这次我在地址00看到了“验证错误”,当应用程序尝试刷新闪存的项目时。 你能给我一些提示吗?

    非常感谢您的帮助和非常高效的产品。

    热雷梅

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

    我可以用另一个问题来完成我的帖子:我可以刷新F2.8377万S启动板,但不能刷新F2.8379万D控制卡,因为.exe停留在“正在尝试自动波特率以加载内核”上。

    就像没有SCI通信一样,我尝试了不同的点:

    ->使用从闪存运行的自定义代码,我可以通过Sci ==>GPIO28-29有效地连接到FTDI芯片,并且通信正常工作

    ->我尝试了两个内核版本(F2837xD_sci_flash_kernels_cpu01和F2837xD_sci_flash_kernels_cpu01_alt),从逻辑上讲,良好的版本应该是第二个(GPIO 28 29)

    ->我尝试了SW1和A: SW1的多个开关位置(我断开了仿真器,启动模式似乎响应正确)。

    请你对我前面的问题有什么想法和答案吗?

    非常感谢,祝您度过美好的一天,
    热雷梅
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Jeremy:

    1-每次使用用户程序写入内存之前,我们必须加载内核吗?

    是的,需要先发送内核,以便以这种方式刷新设备。

    2-如何管理和可视化已用闪存(是否可以闪存内核+自定义代码,然后写入特定内存aera以获得常量值?) ?

    CCS (代码编辑器工作室)中的内存浏览器允许您查看闪存位置并观察其内容。  

    3 -示例中,闪存内核大约需要5分钟,这是正常的吗? (我输入了9600波特,但如果我正确,它在内核闪存后生效)

    这是正常的,有时通过串行闪存所需的时间可能很长,但这是预料之中的。

    4-我在F2.8377万S 启动板上尝试了该示例,因此我无法访问GPIO34,该GPIO34由于示例而应该闪烁: 所以我用校正的GPIO重新编译了闪烁的示例,我使用 了hex2000然后是串行闪存编程器,但这次我在地址00看到了“验证错误”,当应用程序尝试刷新闪存的项目时。 你能给我一些提示吗?

    Jeremy,您能否为我提供有关该错误的更多信息? 该错误是否直接来自串行闪存编程器exe? 是否在控制台中? 消息出现之前,控制台有什么输出? 是否尝试在命令中使用"verbose"(-v)标志来帮助调试?

    Taumer

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

    您好,Jeremy:

    ->使用从闪存运行的自定义代码,我可以通过Sci ==>GPIO28-29有效地连接到FTDI芯片,并且通信正常工作

    您是如何确定的? 您能否将"A"发送到您的启动板并倾听"A"返回?

    ->我尝试了SW1和A: SW1的多个开关位置(我断开了仿真器,启动模式似乎响应正确)。

    您的交换机配置是什么? 是否已确保选择了SCI引导模式?


    Taumer

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

    您好,Taumer,

    感谢您的回答,但我要等到周五才能上班,因此暂时无法为您提供详细信息。 我可以说的是:

    “4-我尝试了F2.8377万S 启动板上的示例,因此我无法访问GPIO34,该GPIO34由于示例而应该闪烁: 所以我用校正的GPIO重新编译了闪烁的示例,我使用 了hex2000然后是串行闪存编程器,但这次我在地址00看到了“验证错误”,当应用程序尝试刷新闪存的项目时。 你能给我一些提示吗?

    Jeremy,您能否为我提供有关该错误的更多信息? 该错误是否直接来自串行闪存编程器exe? 是否在控制台中? 消息出现之前,控制台有什么输出? 是否已尝试在命令中使用"verbose"(-v)标志来帮助调试?"

    错误出现在代码闪烁的末尾(内核转接正常=>我选择第一个选项=>我看到我的十六进制代码转接=>最后我有消息"error_verify","error at adress 00")。 我不记得我是否处于详细模式。

    十六进制来自具有修改的GPIO编号的盲式exemple项目,并且重新编译时没有错误。

    我可以在星期五早上给你们提供更多详细信息。

     

     

    ->使用从闪存运行的自定义代码,我可以通过Sci ==>GPIO28-29有效地连接到FTDI芯片,并且通信正常工作

    您是如何确定的? 您能否将"A"发送到您的启动板并倾听"A"返回? 我的系统有一台状态机,我正在通过在GPIO28-29上配置的SCI显示当前状态,所以我认为它们工作正常。

    ->我尝试了SW1和A: SW1的多个开关位置(我断开了仿真器,启动模式似乎响应正确)。

    您的交换机配置是什么? 是否已确保选择了SCI引导模式?

    我几乎可以肯定:在闪存启动时,我可以看到我的系统工作,这样我就可以验证"Get mode"(获取模式)的开关位置,然后我只有两个组合,我已经尝试了这两个组合。

    再次感谢您的帮助!!

     

    祝您度过美好的一天,

    热雷梅

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

    您是否能够获得有关该问题的更多详细信息? 您是否正在使用闪存链接程序命令文件编译闪存示例?

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

    您好,Taumer,很抱歉我的回答太迟了...

    所以我尝试与我的F2.8379万D (启动板和控制卡)进行通信,但什么都没有,控制台一直停留在"尝试自动波特来加载内核"中。 F2.8379万D卡和我的F2.8377万S Launchpad (可以自动波特)之间唯一不同的点是SCI使用的GPIO。

    F2.8379万D启动板=> GPIO 42和43:它不工作,但符合sci启动选项GPIO

    F2.8379万D控制卡=> GPIO28和29:我认为我必须使用"sci_kernel_alt",我只能做什么

    F2.8377万S启动板=> GPIO 84和85:工作正常,我认为是因为GPIO 84 85是默认的sci GPIO启动

    也许我错过了GPIO启动选择方面的一些信息,在选择内核中的“替代”选项时,选择GPIO 28 29是否还有其他事情要做?

    你说得对,我忘记了在闪存模式下编译!!

    非常感谢,祝你度过美好的一天!

    热雷梅

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

    仅需说明一下,使用F2.8377万S启动板时,情况是否正常? 使用控制卡和F2.8379万D启动板,您看到了什么? 是否出现相同的自动波特错误? 连接SCI后,尝试打开PuTTY或类似窗口,并向F2.8379万D发送"A"。 您认为答案是什么? 如果未收到A,则CPU不在SCI引导模式下。

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

    您好,Taumer,

    是的,使用f2.8377万S启动板时一切正常,自动波特率问题出现在使用F2.8379万D时的控制和启动板上。

    我曾尝试发送带有PuTTY的A,但我不熟悉此类软件。 我知道f2.8377万S工作正常,所以我做了第一次测试:当我发送“aa”时,启动板SCI的两个LED指示灯闪烁,红色LED指示灯开始闪烁,我认为有生命。

    但是当我连接F2.8379万D (启动板或控制卡)时 ,我无法在putty控制台上写任何内容,当我推按任何键时 ,卡的RX指示灯闪烁一次。

    我尝试了所有开关位置的启动(在控制卡上,JTAG已关闭,UART已启动,并且我测试了四种可能的启动开关组合)。

    此外,我尝试使用自己的代码将putty与f2.8379万d控制卡和闪存启动连接:我可以看到它工作正常(状态机中的每个更改都在putty中进行监控)。

    感谢您的帮助,祝您度过美好的一天。

    热雷梅

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

    大家好,

    仅为了更新我的帖子,我尚未收到我上一个帖子的通知,因此我不知道它是否可见。

    我的问题仍然存在。

    感谢您的帮助,祝您度过美好的一天,

    热雷梅

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

    很抱歉回复延迟。 您是否在闪存内核的SCI_BOOT()函数中使用SCI_BOOT_ALTERNATE宏? 如果是这样,您还需要确保使用SCI_alternate boot,这将要求您在引导仿真模式下引导设备。

    请告诉我这是否适合您。

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

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

    您好,Taumer,

    感谢您恢复我的帖子,实际上我没有看到您 之前的帖子(正如我所说的,我没有收到通知)。 我会尝试这种方法,但我认为我会在所有情况下使用标准GPIO设计我的主板。

    我将进行测试,并给出结果,

    此致,

    热雷梅