你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
xyzjacky

xyzjacky

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
2 回答

flash的app区域有上一次的残留代码,会造成死机

STM32F103
xyzjacky xyzjacky 回答时间: 2024-12-3 14:18

感谢您的回答。 我在测试中,到hardfault这一步的时候,反查LR寄存器和PC寄存器,发现这两处都指向了FreeRTOS自己的两个函数。经过推敲,认为是跟堆栈有关,才会导致程序从FreeRTOS的这2个函数进入到hardfault中。 而后我把一个占用堆栈最大的任务屏蔽掉,再做导致死机的操作,测试后没有出现死机的问题。所以我认为你的回答是有道理的。 补充3张图,它们就是hardfault时,LR寄存器和PC寄存器,指向的FreeRTOS自己的两个函数。 进入hardfault时,xPortStartScheduler函数执行到return 0;这里了,所以系统崩了。 备注:我不明白的是为何是xPortStartScheduler函数之后出现崩了,这是FreeRTOS启动任务调度的函数。

赞0
xyzjacky xyzjacky


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16