一、片内Flash特性

1.1 FLash结构简图


我的开发板是stm32f103xx,所以片内flash主存储器大小128K,单页为1K。不同的芯片flash大小不同,页大小也不同。

主存储器

用来存储Rom程序,烧写的区域。当然也可以存一些其他东西,比如做nvram使用。

信息块

这个区域分两个部分。

存储区,用户不可写区域,用来存储ISP下载时用到的程序。当用ISP模式进行烧写时,自动调用里面的程序下载数据并烧写到flash里。

用户选项字,存储硬件配置信息。某些复用的外设可能在上电复位后就要立即知道它被用作其中哪个用途。

用户选项字默认不可写,它上电自动加锁。只有通过向FLASH_OPTKEYR依次写入约定解锁码KEY1和KEY2后才能解锁

寄存器

FPEC控制器

FPEC键寄存器(FLASH_KEYR) 写入键值解锁。
选项字节键寄存器(FLASH_OPTKEYR) 写入键值解锁选项字节操作。
闪存控制寄存器(FLASH_CR) 选择并启动闪存操作。
闪存状态寄存器(FLASH_SR) 查询闪存操作状态。
闪存地址寄存器(FLASH_AR) 存储闪存操作地址。
选项字节寄存器(FLASH_OBR) 选项字节中主要数据的映象。
写保护寄存器(FLASH_WRPR) 选项字节中写保护字节的映象。

stm32.cube(六)——HAL.FLASH相关推荐

  1. STM32 Cube IDE HAL库驱动 W25Q128 进行读、写、擦除操作

    一.W25Q128相关理论 W25Q128存储大小为128M-bit=16MB,可编程位(地址)为Flash_Size=16*1024*1024=16777216 B. W25Q128包含256个块. ...

  2. 【STM32的Cube和HAL生态】

    STM32的Cube和HAL生态 目录 章节介绍 一.单片机软件开发的时代变化 二.STM32软件开发的各种模式 三. STM32CubeMX工具入门与MDK5 四.STM32的FW补丁结构分析 五. ...

  3. STM32实现六轴姿态测量陀螺仪模块JY61P(标准库与HAL库实现)

    本模块支持串口采用串口实现数据采集和处理 设备型号选择 目录 设备型号选择 六轴姿态测量陀螺仪模块简介 产品概述 产品特点 引脚说明 模块UART与MCU连接 应用领域 模块与单片机的接线表设计 标准 ...

  4. stm32.cube介绍

    stm32.cube(一)--系统架构及目录结构 stm32.cube(二)--HAL结构及初始化 stm32.cube(三)--HAL.GPIO stm32.cube(四)--HAL.ADC stm ...

  5. STM32如何配置HAL库

    STM32如何配置HAL库 前言   相比较早几年使用标准库开发来讲,最近几年HAL库的使用是越来越多,那么我们开发应当使用哪一种呢,本文着重介绍常用的几种开发方式及相互之间的区别,白猫也好.黑猫也好 ...

  6. STM32使用片内FLASH制作小U盘(STM32+FLASH+MSC)

    STM32使用片内FLASH制作U盘(STM32+FLASH+MSC) 配套代码 https://download.csdn.net/download/qq_40824852/84998391 文章目 ...

  7. 使用STM32 CUBE IDE配置STM32F7 用DMA传输多通道ADC数据

    我的使用环境: 硬件:STM32F767ZGT6.串口1.ADC1.16MHz晶振.216MHz主频 软件:STM32 CUBE IDE 优点:不用定时触发采样,ADC数据是不停的实时更新,ADC数据 ...

  8. STM32学习笔记:FLASH读写之一

    因为关于STM32的Flash相关的知识点比较多,所以该内容的学习我们分为以下4个部分 1.RAM和ROM的一些基本概念 -- STM32学习笔记:FLASH读写之一 2.STM32的Flash寄存器 ...

  9. STM32开发,HAL函数实现待机唤醒功能以及SVN使用简介

    STM32开发,HAL函数实现待机唤醒功能以及SVN简介 1 概述 1.1 资源概述 1.2 实现功能 2 程序实现 2.1实现原理 2.2 程序源码 3 SVN简介 4官方例程库driver精简 5 ...

  10. 【STM32】CubeMX+HAL库之 硬件IIC+DMA控制OLED(兼容SSD1306SH1106驱动)

    [STM32]CubeMX+HAL库之 硬件IIC+DMA控制1.3寸OLED 前言 目前网上大多数驱动OLED屏都采用软件IIC,因为HAL库的升级使得硬件IIC的稳定性得到了保障,所以想采用硬件I ...

最新文章

  1. MySQL之最基本命令
  2. 测试你的Python 水平----7
  3. PYTHON Image Module中Pix[x,y]详解
  4. centos7.5安装
  5. 计算机电子贺卡制作圣诞节,如何制作电子圣诞贺卡?贺卡制作步骤
  6. 【编程题】【Scratch一级】2022.03 飞翔的小猫
  7. matlab弦截法例子,弦截法matlab程序
  8. 交叉编译Qt5.9.6
  9. 用Linux开发板制作智能音箱,【工程师实战】只要几步,普通音箱秒变小度智能音箱...
  10. 初试-基于神经网络的植物识别
  11. android壁纸应用,HPSTR - 可能是你见过最会玩的壁纸应用 - Android 应用 - 【最美应用】...
  12. Webpack 打包commonjs 和esmodule 模块的产物对比
  13. 原生JS制作最简单轮播图(超清晰思路)
  14. gsoap使用方法及心得
  15. android 代码审核 同质化,李相国:Android同质化竞争以差异制胜
  16. 机器学习与分布式机器学习_机器学习治疗抑郁症
  17. 打开excel,提示 flash play2 错误,解决办法
  18. 检查手机端还是非手机端,做m站和pc站的适配
  19. 浏览器运行java后未响应_java 无法在浏览器中运行?
  20. 这场峰会,让客户运营不再Hard

热门文章

  1. oracle19c新特性 以及推荐书籍
  2. Starry Night
  3. css网格_使用CSS网格构建的澳大利亚初创企业的周期表
  4. 8.8.3. Line Segments
  5. Python:实现horizontal projectile motion平抛运动算法(附完整源码)
  6. 【代码随想录刷题记录】 232.用栈实现队列 、225. 用队列实现栈
  7. 关于GoJs的总结及多功能实例
  8. ESP8266使用红外VS1838接收红外信号
  9. 第19章 Linux电源管理的系统架构和驱动之CPUIdle驱动
  10. FLV视频封装格式详解