当前位置:首页 > 企业新闻
官网:基于自编程功能的MCUBootloader设计
时间:2021-06-03 来源:im体育在线 浏览量 98474 次
本文摘要:OFweek电子器件工程网Bootloader是在单片机通电启动执行的一部分段程序。

OFweek电子器件工程网Bootloader是在单片机通电启动执行的一部分段程序。也称之为固定件,根据这一段程序,能够复位硬件配置机器设备、建立存储空间的同构图法,进而将系统软件的硬件软件自然环境带到一个合适的情况,便于为最终启用运用程序准备好精确的自然环境。  Boot编码由MCU启动执行的命令组成。这儿的loader偏向MCU的Flash中加载新的运用程序。

因而,Bootloader是依靠特殊的硬件配置而搭建的,因而,在诸多内嵌式商品中现阶段还不有可能搭建规范化Bootloader。  Bootloader的仅次优势是:不在务必外界编程器的状况下,对内嵌式商品的运用于编码进行重做升級。

它促使根据局域网络或是Intemet远程控制重做程序沦落有可能。比如,如果有5000个根据MCU的电度表运用程序务必重做,电度表生产商的专业技术人员就可以避免 主要从事对每一个电度表新的编程的巨大劳动量,根据用以Bootloader的作用,由监测中心根据电度表遗文报表系统软件互联网,远程控制对5000个电度表新的编程。由此可见,Bootloader作用针对嵌入式操作系统的广泛运用具有十分最重要的实际意义。  178K0/Fx2系列单片机简述  78K0/Fx2系列是携带CAN控制板的8位单片机,该系列产品单片机广泛运用于汽车电子产品,多功能仪表等行业。

其内嵌POC(可编程通电清零电源电路)/LVI(可编程低压指示仪),单工作电压自编程储存器,引领相互交换作用(储存器安全系数维护保养),具有功耗、长工作电压范畴、极高抗干扰性等特性。  78K0系列产品单片机抵制自编程(Self-programming)。说白了自编程,是会用Flash储存器中的随时待命的手机软件或程序对Flash储存器进行载入/编程的方式。根据单片机的自编程作用,能够设计方案Bootloader程序,根据串口通信等串行通讯接口搭建对商品新的编程、自动升级的作用。

im体育在线

  以PD78F0881为例证。PD78F0881为78KO/Fx2系列中的一款44引脚单片机,内嵌32KBFlashROM,2KBRAM,内置两个串口通信插口。

其內部Flash构造如图所示1下图。为了更好地便捷搭建载入和编程,人为因素地将全部Flash分成数个block,每一个block大若智1KB。block为自编程函数库中空缺检验、载入、校检的超过企业。

blockO从详细地址0000H刚开始,程序都从0000H刚开始执行。block0~block3共4k高清B储存空间为Bootloader程序储存区域。block4~block31为运用程序储存区域。  为了更好地防止Bootloader本身的升級结束,设计方案了引领相互交换作用。

该作用界定两个簇,即Bootcluster0和Bootcluster1。Bootclustee0为block0~block3的4k高清B储存空间,Bootcluster1为block4~block7的4k高清B储存空间。因而,具体应用全过程中,一般把运用程序的刚开始界定在2000H,也就是指block8开始。  Flash详细地址为0000H~FFFFH。

7FFFFH~FFFFH储存空间为享有区域及其相近作用存储器区域等,客户没法对其进行编程。  2自编程  2.1自编程自然环境  2.1.1硬件配置  FLMDO扩展槽是78KO/Fx2系列单片机为Flash编程方式设定的,作为操控MCU转到编程方式。在一般来说作业者状况下,FLMDO此谓脚底冲过地。

要转到自编程方式,必不可少使FLMDO扩展槽置成上拉电阻。因而,根据一个一般I/O控制模块操控FLMD0扩展槽的脉冲信号。如图2下图。

im体育在线

  2.1.2手机软件自然环境  1)用以通用寄存器bank3,自编程函数库,务必启用通用寄存器bank3。因而,在自编程时,没法对通用寄存器bank3作业者。  2)用以100BRAM(通道RAM)做为隐秘ROM中涵数的工作区域,通道RAM,是Flash储存器自编程示例库所用以的RAM区域。

客户程序务必享有着块区域,当启用库时,务必登陆这片区域的延续详细地址。通道RAM详细地址能够登陆在FB00h~FE20h中间。

  3)4~256BRAM做为数据信息缓冲区域,必不可少是FE20H~FE83H之外的內部髙速RAM区域。  4)仅次39BRAM做为隐秘ROM涵数的局部变量。  5)隐秘ROM中的涵数被0000H~7FFFH中的运用程序启用。

  2.2自编程步骤  自编程作用运用自编程软件库顺利完成客户程序对Flash內容的新的编程。假如在自编程的全过程中有终断再次出现,那麼自编程将终止来呼吁终断。终断完成,自编程方式彻底恢复后,自编程全过程将以后进行。

应用汇编程序编写78K0/Fx2自编程软件库,如报表1下图。  自编程作业者步骤如图所示3下图,当单片机收到自编程执行数据信号时,刚开始转到自编程方式。将FLMDO扩展槽设成上拉电阻,复位通道RAM,为自编程函数库修建室内空间。

当确认FLMD0为自编程情况时,刚开始查验务必编程区域否为空缺区域。当被编程区域并不是空缺区域时,再作将其载入,随后在这里区域进行编程。

编程完成后进行校检。若校检准确性,则将FLMDO扩展槽设成低电频,散伙自编程方式。

  3引领相互交换(bootswap)  商品程序的升級还包含运用程序的升級和引领程序(Bootloader本身)的升級。为了更好地防止引领程序在升級的全过程中再次出现不正确,进而导致MCU无法启动,设计方案了引领相互交换作用。欲意4表述引领相互交换的搭建全过程。  1)原来的Boot程序最先将新的Boot程序编程到相互交换引领簇1(Bootcluster1),随后设定起动相互交换标志位,并强制性看门狗1废黜。

  2)废黜起动后,MCU看到相互交换标志位,以后从相互交换引领簇1一处刚开始起动。相互交换引领簇1处的新Boot程序将查验相互交换标志位。

假如相互交换标志位被改置1,则新的Boot程序将载入相互交换引领簇0(Bootcluster0)区域,并将本身载入相互交换引领簇O,随后将相互交换标志位清零,强制性看门狗1废黜。


本文关键词:im体育在线,官网

本文来源:im体育在线-www.granitefabllc.com

版权所有张家界市im体育在线有限公司 湘ICP备64415811号-1

公司地址: 湖南省张家界市鱼台县傲建大楼888号 联系电话:0361-63082212

Copyright © 2018 Corporation,All Rights Reserved.

熊猫生活志熊猫生活志微信公众号
成都鑫华成都鑫华微信公众号