一种优化STM32芯片DFU升级的方法技术

技术编号:20362577 阅读:41 留言:0更新日期:2019-02-16 16:23
本发明专利技术公开一种优化STM32芯片DFU升级的方法,其特征在于,该方法为:将内部和外部FLASH当成一个整体的FLASH,只生成一个媒介,在DFU升级时只需一次媒介操作。相比现有STM32芯片在有内外部FLASH的情况下,DFU升级分别将内部FLASH生成一个媒介、外部FLASH生成另一个媒介,本发明专利技术可以方便用户在固件升级时的操作,可以实现一次升级,避免复杂的操作要求。

【技术实现步骤摘要】
一种优化STM32芯片DFU升级的方法
本专利技术涉及STM32芯片技术,特别涉及一种优化STM32芯片DFU升级的方法。
技术介绍
STM32芯片基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM-M0,M0+,M3,M4和M7内核。按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。STM32芯片在有内外部FLASH的情况下,DFU(DeviceFirmwareUpgrade)升级一般是将内部FLASH生成一个媒介,外部FLASH生成另一个媒介。这种方式造成在用DFU工具升级时,需要分两次升级两个媒介,这样会给用户造成操作的复杂度和难度。
技术实现思路
针对现有技术存在的问题,本专利技术提供一种优化STM32芯片DFU升级的方法。为实现上述目的,本专利技术的具体技术方案如下:一种优化STM32芯片DFU升级的方法,该方法为:将内部和外部FLASH当成一个整体的FLASH,只生成一个媒介,在DFU升级时只需一次媒介操作。作为本专利技术一优选技术方案,该方法为:将内部和外部FLASH在逻辑分区表上当成一个整体的FLASH,内部和外部FLASH分别是顺序的不同地址范围,在升级操作时通过地址区分内部和外部FLASH操作。作为本专利技术一优选技术方案,该方法具体包括如下步骤:S1:将内部FLASH和外部FLASH按照寻址大小,整合到一张逻辑分区表;S2:在升级操作时,根据升级包数据地址,找到相应的FLASH,对其进行存取操作。作为本专利技术一优选技术方案,步骤S1中:内部FLASH和外部FLASH寻址范围不连续,整合在一起将会多出一部分空间,我们将多出来的这部分空间设置为无效区,设置为不可写入属性,并且读操作后的数据都是0xFF数值,即格式化数据。作为本专利技术一优选技术方案,步骤S2中:所述数据存取操作包括擦写、写入和读出。采用本专利技术的技术方案,具有以下有益效果:本专利技术可以方便用户在固件升级时的操作,可以实现一次升级,避免复杂的操作要求。附图说明图1为本专利技术方法的流程图;图2为本专利技术中内外FLASH整合到一张逻辑表后的效果图;图3为本专利技术中FLASH的操作流程图。具体实施方式以下结合附图和具体实施例,对本专利技术进一步说明。本专利技术提供一种优化STM32芯片DFU升级的方法,该方法为:将内部和外部FLASH当成一个整体的FLASH,只生成一个媒介,在DFU升级时只需一次媒介操作。其中,以逻辑分区表将内部和外部FLASH当成一个整体的FLASH,内部和外部FLASH分别是顺序的不同地址范围,在升级操作时通过地址区分内部和外部FLASH操作。图1与图2为以寻址大小为具体实施例,具体方法包括步骤:S1:将内部FLASH和外部FLASH按照寻址大小,整合到一张逻辑分区表;其中,内部FLASH和外部FLASH寻址范围不连续,整合在一起将会多出一部分空间,我们将多出来的这部分空间设置为无效区,设置为不可写入属性,并且读操作后的数据都是0xFF数值,即格式化数据。具体的区域划分含义如下:101--BootLoader是存储引导程序去,属于内部FLASH的一部分;102--属于内部FLASH的一部分,用于存储Firmware;103--无效区,属于虚拟的空间;104--属于外部FLASH,用于存储Firmware。S2:在升级操作时,根据升级包数据地址,找到相应的FLASH,对其进行存取操作。其中,所述数据存取操作包括擦写、写入和读出。图3为采用本专利技术方法的具体FLASH操作流程图。也是上述步骤S2的更具体化步骤。步骤S201:读写FLASH数据,从FLASH读数据或者将数据写入FLASH;步骤202:操作地址范围,对要操作的地址进行判断,确认是属于内部、外部还是无效区;步骤203:拒绝操作,无效区的写属性已设置为不可写,如果读操作的地址是在无效区,则将所有的数据都返回0xFF;步骤204:对内部FLASH操作,如果读写操作的地址是在内部FLASH,则对内部FLASH进行相应操作;步骤205:对外部FLASH操作,如果读写操作的地址是在外部FLASH,则对外部FLASH进行相应操作。以上所述仅为本专利技术的优选实施例,并非因此限制本专利技术的专利范围,凡是在本专利技术的专利技术构思下,利用本专利技术说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的
均包括在本专利技术的专利保护范围内。本文档来自技高网
...

【技术保护点】
1.一种优化STM32芯片DFU升级的方法,其特征在于,该方法为:将内部和外部FLASH当成一个整体的FLASH,只生成一个媒介,在DFU升级时只需一次媒介操作。

【技术特征摘要】
1.一种优化STM32芯片DFU升级的方法,其特征在于,该方法为:将内部和外部FLASH当成一个整体的FLASH,只生成一个媒介,在DFU升级时只需一次媒介操作。2.根据权利要求1所述的优化STM32芯片DFU升级的方法,其特征在于,该方法为:将内部和外部FLASH在逻辑分区表上当成一个整体的FLASH,内部和外部FLASH分别是顺序的不同地址范围,在升级操作时通过地址区分内部和外部FLASH操作。3.根据权利要求2所述的优化STM32芯片DFU升级的方法,其特征在于,该方法具体包括如下步骤:S1:将内部FLASH和...

【专利技术属性】
技术研发人员:吴松坤刘尚俊
申请(专利权)人:深圳市零点智联科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1