STM32G0 上的 IAR Workbench 模拟器陷入等待状态,直到 PLL 准备就绪

问题描述 投票:0回答:1

我有一个在主函数中调用 SystemClock_Config() 的示例代码。

当我从 IAR Workbench 启动模拟时,主函数会卡在上述调用中,特别是当它这样做时

/* Wait till PLL is ready */
while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U)
{
    if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE)
    {
         return HAL_TIMEOUT;
    }
}

我最近才开始使用这个工具。 我认为模拟器应该处理这个问题,因为我没有硬件,所以没有“PLL”。

c embedded stm32 iar
1个回答
0
投票

它是一个ARM I指令集模拟器,它不模拟外围硬件,包括PLL。

您可以手动设置

RCC_CR_PLLRDY
或通过将程序计数器设置为循环后的某个点来跳过循环,或者您可以编写附加到断点的调试器脚本来设置
RCC_CR_PLLRDY
并继续(如果 IAR 有该功能)。

但是,您无疑会遇到任何硬件外设(无论是片内还是片外)的类似问题。

© www.soinside.com 2019 - 2024. All rights reserved.