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.

[参考译文] TMS320F28374S:原型主要来自 F2837x 控制卡设计

Guru**** 1831610 points
Other Parts Discussed in Thread: TMS320F28374S, TMDSCNCD28379D, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1290747/tms320f28374s-prototype-mostly-from-the-f2837x-control-card-design

器件型号:TMS320F28374S
主题中讨论的其他器件: TMDSCNCD28379DC2000WARE

我使用 TMS320F28374S 构建了一个原型、主要来自 F2837x 控制卡设计  

 

我正确地给它加电、我可以使用使用内部振荡器的 CONFIG 位下载程序-但无法使其与外部 osc 一起工作。 在下电上电后、我也无法让它运行。

 

我怀疑我在软件中设置不正确。 两个问题是,我似乎不能让它使用外部 osc。 第二是从下电上电启动-有些事情不适合用。

示例代码"led ex_1_blinky"是我正在使用的初始代码。  我可以将其与 TMDSCNCD28379D 评估板配合使用。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以下载一个程序[/报价]

    存储在 RAM 中还是闪存中?

    但无法使用外部 osc。

    您愿意私下与我分享您的原理图吗? 您可以通过首先与我发起一个友谊请求来实现此目的。 您可以通过在将光标悬停在我的姓名上时选择"请求好友"选项来执行此操作。

    我也无法在重启后让它运行。

    您的引导模式选择引脚是否配置正确? RAM 中是否有任何已初始化的常量?

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

    Chris、

      我检查了您的原理图。 您已将 引导模式选择引脚连接到 GND。 这意味着器件将不会引导至闪存、但会分支至"并行 I/O "模式并保持循环。 这就是代码在加电后无法正常运行的原因。 为了选择"获取模式"、您需要将这些引脚连接到高电平、其默认行为是分支到闪存。

    您的原理图显示 X2引脚未连接。 我不知道这是真的情况还是只是一个图像神器。

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

    下面放大观察部分。  其连接方式如 osc 的数据表所示。  我还使用逻辑分析仪进行了测试、获得了良好的20Mhz 信号。

    使用 ECS-200-10-30B-CKM-TR

    那么在启动模式下-如何在软件中设置 GPIO73和 GPIO84引脚?  我似乎找不到寄存器来设置它。  

    我不确定我是否理解引导模式、因此是否应该将两个引脚都拉高、以便在上电时正常引导?  此设置用于"获取模式"、但它从何处获取模式?

    感谢您的帮助。

    克里斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何在软件中设置 GPIO73和 GPIO84引脚?  我似乎找不到寄存器来设置它。  [/报价]

    它们未在软件中设置。 您需要根据希望器件在复位后执行的操作、将这些引脚连接到适当的电平。 由于您的代码位于闪存内、您希望器件在复位时转移到闪存内的代码。 为此、您需要将 PCB 上的这些引脚连接至高电平。 引导 ROM 代码将拍摄这些引脚的快照、并根据值分支到相应的模式。

    [报价 userid="578397" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1290747/tms320f28374s-prototype-mostly-from-the-f2837x-control-card-design/4900777 #4900777"]我不确定我是否了解引导模式,因此是否应该在上电时将两个引脚都拉至高电平以实现正常引导?  [/报价]

    没有所谓的"正常"。 通常(无需使用脉冲)、器件会分支到闪存中的应用代码、因此几乎所有这些引脚都将连接高电平。

    此设置用于"Get Mode",但它从哪里获得该模式?

    由引导 ROM 代码选择模式。 请参阅 TRM 中的引导 ROM 章节。

    好的、您的晶体似乎正常振荡、但您无法切换到晶体振荡器。 请先确定引导模式选择、然后我们将重点转向晶体振荡器。  

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

    太棒了!  我做了一些手术、并将引导模式引脚拉至高电平、现在它可以正确加电。   

    再次验证我在 osc 上确实看到了20Mhz。

    当我将设备设置为使用"SYSCTL_OSCSRC_XTAL "时、上传正常、但会出现如下所示的错误、并且不会运行。   如果我改用"SYSCTL_OSCSRC_OSC1"、则它会以半速运行、我假设它使用的是内部时钟。

    //定义传递到 SysCtl_setClock()。 将按如下方式配置时钟:
    // PLLSYSCLK = 20MHz (XTAL_OSC)* 20 (IMULT)* 1 (FMULT)/ 2 (PLLCLK_BY_2)//(SYSCTL_OSCSRC_XTAL | SYSCTL_IMULT (20)|\
    //
    #define DEVICE_setClock_CFG (SYSCTL_OSCSRC_XTAL | SYSCTL_IMULT (20)|\
    SYSCTL_FMULT_NONE | SYSCTL_SYSDIV (2)|\
    SYSCTL_PLL_ENABLE)

    C28xx_CPU1:GEL 输出:
    存储器映射初始化完成
    C28xx_CPU1:错误:(ERROR -1044 @ 0x0)调试探针报告了错误。 确认调试探针配置和连接、重置调试探针、然后重试此操作。 (仿真软件包9.12.0.00150)
    C28xx_CPU1:无法停止目标 CPU:(错误-1135 @ 0x827DE)调试探针报告了错误。 确认调试探针配置和连接、重置调试探针、然后重试此操作。 (仿真软件包9.12.0.00150)
    C28xx_CPU1:尝试20次后无法确定目标状态
    C28xx_CPU1:在断开连接之前从目标中删除调试状态失败。 程序存储器中仍可能嵌入了断点操作码。 建议您在连接前复位仿真器并在继续调试前重新加载程序
     

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

    Chris、

      很高兴启动问题得到解决。 我们将了解您无法切换到晶体振荡器的原因。  

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

    Chris、您好!

    [quote userid="578397" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1290747/tms320f28374s-prototype-mostly-from-the-f2837x-control-card-design 示例代码"led_ex_1_blinky"是我正在使用的初始代码。  我可以将其与 TMDSCNCD28379D 评估板配合使用

    只是为了确认一下、您是否能够在 c2000ware 中使用 XTAL 作为时钟源运行 led ex_1_blinky 示例?

    对于在执行期间观察到的错误、您能否对电路板进行下电上电、然后查看您是否再次面临此问题。

    是否从闪存运行该示例? 如果是、您可以删除所有断点(如果有)并再次尝试运行代码吗?

    当您说 使用 XTAL 它无法正常工作时、代码是否在执行期间进入某个循环?

    由于启动问题已经解决、您能否尝试加载示例、看看是否可以在下电上电后使其运行。

    谢谢

    阿斯温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    示例代码"led ex_1_blinky"是我正在使用的初始代码。  我可以将其与 TMDSCNCD28379D 评估板配合使用

    只是为了确认一下、您是否能够在 c2000ware 中使用 XTAL 作为时钟源运行 led ex_1_blinky 示例?

    不需要-当我将其设置为 XTAL 时、代码将会上传、但当我尝试运行时、代码永远不会运行、并且我会收到上一篇文章中提到的调试错误。  另外、既然我的引导可以正常工作、那么就不会使用此 XTAL 设置进行连接、就像它被完全锁定一样。  即使要再次上传、我也可能需要断开引导连接。

    对于在执行期间观察到的错误、您能否对电路板进行下电上电、然后查看您是否再次面临此问题。

    下电上电不能纠正任何问题。

    是否从闪存运行该示例? 如果是、您可以删除所有断点(如果有)并再次尝试运行代码吗?

    是的、从闪存运行、没有断点。

    当您说 使用 XTAL 它无法正常工作时、代码是否在执行期间进入某个循环?

    它似乎会立即失败、不会任何工作、调试器出现故障、无法再看到目标。  如果我将参数设置为 OSC1、则它在半速时按预期工作。

    由于启动问题已经解决、您能否尝试加载示例、看看是否可以在下电上电后使其运行。

    仅在我将其设置为 使用  SYSCTL_OSCSRC_OSC1时有效。

    谢谢!

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

    Chris、您好!

    您能向我发送具有 XTAL 配置的 leed_ex_1_blinky.out 文件吗? 让我亲自尝试并进一步调试您面临的问题。

    另请附上 device.h 文件以供参考。

    谢谢

    阿斯温

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

    e2e.ti.com/.../8507.device.h

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

    e2e.ti.com/.../3058.led_5F00_ex1_5F00_blinky.zip

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

    Chris、您好!

    我能够 在闪存配置中加载 led_ex1_blinky.out。 我已经完成了下电上电、可以再次使 LED 闪烁。

    我已经使用 CCS V 12.4并将 XTAL 作为振荡器源。

    您是否对 CCXML 文件或 GEL 文件进行了任何更改?

    我建议您删除现有示例、然后再次从最新的 C2000WARE 导入示例、并尝试构建并运行它。

    如果您对 GEL 文件进行了任何更改、我建议您将它们还原回去。

    我没有收到您在上面报告的任何错误消息。

    谢谢

    阿斯温