STM32L0芯片FLASH编程简单演示

发布时间:2023-06-26  

这里就STM32L053芯片的FLASH编程做个简单演示并做些提醒,以供有需要的人参考。


一般来讲,FLASH编程主要包括擦除、代码编程、Option字修改操作,关于Option编程下面不做介绍。STM32L0芯片的擦除除了支持全片擦除外,再就是支持页擦除,每页的大小为128Bytes,即32个字。编程可以按字或按半页【64Bytes】编程。单页擦除、单字编程以及半页编程的时间都是一样的,大概3.2ms左右,这点在芯片数据手册上也明确出来了。


这里提醒两点。第一点,在做擦除或编程时,要注意地址对齐的问题,页擦除时地址要128字节对齐,字编程注意4字节对齐,半页编程时注意64字节对齐。还有一点就是做半页编程时,半页编程的执行代码要放到RAM里进行,这点手册也强调了。


下面演示字编程、页编程、页擦除的操作。这里我先以字编程模式写5个字,然后以半页编程模式对5个半页进行FLASH编程,并记录二者所花的时间,看看字编程时间跟半页编程的是否一致。另外,在完成5个半页编程之后,又进行了页擦除操作,擦除刚才已编程的5个半页中的1页,即最后应只剩下3个半页的内容【注:对于STM32L0系列芯片,内部FLASH被擦除后内容为全0】。


下面代码截图是基于STM32Cube库来组织的,主要涉及到字编程、半页编程、页擦除三个操作,对应着绿色下划线的3个库函数。

STM32L0芯片FLASH编程简单演示

其中,半页编程的执行代码需配置到RAM里去运行。另外,Period1和Period2分别来存放写5个字和5个半页的编程时间,并放在指定的FLASH位置。编译运行后我们可以看到如下结果:

STM32L0芯片FLASH编程简单演示

上面截图是经过运行后芯片内部的部分FLASH空间的内容。5个红色方框围住的数据乃5个字编程后的结果,蓝色方框内的数据乃5次半页编程后的结果,但最终只看到3个半页的编程内容,那是因为后面两个半页的内容经页擦除操作后而消失了。


用来统计编程时间的定时器的计数频率为1MHz,显然Period1和Period2基本是相等的,将它们再除以5后所得编程时间都是3.3ms的样子。显而易见,进行批量代码编程时采用半页编程更高效。


前面说了做半页编程时其执行代码需放到RAM运行,该代码在STM32cube库的这个文件stm32l0xx_hal_flash_ramfunc.c里面。实现该操作对于不同的IDE在处理上稍有差异。这里基于ARM MDK进行简单配置,划分点RAM出来给它用。

STM32L0芯片FLASH编程简单演示


关于STM32L0系列FLASH编程的演示就介绍到这里,愿能帮到有需之人以节省些时间和精力。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    stm32单片机用什么软件编程;  今天要和大家分享的是stm32单片机用什么软件编程相关信息。   想学单片机开发,最主要是熟悉stm32的软件开发环境,目前stm32的开发环境,主流是KEIL和......
    stm32用什么软件写程序;  stm32用什么软件写程序?STM32单片机在编程时可以使用库函数和使用配置寄存器的方式来进行程序的实现。   在学习stm32的过程中我们会用到编程环境:Keil......
    有人问我学习哪个PLC好,我会说三菱和西门子其中选一样开始学习,西门子比较全面而且论坛资料比较多,三菱也不弱,为什么推荐这两款,其一,编程思路比较突出,基本上国内模仿的也就是这两类,比如,台达,丰炜,永宏,信捷,基本上就是三菱......
    线上没有该触点,只需要把模式切换成读出模式或监视模式就可以使该触点自动显示出来。 【25】电脑上的编程软件和三菱PLC通讯不上是什么原因?通讯线的端口如何设置? 答:通讯不上的原因有多种,1、可能是没有给PLC......
    ,485BD和485ADP均可作为数据接口。显示装置可选用专用智能显示屏和通用计算机(PC).直接选用和PLC配套的显示屏或触摸屏,可实现PLC内部多个数据的集中显示,并可利用编辑软件编辑屏幕图形,提高......
    都是怎么解决的?为什么这么解决?这么解决有什么好处?两种解决方法你更喜欢哪种(或者说哪种更方便)?学会思考进步才更快!! 一、编程理念不同 三菱PLC是日系品牌,编程直观易懂,学习起来会比较轻松,但指......
    三菱PLC编程应该先学什么?;很多PLC初学者都会问一个问题,学三菱PLC编程应该先学什么? 首先要学习三菱PLC编程及应用的介绍,主要包括三菱FX系列PLC的数字电路基础、对PLC的理解、编程......
    单片机编程用什么软件?单片机开发软件有哪些?;单片机编程需要的软件其实不多,网上看了很一大堆,什么protues仿真、Labview、Pycharm等等,其实完全没必要一下装这么多。 我从......
    PLC连接电脑的多种基础方式?你会几种?;PLC 编程不同于其他的计算机软件编程,写好的程序在电脑上不会自动运行,需要结合外部线路和机械设备才能发挥程序的价值,这也是自动化技术的特色,理论+实践......
    不了解,今天我们就重点来看看PLC的发展历程,原理结构,硬件和软件支持等等,来系统全面的进行一个基础的认识: 可编程序控制器(Programmable LogicController)简称(PLC......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>