当前位置:首页 > 单片机 > 单片机
[导读] 概述flash作为stm32中的存储物质,使用非常广泛。关于flash的概念什么的网上已经有很多介绍,笔者便不再赘述,分享一篇stm32的闪存中文编程手册。相对于很多操作寄存器的例子,笔者这篇着重于用库函数处

概述
  • flash作为stm32中的存储物质,使用非常广泛。关于flash的概念什么的网上已经有很多介绍,笔者便不再赘述,分享一篇stm32的闪存中文编程手册。

  • 相对于很多操作寄存器的例子,笔者这篇着重于用库函数处理。

代码设计写入

编写代码的时候实际上非常简单。只需要几个步骤就可以完成写入。

  • 解锁
    FLASH_Unlock();
    这一步非常简单。只需要调用上面的解锁函数即可。虽然简单,但是不能省略~

  • 清除相应的标志位
    FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_BSY | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
    笔者于头文件中找到了这几个标志位于是全部清除。同样也是不能省略。

  • 擦除扇区

    • 这一步是整个写入过程中最为让人不解的。但是只要搞懂了原理。其实也不是那么难懂。

      flash中有一个叫扇区的概念,有的教材也称为页。按照不同容量,flash存储器组织成32个1K字节/页(小容量)、 128个1K字节/页(中容量)、 256个2K字节/页(大容量)的主存储器块和一个信息块。

    • st公司提供的擦除flash扇区库函数,一次至少要擦除一个扇区。
      FLASH_Status FLASH_ErasePage(uint32_t Page_Address)
      其中Page_Address是要擦除扇区的地址,若传入的不是首地址也会对齐到首地址擦除相应的一个扇区。也就是说我们存在这个扇区上的所有东西都会被清除。

    • 如果不清除该扇区,我们是没有办法在该扇区上写东西的。据说这样是因为硬件设计的原因(笔者不是很确定)。

    • 这里就涉及到了一个可擦除范围的问题。flash的地址范围那么大,会不会有什么地方是不能擦除的呢。答案是有的。经过笔者的实验,笔者的stm32f107vct6的地址范围是0x08032000~0x0803FFC4。至于为什么不是从flash的起始地址0x08000000开始呢。根据笔者的查询,是因为避开rom开始的位置,不能把正在运行的程序给擦除了,至于为什么是在0x0803FFC4结束,这个笔者就不是特别明白了,但是总的来说不影响我们的使用。

  • 写入数据

    这也是最关键的一步,前面说了半天,都是为这个做铺垫。

    先介绍一个字和半字的概念

  • 字(Word): 32位长的数据或指令

    半字(Half Word): 16位长的数据或指令

    flash的写入是分字和半字的。

    FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data)

    FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data)

    根据所指定的地址,一次只能写进一个数据。

  • 上锁

    最后一步,重新锁定

    FLASH_Lock();

  • 流程图

解锁清楚标志位擦除写入上锁

读取

读取就更为简单了,只需要根据地址转为指针在转为数据即可
pBuf[i] = *((u16*)startAddr + i);


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭