FLASH中:0x08000000--0x08000000+SIZE保存的是用户代码

Rule:

16位为传输单位

读数据:

u16 STMFLASH_ReadHalfWord(u32 faddr)

  • 可以在通用地址空间直接寻址:data=*(vu16*)ADDR;[ADDR为32位数据,指向的数据为uv16型]

写数据:

  • 写之前1:解锁FLASH_KEYR(FLASH_Lock(void);| FLASH_Lock(void);)
  • 写之前2:擦除,也就是其值必须是 0XFFFF,否则无法写入。[擦除页或直接擦除ALL]  1页=2k字节
  • 写之前3:  确保BSY 位为’0’
  • 写半字即16位(FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data);库里还有Word,byte版本实际上就是写两次HalfWord或1个byte占16位)
  • Wait until BSY==1

擦除:

  • FLASH_Status FLASH_ErasePage(uint32_t Page_Address);
  • FLASH_Status FLASH_EraseAllPages(void);
  • FLASH_Status FLASH_EraseOptionBytes(void);

ALIENTEK:

void STMFLASH_Write(u32 WriteAddr,u16 *pBuffer,u16 NumToWrite)

void STMFLASH_Read(u32 ReadAddr,u16 *pBuffer,u16 NumToRead)

Insure That:

  1. 地址必须是用户代码区以外的地址,如果把用户代码给卡擦了,可想而知你运行的程序可能就被废了(先在KEIL中限制程序空间,但只要重刷就会失效
  2. 地址必须是 2 的倍数

转载于:https://www.cnblogs.com/2cats/p/3598952.html

flash模拟EEROM相关推荐

  1. STM32外挂FLASH模拟U盘(基于HAL库)

    STM32外挂FLASH模拟U盘(基于HAL库) 1.背景 1.1这篇文章能给你带来什么 1.2根据你要解决的问题,精确快速跳转到相应位置 1.3我在做完这个后还有不明白的地方,希望能有大触解答困惑 ...

  2. STM32F407 内部自带FLASH 模拟 EEPROM

    STM32F407 内部自带FLASH 模拟 EEPROM 一.STM32F407自带FLASH STM32F4 本身没有自带 EEPROM,但是 STM32F4 具有 IAP(在应用编程)功能,所以 ...

  3. STM32F10x Flash 模拟 EEPROM

    STM32F10x芯片本身没有集成EEPROM,替代方案是用片上Flash来模拟EEPROM.Flash与EEPROM的区别主要是:一.EEPROM可以按位擦写,而Flash只能按块(页)擦除:二.F ...

  4. STM32CubeIDE用Flash模拟Eeprom

    目录 一.简介 1.1.开发环境 1.2.实现功能 二.擦除Flash页 三.写字节到Flash 四.从Flash读字节 一.简介 1.1.开发环境 STM32CubeIDE V1.9. 1.2.实现 ...

  5. FLASH模拟EEPROM编程

    单片机内存FLASH模拟EEPROM编程 一,简述 很多单片机本身是没有自带EEPROM,但是一般具有在应用编程(IAP:In Application Programming)功能,可以把它的内存FL ...

  6. 小猫爪:这些年遇过的Bug1-KW36 FLASH模拟EEPROM读写错误

    小猫爪:这些年遇过的Bug1-KW36 FLASH模拟EEPROM读写错误 1 背景 2 场景描述 3 分析原因 4 解决方案 1 背景 芯片型号:MKW36A512VFT4(NXP) 操作系统:Fr ...

  7. 什么,恩智浦的flash模拟EEP是这么玩的?

    摘要 本篇笔记主要记录基于恩智浦MPC5744P的Flash模拟EEPROM存储参数和数据的算法,对官方给出的方案深入学习,并可以添加一些扩展内容. 准备工作 安装S32DS for PA, 因为我们 ...

  8. 如何将Flash模拟成EEPROM (EEPROM Emulation)

    如何将Flash模拟成EEPROM (EEPROM Emulation) 温馨提示: 本文参考<EEPROM Emulation with Qorivva MPC55xx, MPC56xx, a ...

  9. STM32 USB SD卡读卡器和NAND FLASH模拟U盘

    本次工程是要同时实现SD卡读卡器和NAND Flash模拟U盘的功能.结合之前的两个工程,稍稍修改下就可以了. 既然要实现两个盘,当然在usb_prop.c中的Max_Lun变量赋值为1,在USB_U ...

最新文章

  1. JTABLE加滚动条
  2. Linux下编译安装Apache、php和svn
  3. 理解C语言中指针的声明以及复杂声明的语法
  4. Activity (项目实战:选择宝宝装备-UsersRegister)【Intent打开Activity、数据传递-回传、更新进度条】
  5. 机房系统(九)——【组合查询】
  6. 再记一次 应用服务器 CPU 暴高事故分析
  7. mysql 用户授权_mysql添加、删除用户和授权用户
  8. linux以下哪个属于块设备,1222.在大多数Linux发行版本中,以下哪个属于块设备( )...
  9. 简单的多线程实例下载(供初学者下载学习)
  10. 分类算法----逻辑回归预测
  11. ASP.NET Web API 简介
  12. 当head遇上runat=server之后发生的纠结之事
  13. 编程语言的发展趋势及未来方向 目录 编程语言的发展趋势及未来方向 1 第一章 一、历史回顾及趋势概述 2 第一节 首先,编程语言的发展非常缓慢。oo等等,但是远没有好上1000倍。 3 第二节 出现
  14. 日均千万级消息规模,深捷旅使用函数计算释放运维压力
  15. 不知道CAD坐标系,如何做到CAD与卫星影像无偏叠加?
  16. 万豪酒店Marriott 积分兑换标准房晚必备:全球 Marriott Cat9 等级酒店列表 汇总
  17. hdmi怎么支持2k分辨率_选择2K显示器有没有必要?
  18. 微信模板消息发送成功但显示空白的问题
  19. mysql relay log.info_slave_relay_log_info
  20. Hadoop工程师面试题解析

热门文章

  1. jsp简介mysql_个人知识管理系统的设计与实现(JSP,MySQL)(含录像)
  2. 维护人员工具_防爆配电箱检修规范和维护保养
  3. list redis 怎样做排行_学 Redis 的 7000 字小结!!!
  4. python做定时任务的方式及优缺点_python BlockingScheduler定时任务及其他方式的实现...
  5. Python中的标准数据类型
  6. Linux那些事儿之我是Sysfs(8)一起散散步-pathwalk
  7. python3.8.0shell_Python 3.8.0 正式发布 更新内容
  8. python opencv单通道转多通道_13、OpenCV绘图和文本显示
  9. 覆盖半透明黑色CSS,通常用于弹窗提示、弹窗显示大图等情况的背景图层
  10. 在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务