280049cflash烧写完成后程序不运行

img


280049c在烧写flash时候可以正常烧写,但是运行不起来,并且当回归改写代码时候会出现无法保存的情况,这要怎么解决,求各位指点

  • 这篇博客: (HAL库学习11)内部flash的使用,同时教得到bin文件的方法(反应单片机烧录进去的程序大小)中的 第一:先讲讲你不得不知道的flash使用: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 不同型号的STM芯片,FLASH 大小不一样,最小只有16k字节,最大的1024k字节,它由一些信息快与自身操作相关的寄存器以及最重要的主存储器组成,而主存储器就是我们存放代码和常量(比如const类型)的地方,比如上一篇博文讲的4寸SPI_TFTLCD的屏幕例子,那张图片以及单片机内部的执行代码都是在flash里面存储的,而flash特点在于,他在掉电之后不会被擦除,仍然保留原来的数据,所以这里我们可以利用它存一些我们需要记录下来的数据。
    flash以页为单位,以256k flash为分界线,flash大于等于256k的为大容量产品,2k字节一页 ,小于256k的为中小型容量产品,每页为1k字节
    flash写入操作顺序:1.flash解锁 2.查看flash是否能被操作(如果有别的进程占用了flash显然就不行了) 3.擦除这一页 4.写入新的数据 5.flash上锁 只说了关键步骤,其实细分还有很多。