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.8377万D:*.CCMXL ->启动所选配置将RWAIT初始化为0x03。

Guru**** 2551110 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/621695/ccs-tms320f28377d-ccmxl---launch-selected-configuration-initializes-rwait-to-0x03

部件号:TMS320F2.8377万D

工具/软件:Code Composer Studio

您好,

当我们通过[TMS320F2.8377万D.ccmxl]-->[启动所选配置]-->[connect]连接CPU1时,CCS (v720)将FRDCTRL.RWAIT初始化为0x03。

我的客户要求我们禁用此初始化。 我的客户要求CCS以两种方式执行相同的初始化,这种方式和BUG按钮。

请问您有什么建议?

如果需要复制,请尝试附加的项目。 它只是一个CCS v720 hello世界。

/cfs/file/__key/communityserver-discussions-组件文件/171/4705.f28377d_5F00_cpu1_5F00_hello_5F00_ccs720.zip</s>2.8377万

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    南武山
    当连接目标时,似乎正在写入寄存器。 假设您使用的是CCS附带的f2.8377万d gel文件,这可能是OnTargetConnect()调用中的一些操作。 或者可能是其他的东西。

    我将把这个主题转到C2000论坛。 那里的专家可以提供更多的见解。

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

    南武山

    Gel文件不会初始化RWAIT。  客户是否修改了凝胶文件?  

    请注意: 如果代码通过CCS加载到闪存,则RWAIT将根据片上闪存插件GUI中的频率配置进行设置。  如果GUI中的PLL配置保留为默认值,插件将RWAIT配置为3并擦除/编程Flash。

    我们的回答可能会延迟。

    谢谢,此致,
    Vamsi  

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

    我忘了提到,由于天气恶劣,我们的办公室关闭了,我无法测试您发送的项目。 但是,您提到的行为与您的项目无关。 如果客户编辑了凝胶,则可能与凝胶有关。

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

    Vamsi,Ki,

    感谢您在有限的环境下进行回复。

    当您回到办公室后 ,我们将继续处理客户请求。 RWAIT不能由CCS初始化。

    我认为只要我进行了测试,它就会在*。CCMXL启动时初始化。

    附注

    * CCS项目 为100 % CCSv720默认值。 它是由[CCS new project]-->[hello]生成的。

    * Gel文件也是CCSv720默认文件。

    *对我来说,这是一个新信息,即时钟设置决定了RWAIT。 尽管在[项目属性]->[调试]->[刷新设置]对话框中尝试参数时没有更改。

        

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

    南武山

    Hideaki Nambu 说:
    * CCS项目 为100 % CCSv720默认值。 它由[CCS new project]-->[hello]生成。

    它与项目不可能相关,因为您还提到了无项目调试会话也会重现该问题

    Hideaki Nambu 说:
    我认为只要我进行了测试,它就会在*。CCMXL启动时初始化。[/QUOT]

    当目标连接时,更有可能发生这种情况。 启动调试器将不会接触到目标。 目标连接将。 在某些情况下(如项目调试),调试器将在启动调试器后自动连接目标,从而造成混淆。

    尝试从CCXML文件中删除正在使用的Gel文件。 如果问题仍然存在,那么我们知道凝胶文件不是问题所在。

    谢谢

    KI

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

    Ki-san

    >要尝试的一件事是从CCXML文件中删除正在使用的gel文件。 如果问题仍然存在,那么我们知道凝胶文件不是问题所在。

    当我在TargetConnect()上删除Gel功能中的内容时,RWAIT仍被初始化为0x3

    很抱歉我的线程太长了。 我是否可以询问任何其他关于RWAIT不能由CCS初始化的想法?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否让客户完全取出凝胶文件,以便不使用任何凝胶文件? 某些凝胶回调可能会有一些接触目标的操作。 如果没有GEL文件,且寄存器仍被初始化,则可能不是CCS的任何直接操作导致了修改
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    寄生:
    我测试了这个。
    -当我的CCMXL - C28xx_CPU1指向擦除的凝胶时,RWAIT仍初始化为0x3。
    -当我的CCMXL - C28xx_CPU1指向空白凝胶时,RWAIT仍初始化为0x3。

    然后,我们是否要离开凝胶并移到其他地方以查找初始化RWAIT=0x03?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hideaki-san,

    您是否在闪存中编程了任何应用程序? 可能是应用程序正在初始化RWAIT。
    尝试擦除闪存并再次检查。

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

    瓦姆西

    请尝试附加的项目。

    /cfs/file/__key/communityserver-discussions-组件文件/171/blinky_5F00_cpu01_5F00_06_5F00_NoRWAIT_5F00_WdDisable.zip

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

    瓦姆西

    我今天唯一的发现是一个bootrom代码函数 c1brom_change_clock_divenders_powerup flash()在[c1brom.boot.c]中。

    它操作RWAIT字段。

    它是否在“启动所选配置”上运行?

    void c1brom_change_clock_diveders_powerup flash()

           EALLOW;

           //设置1.6 倍频位
           AnalogSubsysRegs.INTOSC1CSR.bit.OSCCONFIG |= 0x2;
           //-在使用5-15 MHz时钟写入位后,需要20 us设置时间

           ASM (" MOV @T,#90 ");
           ASM (" RPT @T \  
                    ||NOP ");

          //将分隔符设置为/1,使闪存初始化更快
           ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = 0;


           ClkCfgRegs.SYSPLLMULT.bit.IMULT = 12;
           ClkCfgRegs.SYSPLLCTL1.bit.PLLEN = 0x1;

           //将RWAIT设置为0x3
           FlashCtrlRegs.FRDCNTL.bit.RWAIT = 0x3;
           //保存默认PSLEEP值
           //更改(15 * 1.6) MHz的PSLEEP值...?
           FlashCtrlRegs.FPAC1.bit.PSLEEP = 0x120;

           //访问OTP -读取OTP修订版或启动闪存的内容
           ota_cpu_id_version;
           //将PSLEEP值改回默认值

           FlashCtrlRegs.FPAC1.bit.PSLEEP = 0x860;
           FlashCtrlRegs.FRDCNTL.bit.RWAIT = 0xF;

           EDIS;

    }

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

    BootROM将RWAIT配置回0xF。 我将请我们的BootROM专家在此发表评论。

    那么,您是否确认闪存中没有编程用于配置RWAIT的代码?

    谢谢,此致,
    Vamsi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瓦姆西
    老实说,我没有。 我不知道在哪里检查我的代码。
    我们发布"启动所选配置"以暂停正在运行的代码。 我不知道我的代码中哪一个钩住了暂停并将RWAIT覆盖为0x03。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hideaki-san

    关于引导操作,如所发布的代码中指出的,这是引导期间执行的RWAIT的唯一配置。 无论何时通过开机重置,XRS或休眠重置重置设备,都会运行该闪存开机代码。 但正如Vamsi指出和提到的,RWAIT总是设置回0xF。

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

    Chris,

    感谢您的帖子。

    让我再次提醒,我们的目标是找出RWAIT=0x3的来源。

    如果你能告诉你 ,那就好了,但如果今天不容易的话,我可以问以下问题吗?

    问题1.  我不清楚 c1brom_change_clock_divenders_powerup flash()函数是否在本例中运行。 我们发布"启动所选配置"以暂停正在运行的代码。 不是bug按钮。 请问您有什么建议?

    如果它运行,则“FlashCtrlRegs.FRDCNTL.bit.RWAIT = 0xF;”行可能不成功。

    如果没有,我们需要去其他地方看看。

    问题2. 现在TI中是否有重复的信息? 我很抱歉在飓风周开始这条线。

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

    是的,我复制了您看到的内容。 我仍在调查当您刚刚连接时,它显示为0x3的原因。

    当您通过目标配置启动时,该功能不会运行。 它将使您进入引导的开始,即使您运行引导,由于重置原因,它也不会运行该功能。 如果触发了看门狗或加载了应用程序,我会按预期看到0xF。 使用看门狗重置时加载的符号逐步引导,我可以确认代码正在运行,并按预期设置0xF。

    此致
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Chris,
    再次感谢您的帖子。
    我会要求您了解如何禁止不需要的更新RWAIT=0x03。

    在我之前的帖子中,我的目标定义不正确。 让我再次解释一下目标:
    当"Launch selected configuration (启动所选配置)"暂停正在运行的代码时,CCS不会意外更改RWAIT。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hideaki-san,

    根据我们的实验,CCS Flash插件似乎正在目标启动和连接时将等待状态初始化为0x3。 我认为除非我们更新工具,否则没有解决方法来抑制它。 我将在工具所有者下周中回到办公室后与他同步。

    只是好奇:为什么要启动目标配置来暂停正在运行的代码? 为什么不能使用暂停按钮? 此外,在目标启动时将等待状态初始化为0x3时有什么问题-只是想知道吗?

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

    瓦姆西

    我们很高兴了解您的进展。

    >只是好奇:为什么要启动目标配置来暂停运行代码? 为什么不能使用暂停按钮? 此外,在目标启动时将等待状态初始化为0x3时有什么问题-只是想知道吗?

    我们经常测试独立操作。 崩溃时,我们决定尝试JTAG连接= "启动所选配置",并检查程序计数器等。 我认为这是非常有用的。

    我们调试了一个软件计时器。 "启动所选配置"更改了计时器速度,因此更改已被消除。

    如果 CCS更改了寄存器值,即使值为0xF或0x3...,我也希望CCS保存值并写回。

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

    Hideaki,

    我们将更新用于恢复等待状态值的工具。  将于10月更新此线程的详细信息。

    谢谢,此致,
    Vamsi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瓦姆西
    感谢您的回复。
    我们等待您的帖子。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hideaki,

    此更新将于下周10月2日提供。
    请检查CCS更新中是否有TI C2000器件支持软件包和Flash DebugServer软件包,并安装它们。

    谢谢,此致,
    Vamsi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瓦姆西
    我更新了CCS730并再次尝试启动所选配置。 这次RWAIT不是0x3,而是0xF (良好)。

    我需要以下更新:
    1)调试服务器闪存版本7.3 .0.1083
    2) TI C2000器件支持版本4.2。2.0

    在我的情况下,项目通过以下操作显示:
    在CCS中,转至'Windows -> Preferences (首选项)',然后转至'Install/Update -> Available Software Sites'(安装/更新->可用软件站点)。 找到Code Composer Studio v7 Updates条目,单击它,然后单击右侧的Reload (重新加载)按钮。 然后,尝试再次搜索更新。

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

    很高兴与您在离线状态下处理此问题。 感谢您确认这些修补程序正在为您恢复RWAIT而工作。

    此致,
    Vamsi