• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32下UCOSIII下如何擦除Flash,总是提示FLASH_ERROR_PROGRAM

sjsjling 2018-08-07 浏览量:3629
请教大神,STM32下UCOSIII下如何擦除Flash,总是提示FLASH_ERROR_PROGRAM?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • UCOS 时间片的方式,会不会在擦除的过程中,程序跳转了。

    一些不能跳转的程序,需要加入临界段控制保护。

    程序在临界段之间,是不能进行中断跳转的。

    • 发布于 2018-08-07
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:14
  • 先检查一下硬件连接,或者是不是芯片有写保护,最不济可能就是芯片烧写次数到了,这个概率比较低。
    • 发布于2018-08-07
    • 举报
    • 评论 0
    • 0
    • 0

  • UCOS III自身并不是bootloader.

    擦除FLASH占用硬件需要锁定任务.

    • 发布于2018-08-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 擦除flash跟有没有ucos没关系。 你要检查自己操作顺序对不对,要先调用flash的解锁函数,然后再擦除或写入。另外就是你传递的参数是不是正确,stm32有些芯片是传递flash地址的,有些是传递扇区号的。
    • 发布于2018-08-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的Flash是片上的,还是外挂的Flash啊

    这个错误是哪里输出的

    • 发布于2018-08-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是程序逻辑的问题,32内部flash要先解锁的
    • 发布于2018-08-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 32内部flash要先解锁的,擦除时候试着静止任务调度!
    • 发布于2018-08-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 擦除flash其实就是想flash发送擦除指令看一下底层操作代码是否正确就行了
    • 发布于2018-08-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 擦除的时候最好让程序进入临界区,禁止别的线程同时访问flash
    • 发布于2018-08-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 擦除flash要进行解锁,然后整页擦除,你要检查一下这两个地方是否有问题
    • 发布于2018-08-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先要对你的flash解锁操作,你看看是不是芯片没有解锁
    • 发布于2018-08-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 在系统下进行Flash控制时,要关了系统调度与中断,才可以的
    • 发布于2018-08-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先要把你的系统调度关闭,再关闭总中断,最后才能擦写flash
    • 发布于2018-08-28
    • 举报
    • 评论 0
    • 0
    • 0

  • flash读写操作是不允许被任何打断的,你检查一下是不是擦除的函数执行时间不够或是被别的中断打断了?
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 擦除FLASH需要烧录代码与硬件支持的   UCOS只是一个系统  给你提供更方便的任务调度功能
    • 发布于2018-09-09
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32下UCOSIII下如何擦除Flash,总是提示FLASH_ERROR_PROGRAM