首页 > flash模拟EEROM

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:

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

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

更多相关:

  • 分析凤凰网发现,跟广告相关的这个js频繁出现,它是生成图片和swf广告代码片段模板的脚本。 特分析如下: http://h0.ifengimg.com/ifeng/sources/yingguang-20140307.js 其源码如下 (function() {if (/.swf$/.test(ad.toLowerCase...

  • Flash 5开始就可以以 XML 或者“变量/值”配对输出格式向服务器传送 数据 。虽然这些数据能通过Flash编译器自动解析或者通过 开发 人员自行编写的 代码 手动解析, 但解析的速度慢。因为在解析过程中,XML需要按节点逐层处理数据。而且使用XML和“变量/值”配对格式处理的数据类型只能是字符型,数字也不例外。而Flash R...

  • from:   http://www.ibm.com/developerworks/cn/linux/l-trace32/ 随着软硬件复杂性的增加,在嵌入式系统开发中,调试器对项目的开发进度、质量起着越来越重要的作用。在众多的调试器中,Lauterbach 公司的 Trace32 凭借其强大的功能,出色的性能,成为目前嵌入式系统...

  • Flash Builder在Debug时出现的问题:Flash Builder 找不到所需的Adobe Flash Player调试器版本 解决方法: 1. 进入Flash Builder的安装目录 C:Program FilesAdobeAdobe Flash Builder 4.6playerwin11.1 2. 安...

  • 因为函数参数是按值传递的,所以要想改变变量,必须传递地址。 二级指针实际上就是指针变量的地址,如果传递二级指针,函数声明必须写**。 (void**)&必须是本质上就是指针变量的地址才可以做这样的转换,并不是说把一个一级指针也可以转换,void**的本质是标识一个二级指针。 &data就是(默认数据类型 **)&data,(void...

  • 文章目录1. 解决问题2. 应用场景3. 实现如下:C++实现C语言实现4. 缺点 1. 解决问题 在工厂方法模式中,我们卖衣服。此时我们为每一种衣服创建不同的工厂,帽子有一个工厂专门创建,裤子有一个工厂专门创建,T恤有一个工厂专门创建。这样的方式保证了代码设计的开闭原则(对扩展开发,对修改关闭),解决了简单工厂模式中暴露的...

  • 转载于:http://blog.csdn.net/u012819339/article/details/50654764   实体作品请参看优酷视频。 若以上链接点击无效请把该链接地址复制到浏览器地址栏 http://v.youku.com/v_show/id_XODYzODczNzQ4.html 说明: 该作品为arvik于2014...

  • - (void)viewDidLoad {[super viewDidLoad];NSLog(@"我在玩手机");NSLog(@"手机没电了");[self chargeMyIphone:^{NSLog(@"出门逛街");}];NSLog(@"我在看电视"); }-(void)chargeMyIphone:(void(^)(void...

  • http://stackoverflow.com/questions/150446/how-do-i-detect-when-someone-shakes-an-iphone 我的实现(基于Eran Talmor): 没必要application.applicationSupportsShakeToEdit = YES; Set th...