flash模拟EEROM
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:
- 地址必须是用户代码区以外的地址,如果把用户代码给卡擦了,可想而知你运行的程序可能就被废了(先在KEIL中限制程序空间,但只要重刷就会失效)
- 地址必须是 2 的倍数。
转载于:https://www.cnblogs.com/2cats/p/3598952.html
flash模拟EEROM相关推荐
- STM32外挂FLASH模拟U盘(基于HAL库)
STM32外挂FLASH模拟U盘(基于HAL库) 1.背景 1.1这篇文章能给你带来什么 1.2根据你要解决的问题,精确快速跳转到相应位置 1.3我在做完这个后还有不明白的地方,希望能有大触解答困惑 ...
- STM32F407 内部自带FLASH 模拟 EEPROM
STM32F407 内部自带FLASH 模拟 EEPROM 一.STM32F407自带FLASH STM32F4 本身没有自带 EEPROM,但是 STM32F4 具有 IAP(在应用编程)功能,所以 ...
- STM32F10x Flash 模拟 EEPROM
STM32F10x芯片本身没有集成EEPROM,替代方案是用片上Flash来模拟EEPROM.Flash与EEPROM的区别主要是:一.EEPROM可以按位擦写,而Flash只能按块(页)擦除:二.F ...
- STM32CubeIDE用Flash模拟Eeprom
目录 一.简介 1.1.开发环境 1.2.实现功能 二.擦除Flash页 三.写字节到Flash 四.从Flash读字节 一.简介 1.1.开发环境 STM32CubeIDE V1.9. 1.2.实现 ...
- FLASH模拟EEPROM编程
单片机内存FLASH模拟EEPROM编程 一,简述 很多单片机本身是没有自带EEPROM,但是一般具有在应用编程(IAP:In Application Programming)功能,可以把它的内存FL ...
- 小猫爪:这些年遇过的Bug1-KW36 FLASH模拟EEPROM读写错误
小猫爪:这些年遇过的Bug1-KW36 FLASH模拟EEPROM读写错误 1 背景 2 场景描述 3 分析原因 4 解决方案 1 背景 芯片型号:MKW36A512VFT4(NXP) 操作系统:Fr ...
- 什么,恩智浦的flash模拟EEP是这么玩的?
摘要 本篇笔记主要记录基于恩智浦MPC5744P的Flash模拟EEPROM存储参数和数据的算法,对官方给出的方案深入学习,并可以添加一些扩展内容. 准备工作 安装S32DS for PA, 因为我们 ...
- 如何将Flash模拟成EEPROM (EEPROM Emulation)
如何将Flash模拟成EEPROM (EEPROM Emulation) 温馨提示: 本文参考<EEPROM Emulation with Qorivva MPC55xx, MPC56xx, a ...
- STM32 USB SD卡读卡器和NAND FLASH模拟U盘
本次工程是要同时实现SD卡读卡器和NAND Flash模拟U盘的功能.结合之前的两个工程,稍稍修改下就可以了. 既然要实现两个盘,当然在usb_prop.c中的Max_Lun变量赋值为1,在USB_U ...
最新文章
- JTABLE加滚动条
- Linux下编译安装Apache、php和svn
- 理解C语言中指针的声明以及复杂声明的语法
- Activity (项目实战:选择宝宝装备-UsersRegister)【Intent打开Activity、数据传递-回传、更新进度条】
- 机房系统(九)——【组合查询】
- 再记一次 应用服务器 CPU 暴高事故分析
- mysql 用户授权_mysql添加、删除用户和授权用户
- linux以下哪个属于块设备,1222.在大多数Linux发行版本中,以下哪个属于块设备( )...
- 简单的多线程实例下载(供初学者下载学习)
- 分类算法----逻辑回归预测
- ASP.NET Web API 简介
- 当head遇上runat=server之后发生的纠结之事
- 编程语言的发展趋势及未来方向 目录 编程语言的发展趋势及未来方向	1 第一章 一、历史回顾及趋势概述	2 第一节 首先,编程语言的发展非常缓慢。oo等等,但是远没有好上1000倍。	3 第二节 出现
- 日均千万级消息规模,深捷旅使用函数计算释放运维压力
- 不知道CAD坐标系,如何做到CAD与卫星影像无偏叠加?
- 万豪酒店Marriott 积分兑换标准房晚必备:全球 Marriott Cat9 等级酒店列表 汇总
- hdmi怎么支持2k分辨率_选择2K显示器有没有必要?
- 微信模板消息发送成功但显示空白的问题
- mysql relay log.info_slave_relay_log_info
- Hadoop工程师面试题解析
热门文章
- jsp简介mysql_个人知识管理系统的设计与实现(JSP,MySQL)(含录像)
- 维护人员工具_防爆配电箱检修规范和维护保养
- list redis 怎样做排行_学 Redis 的 7000 字小结!!!
- python做定时任务的方式及优缺点_python BlockingScheduler定时任务及其他方式的实现...
- Python中的标准数据类型
- Linux那些事儿之我是Sysfs(8)一起散散步-pathwalk
- python3.8.0shell_Python 3.8.0 正式发布 更新内容
- python opencv单通道转多通道_13、OpenCV绘图和文本显示
- 覆盖半透明黑色CSS,通常用于弹窗提示、弹窗显示大图等情况的背景图层
- 在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务