一种外置QSPIFlash挂载文件和运行镜像固件的方法及系统技术方案

技术编号:39817011 阅读:13 留言:0更新日期:2023-12-22 19:35
本发明专利技术公开了一种外置QSPI Flash挂载文件和运行镜像固件的方法及系统,方法包括:初始化QSPI Flash,挂载文件系统,运行镜像固件,判断是否有升级镜像固件发生,其中,文件系统为LITTLEFS文件系统,镜像固件基于XIP方法;系统包括:处理器,以及与处理器连接的QSPI Flash,其中,处理器与QSPI Flash通过六线QSPI电路接口连接。本发明专利技术的有益效果是,可以同时挂载文件系统和运行镜像固件,丰富了嵌入式固件、文件存在形式;采用6线QSPI Flash+内存映射访问提高速率,效率更高;采用认证方式,不容易受干扰,更加安全;内置错误分支处理单元,运行更加稳定;处理器+QSPI Flash的系统集成度高,设计简洁。设计简洁。设计简洁。

【技术实现步骤摘要】
一种外置QSPI Flash挂载文件和运行镜像固件的方法及系统


[0001]本专利技术涉及存储系统领域,特别是涉及一种外置QSPI Flash挂载文件和运行镜像固件的方法及系统。

技术介绍

[0002]随着物联网的快速发展,物联网的产品种类应用越来越多。单独使用蜂窝模组(内置的Flash空间有限,不能完全支撑起一个完整的行业应用。比如采用OpenCPU模式开发,既要支持TTS离线文字语音转换及FOTA空中升级,还有必备的物联网主流HTTPS MQTTS FTPS通信协议,以及保留客户要求的一部分空间,就会出现内置Flash空间吃紧的现象,针对当前OpenCPU模式开发行业应用存在内置Flash空间吃紧问题,解决方法就是开源节流。要不就是精简部分功能,优化代码空间,要不就是外挂Flash。外置QSPI(Quad Serial Peripheral Interface)Flash挂载文件系统和运行镜像固件可以极大丰富嵌入式固件和文件分布形式,提高设备固件容量和快速存取文件,优化内存消耗,可广泛适用于芯片内置Flash空间吃紧的场景。但是外挂Flash目前业内还不支持同时挂载文件系统和运行镜像固件。即使支持,也存在运行不稳定(异常死机)、效率低(Flash读写超时)和不安全(容易受干扰)等问题亟待解决,还不能推广商用。
[0003]公开日为2015年9月16日,公开号为CN102880553B的中国专利文献公开了一种基于MCU的片外FLASH文件系统的读写方法,在片外FLASH的文件系统和FLASH的驱动层之间增加逻辑转换层,所述逻辑转换层将一个物理sector划分为若干个与逻辑sector大小相等的区域并分配序号,通过做逻辑扇区和物理地址之间的转换,解决逻辑sector和实际物理sector大小不一致的问题,从而实现文件系统对FLASH物理sector的读写等操作。
[0004]上述片外FLASH文件系统的读写方法的缺点是:简单实现了文件系统对Flash的读写等操作,但是其使用逻辑转换层的方法,虽然占用MCU中的RAM资源较少,但是其不稳定,并且相对而言效率不高,容易受到干扰,并且只是实现了文件系统的简单读写,并不能运行镜像固件。

技术实现思路

[0005]本专利技术的目的是为解决现有的外置Flash文件系统的不能同时挂载文件系统和运行镜像固件的问题,提供一种外置QSPI Flash挂载文件和运行镜像固件的方法及系统,可以同时挂载文件系统和运行镜像固件,具有可靠性高、安全性好,集成度高以及设计开发简洁的优点,提高了客户的体验。
[0006]本专利技术为解决上述技术问题所采用的技术方案是,第一方面:一种外置QSPI Flash挂载文件和运行镜像固件的方法,包括如下步骤:初始化QSPI Flash;挂载文件系统;运行镜像固件;检测是否升级镜像固件;其中,文件系统为LITTLEFS文件系统,镜像固件基于XIP方法,通过SWD下载协议接口检测是否有升级镜像固件发生;检测是否有升级镜像固件发生,若有则执行烧录算法,否则直接运行外置XIP镜像固件。如果烧入成功将置位ROM标
志位,并进入片外Bootloader重启运行新的App系统应用固件。
[0007]使用上述第一方面的技术方案,首先需要初始化QSPI Flash,然后向QSPI Flash内移植LITTLEFS文件系统,移植完成后执行XIP本地程序运行,运行后通过SWD协议接口检测是否有升级镜像固件发生,若没检测到升级则直接运行外置XIP镜像固件,即可同时挂载文件系统和运行镜像固件,否则会执行烧录算法,烧录完成后,重启运行新的App系统应用固件,即可同时挂载文件系统和运行镜像固件。
[0008]在第一方面中,作为优选,挂载文件系统包括:创建一个LITTLEFS任务;配置QSPI Flash器件;初始化LITTLEFS组件;对LITTLEFS组件的文件进行操作;其中,所述LITTLEFS任务在freeRTOS多任务实时操作系统中执行。其中,如果初始化LITTLEFS组件失败会执行一次参数格式化,并尝试重新挂载,挂载成功进入下一步,否则退出整个流程。重新挂载是按照系统默认参数继续挂载一次文件系统的过程,错误分支处理单元可以使得当系统出现错误等异常时得到解决,提高了整个系统的稳定性。
[0009]在第一方面中,作为优选,运行镜像固件包括:开机进入片外Bootloader启动引导区;初始化外置QSPI Flash器件;配置QSPI数据传输模式;判断ROM标志是否为启动还是搬运,并做相应处理;进入App后重映射中断向量表;初始化CPU资源参数及外设;其中,XIP运行镜像固件需要用到Bootloader启动引导固件和App系统应用固件。其中,配置QSPI数据传输模式主要是为了高效配合实时内存映射访问,在四个时钟周期内,四线传输数据,四线传送地址,单线传输指令;进入App后重映射中断向量表是里因为App系统应用固件也会有中断响应等要求,需要先设置,否则会出死机等异常现象。如此,采用内存映射访问提高速率,效率更高,并且重映射中断向量表提高了整个系统的稳定性。
[0010]在第一方面中,作为优选,烧录算法包括两层,其中:上层为烧录算法层,所述烧录算法层包含烧录的过程;底层为外设驱动层,主要为QSPI接口驱动程序。其中,烧录算法层主要函数为Init、 UnInit 、BlankCheck 、EraseChip 、EraseSector 、ProgramPage、 Verify七大块,分别对应初始化外置Flash、去初始化外置Flash、空白检查、整片擦除、扇区擦除、页编程和编程认证七大块;底层外设驱动层主要为QSPI 六线驱动接口,常用接口主要有扇区擦除、芯片擦除、页编程、数据读写、厂商ID读取等。当需要升级镜像固件时,烧录算法可以烧录新的App系统应用固件,运行更加稳定。
[0011]在第一方面中,作为优选,创建一个LITTLEFS任务包括:在任务中定义所需的参数;所述配置QSPI Flash器件包括:调用QSPI初始化接口初始化,初始化成功,将会读取QSPI Flash的厂商ID;所述初始化LITTLEFS组件包括:按照文件系统配置参数挂载到外置真实物理Flash。其中,在任务中定义所需的参数为任务栈空间和优先级等参数;配置QSPI Flash器件中初始化涉及时钟源、管脚和寄存器模式配置等。以上保证了LITTLEFS文件系统和QSPI Flash器件能够适配,是LITTLEFS文件系统正常运行的前提,参数设定保证了系统更加稳定,而读取厂商ID是为了验证,保证系统的安全性。
[0012]在第一方面中,作为优选,开机进入片外Bootloader启动引导区包括:配置CPU基本参数;所述相应处理为:如果为启动,则跳转到片外镜像运行基地址,启动App系统应用;如果为搬运,则拷贝App镜像备份区,置位ROM标志,并重启。其中,CPU的基本参数主要为主时钟源和中断源等参数配置,在初始化外置QSPI Flash器件时也会读取QSPI Flash的厂商ID,而本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种外置QSPI Flash挂载文件和运行镜像固件的方法,其特征在于,包括如下步骤:初始化QSPI Flash;挂载文件系统;运行镜像固件;检测是否升级镜像固件;其中,所述文件系统为LITTLEFS文件系统,所述镜像固件基于XIP方法;所述检测是否有升级镜像固件发生,若有则执行烧录算法,否则直接运行外置XIP镜像固件。2.根据权利要求1所述的挂载文件和运行镜像固件的方法,其特征在于,所述挂载文件系统包括:创建一个LITTLEFS任务;配置QSPI Flash器件;初始化LITTLEFS组件对LITTLEFS组件的文件进行操作;其中,所述LITTLEFS任务在freeRTOS多任务实时操作系统中执行。3.根据权利要求1所述的挂载文件和运行镜像固件的方法,其特征在于,所述运行镜像固件包括:开机进入片外Bootloader启动引导区;初始化外置QSPI Flash器件;配置QSPI数据传输模式;判断ROM标志是否为启动还是搬运,并做相应处理;进入App后重映射中断向量表;初始化CPU资源参数及外设;其中,XIP运行镜像固件需要用到Bootloader启动引导固件和App系统应用固件。4.根据权利要求1所述的挂载文件和运行镜像固件的方法,其特征在于,所述烧录算法包括两层,其中:上层为烧录算法层,所述烧录算法层包含烧录的过程;底层为外设驱动层,主要为QSPI接口驱动程序。5.根据权利要求2所述的挂载文件和运行镜像固件的方法,其特征在于,所述创建一个LITTLEFS任务包括:在任务中定义所需的参数...

【专利技术属性】
技术研发人员:曾星星罗良辉赵烈昌姚纪元贾灵
申请(专利权)人:浙江利尔达物联网技术有限公司
类型:发明
国别省市:

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

1