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/TMS320F28379D:#TMS320F28379D #C2000 ware #IPC #boot

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/780656/ccs-tms320f28379d-tms320f28379d-c2000-ware-ipc-boot

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

工具/软件:Code Composer Studio

您好!

我正在尝试使用 IPC 标志同步 CPU01和 CPU02。我正在运行各自 RAM 上的两个代码。问题出在下面一行  

 IpcRegs.IPCSET.bit.IPC17 = 1;   

未设置为1,即在 CPU02代码中 IPC17位未设置为1。

我在下面附上了两个代码。

e2e.ti.com/.../adc_5F00_epwm_5F00_cpu01.c

e2e.ti.com/.../adc_5F00_epwm_5F00_cpu02.c

此致、

Ashwin

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

    它的功能是否未按预期工作? 您的使用情况看起来正确。
    如果您查看 IPCSET 寄存器、则不会看到它设置为1。 该设置将反映在 IPCFLG 寄存器中。

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

    我按照建议检查了 IPCFLG 寄存器,但没有变化。

    我的构建和调试过程如下:

    1) 1)在 Project Explorer 窗口中、点击 ADC_ePWM_cpu01项目以将其设置为活动状态。 然后单击构建按钮并观察在控制台窗口中运行的工具。 检查“Problems (问题)”窗口中是否有任何错误。 对 ADC_ePWM_cpu02项目重复此步骤。

    2) 2)再次在 Project Explorer 窗口中、单击 ADC_ePWM_cpu01项目以将其设置为活动状态。 单击"Debug"按钮(绿色虫子)。 此时将打开启动调试会话窗口。 仅选择 CPU1以加载程序(即取消选中 CPU2)、然后单击确定。 "CCS Debug"视图应打开、然后 CPU1将连接到目标、程序将自动加载。

    3)调试窗口反映 CPU1和 CPU2的当前状态。

    4) 4)接下来、我们需要连接到 CPU2并在其上加载程序。 右键单击“Texas Instruments XDS100v2 USB Emulator_0/C28xx_CPU2”行,然后选择“Connect Target”。

    5) 5)在“Texas Instruments XDS100v2 USB Emulator_0/C28xx_CPU2”行仍然突出显示的情况下,加载程序:运行->加载->加载程序…
    浏览至文件:C:\ti\c2000\C2000Ware_1_00_06_00\device_support\f2837xd\examples\dual\adc_ePWM\cpu02\ccs\cpuU2_RAM\adc_ePWM_cpu02.out 并选择
    可以加载程序。

    6)再次选中“Texas Instruments XDS100v2 USB Emulator_0/C28xx_CPU1”行,然后通过单击以下菜单栏设置引导加载程序模式:
    Scripts -> EMU Boot Mode Select -> EMU_BOOT_SARAM
    使用上述相同的步骤为 CPU2设置引导加载程序模式。



    构建和 Degub 过程中是否有任何错误?

    运行过程:
    7) 7)在"Debug"窗口中,单击"Texas Instruments XDS100v2 USB Emulator_0/C28xx_CPU1"行。 单击绿色的"Resume"按钮、在 CPU1上运行代码。 此时 CPU1正在运行。

    8)在 Debug 窗口中,点击“Texas Instruments XDS100v2 USB Emulator_0/C28xx_CPU2”行。 与之前一样、通过单击 Resume 按钮在 CPU2上运行代码。


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

    您的过程似乎没有不正确的地方。 您已单步执行代码、但在执行该操作时看不到它是否已设置?
    如果您尝试使用"all"类型设置 IPC17或使用 driverlib、该怎么办? 示例:IpcRegs.IPCSET.ALL |= 0x20000;

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

    我尝试了您告诉的更改,但它没有反映任何更改。
    但是,
    我得到:在地址"0x3fec52"处中断、没有可用的调试信息、或者在程序代码之外。
    当我尝试连接 CPU02的目标时,是否与未启用的 IPC 标志有关(只是出于好奇)。

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

    我不能说、但我怀疑它与 IPC 标志有关。
    您是否能够从 C2000Ware 中成功运行 IPC 示例?
    将代码加载到 CPU1和 CPU2。 然后通过 CCS 复位 CPU2并运行 CPU2。 然后运行 CPU1。

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

    Chris、

     您是否能够从 C2000Ware 中成功运行 IPC 示例?

    否 IPC 示例不起作用。

     

    此致、

    Ashwin

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

    您看到了什么行为?
    如果 CPU1在等待 CPU2 "引导"时卡住、请确保将代码加载到 CPU2、然后将其复位、然后运行。 然后运行 CPU1、这将命令 CPU2引导。

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

    我已经听不到您的意见了两周,因此我假设您能够解决您的问题。 如果情况并非如此,请拒绝此解决方案并回复此主题。 如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

    此致、
    Chris