proteus模拟运行stm32f103卡住
现象
使用proteus模拟运行stm32f103,代码使用cubemx配置生成,使用keil编译,带有freertos工程,会出现卡住不运行工作线程的现象。经检查,根本原因是proteus没有配置HSI时钟信息。
排查步骤
首先使用GPIO和串口进行排查,排查到此函数异常,这里是进入了rtos的调度
然后进一步debug,定位到此处,显然这里是必定触发assert的,可能是官方工程的问题,注释掉。
此处一样需要注释掉
最后卡在这个函数,这个函数是汇编内联函数,不知道为什么在这里卡住。
在网上查到,很多人因为没有配置proteus的时钟导致卡住,于是按照cubemx的配置修改了时钟。