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.

[参考译文] TM4C1292NCPDT:基于 ARM 的微控制器论坛

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1162905/tm4c1292ncpdt-arm-based-microcontrollers-forum

器件型号:TM4C1292NCPDT

尊敬的 Sirs

我的问题与相关文章"TM4C1292NCPDT:我无法通过 JTAG 调试 TM4C1292NCPDT "中的问题完全相同。  解锁程序按通告的方式工作。  谢谢你。  与 Shaikh 先生一样、我没有将 JTAG 引脚分配给任何其他用途、控制器从未进入任何类型的睡眠模式、并且我没有在我的应用中配置 BOOTCFG。  但是、我知道 它必须与我的代码相关。  我找到了违规的代码行、请参阅下面的内容。   

int
main(void)
{
//    uint32_t i;
    uint32_t    time_ms;
    uint32_t    ticks;
//    uint32_t    hexFloatData1, hexFloatData2;
//    float       floatData1, floatData2;

    //
    // Run from the PLL at 120 MHz.
    // Note: SYSCTL_CFG_VCO_240 is a new setting provided in TivaWare 2.2.x and
    // later to better reflect the actual VCO speed due to SYSCTL#22.
    //
/*    g_ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
                                             SYSCTL_OSC_MAIN |
                                             SYSCTL_USE_PLL |
                                             SYSCTL_CFG_VCO_240), 120000000);*/
    
    g_ui32SysClock = SysCtlClockFreqSet((SYSCTL_OSC_INT | SYSCTL_USE_PLL |SYSCTL_CFG_VCO_480), 120000000);
    
    //
    // Set up the serial console to use for displaying messages.
    //
    ConfigureUART();

 配置系统时钟的注释出代码行是导致问题的代码。  配置系统时钟的代码行工作正常、不会锁定控制器。   电路板上有一个25MHz 振荡器、请参阅随附的原理图。  这为什么会导致问题?  感谢你能抽出时间。   

e2e.ti.com/.../Keller-Test-Fixture-PCB-Rev-A.pdf

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

    您好!

     原因是您的定制板上没有晶体。 请参阅您的原理图的下图。  

    下面的时钟设置将使用25MHz MOSC 振荡器作为 PLL 的时钟源来生成最终的120MHz 系统时钟。 由于您没有 MOSC、因此它将不起作用。  

     SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
    SYSCTL_OSC_MAIN |
    SYSCTL_USE_PLL |
    SYSCTL_CFG_VCO_240)、120000000);

    下面的调用使用内部16MHz 振荡器作为 PLL 的源来生成系统时钟。 默认情况下、内部振荡器在复位后使用、它将起作用。 内部振荡器允许客户节省 BOM 成本、但内部 OSC 可能与 MOSC 相比不具有精度。 这是您的申请决定。

    SysCtlClockFreqSet ((SYSCTL_OSC_INT | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);

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

    查尔斯

    感谢您的设计。  该板由另一位工程师设计。  但是、我们都对彼此的设计进行了同行评审。  我们都错过了这个。