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

【求助】STM32F427 Flash报PGSERR错误

[复制链接]
kishs 提问时间:2024-9-4 11:41 / 未解决

在使用bootloader跳转到APP区域后,运行几步就开始报PGSERR错误导致不能再对Flash进行擦写

以下相应的操作:

  • bootloader程序:
  • 1725418158134.png

1725418195997.png

  • APP程序:
  • 1725418242813.png

1725417631600.png

有几点奇怪的地方:

1、FLASH->SR 的PGSERR报错时间并无明显特定时间,在bootloader跳转到APP后,单步调试并不能确定哪里报故。 2、在APP跳转到报故的一段时间并没有对Flash进行任何操作

3、有其他APP程序执行相同操作,会出现偶尔报错,偶尔不报错,对比报错前后并无特殊处理

  • 补充代码:
#define  PREFETCH_ENABLE              1U
#define  INSTRUCTION_CACHE_ENABLE     1U
#define  DATA_CACHE_ENABLE            1U

HAL_StatusTypeDef HAL_Init(void)
{
  /* Configure Flash prefetch, Instruction cache, Data cache */ 
#if (INSTRUCTION_CACHE_ENABLE != 0U)
  __HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
#endif /* INSTRUCTION_CACHE_ENABLE */

#if (DATA_CACHE_ENABLE != 0U)
  __HAL_FLASH_DATA_CACHE_ENABLE();
#endif /* DATA_CACHE_ENABLE */

#if (PREFETCH_ENABLE != 0U)
  __HAL_FLASH_PREFETCH_BUFFER_ENABLE();
#endif /* PREFETCH_ENABLE */

  /* Set Interrupt Group Priority */
  HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);

  /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */
  HAL_InitTick(TICK_INT_PRIORITY);

  /* Init the low level hardware */
  HAL_MspInit();

  /* Return function status */
  return HAL_OK;
}
1725417631600.png
1725418242813.png
1725417547752.png
1725418195997.png
1725418158134.png
收藏 评论1 发布时间:2024-9-4 11:41

举报

1个回答
xmshao 回答时间:2024-9-6 15:00:21
PGSERR: Programming sequence error
Set by hardware when a write access to the Flash memory is performed by the code while
the control register has not been correctly configured. Cleared by writing 1


这个问题可以分两种情形来看:


第一种情形,就是你当前的FLASH编程过程中出现了没有遵守flash编程规则导致的编程错误;


对于这种情形,重点检查下有关flash编程的操作代码;比方开锁、编程对齐约定等;




第二种情形,本质上跟第一种是一样的,也是非法操作flash。但往往是无意中发生的,即本意并无
要对flash进行编程操作但又发生了对flash的写操作。


这往往发生在程序跑飞无意做了对flash的写操作。还有就是,有些数据,往往是数据较多的结构


体没有初始化或没有完全初始化就被使用,也比较容易发生编程错误。


因为对一个未明确、正确初始化的地址去写时,若刚好写的地方是flash,则会直接报flash编程错误。


相对而言,第二种情形更加隐蔽点。
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版