一种高效的嵌入式系统固件局部更新方法

黄鑫, 吴跃前, 王德明

黄鑫, 吴跃前, 王德明. 一种高效的嵌入式系统固件局部更新方法[J]. 华南师范大学学报(自然科学版), 2021, 53(4): 100-106. DOI: 10.6054/j.jscnun.2021064
引用本文: 黄鑫, 吴跃前, 王德明. 一种高效的嵌入式系统固件局部更新方法[J]. 华南师范大学学报(自然科学版), 2021, 53(4): 100-106. DOI: 10.6054/j.jscnun.2021064
HUANG Xin, WU Yueqian, WANG Deming. An Efficient Local Firmware Update Method for Embedded System[J]. Journal of South China Normal University (Natural Science Edition), 2021, 53(4): 100-106. DOI: 10.6054/j.jscnun.2021064
Citation: HUANG Xin, WU Yueqian, WANG Deming. An Efficient Local Firmware Update Method for Embedded System[J]. Journal of South China Normal University (Natural Science Edition), 2021, 53(4): 100-106. DOI: 10.6054/j.jscnun.2021064

一种高效的嵌入式系统固件局部更新方法

基金项目: 

国家自然科学基金项目 62001173

全国统计科学研究项目 2017LY85

广东省普通高校青年创新人才项目 2016KQNCX033

华南师范大学青年教师科研培育基金项目 14KJ05

详细信息
    通讯作者:

    黄鑫,Email: huangxin@m.scnu.edu.cn

  • 中图分类号: TP319

An Efficient Local Firmware Update Method for Embedded System

  • 摘要: 为了解决资源紧缺型嵌入式系统(Resource-scarce Embedded System,RSES)在固件更新时所存在的效率低问题,提出了一种高效的固件局部更新(Efficient Local Firmware Update,EL-FU)方法:新的局部固件先由调试器写入内存,然后由驱动程序写入外存中预留的局部更新区域,最后由调试器进行调试. 该方法通过修改操作系统,增加了更新触发、固件更新、目录添加和提醒4个模块(仅增加了约3 KB代码),实现了不需要使用烧写工具、不需要打包整个固件、仅利用调试器就可以更新局部固件的功能. 测试了在某资源紧缺型的蓝牙音频片上系统(内核为MIPS32 M4K,内存为128 KB)上使用EL-FU方法更新固件后,系统的可靠性和稳定性,并比较了在该系统使用EL-FU方法和传统JDO-FU(JTAG Debugger-based Overall Firmware Update)方法更新固件的效率,同时比较了在该RSES和某资源丰富型嵌入式系统(Resource-rich Embedded System,RRES)更新相同大小固件的效率. 测试结果表明:应用了EL-FU方法的RSES具有可靠性和稳定性;在RSES上采用EL-FU方法的固件更新效率远高于采用JDO-FU方法的;在RSES上使用EL-FU方法更新固件可以克服运算和内存资源少的限制,获得与RRES相近的固件更新效率.
    Abstract: An efficient local firmware update (EL-FU) method is proposed to solve the problem of low efficiency in firmware updating of resource-scarce embedded system (RSES). A new local firmware is first written into memory by the debugger and written into the local update area reserved in external memory by the driver, and then debugged by the debugger. An update trigger module, a firmware update module, a directory adding module and a reminder module are added to the operating system, which only adds 3K bytes of code to the operating system. The local firmware is updated only by the debugger without using the burning tool and packaging the whole firmware. The reliability and stability of a resource-scarce Bluetooth audio on the chip system (MIPS32 M4K kernel and 128K bytes memory) whose firmware is updated with the EL-FU method, is tested. The efficiency of the proposed EL-FU method and the conventional JDO-FU (JTAG Debugger-based Overall Firmware Update) method to update firmware in the system is compared. At the same time, the efficiency of updating firmware of the same size in the RSES and a resource-rich embedded system (RRES) is compared. As the test results show, the RSES with the EL-FU method is reliable and stable; in the RSES, the firmware update efficiency of the EL-FU method is much higher than that of the JDO-FU method; the RSES can use the EL-FU method to overcome the limitation of less computing and memory resources and achieve the same firmware update efficiency as the RRES.
  • 嵌入式系统具有功耗低、集成度高的特点,随着工业4.0、物联网和智能制造等快速的发展和推进,其结构越来越复杂、功能越来越强大,在生产和生活中具有广阔的应用前景[1]. 预计到2025年,投入使用的嵌入式设备将会有1~3万亿台[2].

    固件(包括操作系统、应用程序、驱动程序、中间件、用户接口资源文件和配置文件等)是嵌入式系统中基础、底层的工作软件. 嵌入式系统在开发过程中需要频繁更新固件来进行调试,在使用过程中也需要偶尔更新固件来进行功能升级[3]. 根据运算和内存资源的大小,将嵌入式系统分为资源丰富型嵌入式系统(Resource-rich Embedded System,RRES)[4-5]和资源紧缺型嵌入式系统(Resource-scarce Embedded System,RSES)[6]. 其中,RRES的内存在MB级以上,其操作系统已集成了调试子系统,可以采用高效的基于GDBServer的固件局部更新方法(GDBServer-based Local Firmware Update,GDBL-FU)[7];RSES的内存在MB级以下,不足以支撑GDB调试机制,一般采用低效、耗时的固件整体更新方法. 然而,RSES因为其成本低的优势,在消费类电子产品中广泛应用.

    在使用过程中,嵌入式系统普遍采用在线升级的固件整体更新方法[8]:在不断电或保持系统正常运行的情况下,通过JTAG(Joint Test Action Group)接口[9-10]、串口[11]、无线网络[12]或有线网络[13]实现对固件的整体更新. 目前,这方面的研究比较成熟,如:李苑等[11]提出了一种兼容串口纠错协议和远程文件传输协议的固件升级方法;许金宇等[14]提出了一种基于S3C2440A芯片的嵌入式设备在线系统升级的方法;陈长等[13]提出了一种基于SiTCP通信协议的FPGA可回滚远程固件更新方法;袁凤培[15]针对煤矿多层异构网络提出了一种远程固件整体更新方法,其目的在于高效地批量更新多个设备的固件;何国锋等[16]以可穿戴设备为例,通过模拟BIOS程序,对Flash分块操作来实现设备的固件在线升级. 然而,上述固件整体更新方法[11, 13-16]存在效率低的问题. 为此,王豫新和高美凤[5]提出了一种内存消耗低的固件局部更新方法,但是该方法仅适用于RRES,不适用于RSES. 在开发过程中,RSES普遍采用基于JTAG调试器的固件整体更新(JTAG Debugger-based Overall Firmware Update,JDO-FU)方法[1, 17]:先打包整个新固件,然后利用外存烧写工具将新固件烧写到固件区,再使用调试器进行调试[18]. 采用JDO-FU需要耗时间打包和烧写整个固件,同样存在效率低的问题. 为了提高效率,郭俊等[6]针对RISC-V处理器,基于BootROM引导流程技术和IAP技术[19]提出了一种易操作、高效且稳定的固件整体更新方法. 然而,目前尚未有文献研究RSES在开发过程中的固件局部更新问题.

    针对JDO-FU方法所存在的效率低问题,本文提出了一种高效的固件局部更新方法(Efficient Local Firmware Update,EL-FU),并在实际系统中对使用该方法的RSES进行了性能测试.

    RSES需要用较小的内存资源支撑系统的运行,一般采用精简的不具备调试功能的操作系统. 一个RSES的开发团队通常由一个项目经理和多个开发人员构成,每个开发人员负责一个工程的开发,项目经理负责将所有工程打包成一个固件. RSES的固件通常存储在外存(如NAND FLASH、SD卡等介质)中,其典型固件分布如图 1所示. RSES在上电的时候将操作系统加载到内存,需要用的时候才将其他代码动态加载到内存.

    图  1  RSES的典型固件分布
    Figure  1.  The typical firmware distribution of the RSES

    RSES的开发人员在调试阶段需要频繁更新自己所负责的局部代码,目前普遍采用JDO-FU方法更新整个固件(图 2). 因为JTAG协议接口不能访问外存,所以该方法需要用到调试器和烧写工具.

    图  2  RSES采用JDO-FU方法更新固件的连接示意图
    Figure  2.  The diagram of the RSES connection with the JDO-FU method

    JDO-FU方法的具体流程(图 3)为:

    图  3  JDO-FU方法的流程
    Figure  3.  The process of the JDO-FU method

    步骤1:将各个应用程序、驱动程序和内核程序分别编译链接为hex文件;

    步骤2:将操作系统、中间件、配置文件、hex文件和用户接口资源文件整体打包成一个新固件;

    步骤3:使用烧写工具擦除外存中的整个旧固件,并将整个新固件烧写到外存中;

    步骤4:断开烧写工具,连接JTAG调试器,将宿主机上调试环境软件(如IAR、KEIL等)发出的接收机数据接口(Receiver Data Interface, RDI)命令转化为JTAG命令,以对RSES的内存区域进行调试.

    在上述过程中:打包(步骤2)是一个耗时操作,固件越大,耗时越长;切换烧写工具和调试器(步骤4)也是一个耗时操作. 因此,JDO-FU方法需要耗费较长时间,使得RSES的开发存在效率低的问题.

    为了缩短RSES的固件更新时间,提高开发效率,本文提出了一种高效的固件局部更新(EL-FU)方法. 采用该方法不需要使用烧写工具,新的局部固件首先由调试器写入内存,然后由驱动程序写入外存中预留的局部更新区域,再由调试器来调试(图 4).

    图  4  RSES采用EL-FU方法更新固件的连接示意图
    Figure  4.  The diagram of the RSES connection with the EL-FU method

    EL-FU方法的核心在于修改操作系统,增加了更新触发、固件更新、目录添加和提醒4个模块(图 5),实现了更新局部固件的功能.

    图  5  应用了EL-FU方法的RSES的系统框图
    Figure  5.  The block diagram of the RSES system with the EL-FU method

    RSES采用EL-FU方法后的固件分布(图 6)与典型固件分布(图 1)的区别在于:(1)在固件区的末尾预留局部更新区域,用于写入需要更新运行的程序;(2)由于存储在外存(一般是FLASH)中的文件目录项不能直接修改,需要在其末尾增加一条指向更新文件的目录项记录.

    图  6  RSES采用EL-FU方法后的固件分布
    Figure  6.  The distribution of the RSES firmware with the EL-FU method

    采用EL-FU方法后,RSES具有固件局部更新和程序加载2个状态(图 7). 如EL-FU方法的流程(图 7)所示,系统上电后,由启动模块加载并运行操作系统,然后由更新触发模块判断是否收到“更新固件”的命令. 若收到,则进入固件局部更新状态,并执行以下步骤:

    图  7  EL-FU方法的流程
    Figure  7.  The process of the EL-FU method

    (1) 由操作系统加载固件更新模块及外存对应的驱动程序,运行固件更新模块程序,接管CPU控制权,等待用户通过调试器写入新的局部固件;

    (2) 用户利用调试器下载新的局部固件到内存,然后将该固件的名称、大小和起始地址写入到预定内存,下载时通过脚本控制,采用分块下载的方式,根据实际可用内存的大小来调整分块的大小;

    (3) 当固件更新模块监控到上述预定内存发生变化后,解析该预定内存中的内容,将新固件写入到外存固件区的预留局部更新区域;

    (4) 目录添加模块在文件目录项区的末尾新增一条指向更新文件的目录项. 这时,指向新版本文件的目录项位于目录项区的末尾,而指向旧版本文件的目录项位于目录项区域的前面;

    (5) 提醒模块提示更新结束,重启系统.

    若没有收到,则进入程序加载状态,并执行以下步骤:

    (1) 目录检索模块从文件目录项区的末尾开始往前检索,即可最先找到最新版本的程序对应的目录项;

    (2) 程序加载模块加载并运行更新后的程序;

    (3) 调试模块启动调试器,调试更新后的程序.

    与JDO-FU方法相比,EL-FU方法不需要重新打包、擦除和烧写整个固件,也不需要切换调试工具和烧写工具,可缩短固件更新的时间,从而提高开发的效率. EL-FU方法适用于更新应用程序、驱动程序、中间件、用户接口资源文件和配置文件等固件,但该方法需要操作系统的协助来更新固件,因此该方法不适用于更新操作系统.

    在某资源紧缺型嵌入式系统(RSES)上,比较分别使用EL-FU、JDO-FU方法更新局部固件的效率.

    该RSES(图 8)的特征为:(1)属于蓝牙音频片上系统;(2)内核为MIPS32 M4K、主频为104 MHz、内存为128 KB;(3)上层应用的代码约200 KB,蓝牙协议栈的代码约500 KB,操作系统、中间件和驱动程序等代码约400 KB;(4)主要应用于有屏音箱方案,支持蓝牙播放、录音、迷你卡拉OK和电子书等功能;(5)调试器使用SWD(Serial Wire Debug)模式,下载速率为5 Mbit/s;(6)具有芯片原厂统一发布的针对NAND FLASH量产的烧写工具. 为了实现EL-FU方法,需要修改该RSES的操作系统,但修改后的操作系统仅增加了3 KB代码,对系统固件大小的改变可以忽略.

    图  8  测试装置图
    Figure  8.  The diagram of the test device

    EL-FU方法的主要操作步骤包括:(1)切换到编译目录进行编译;(2)重启开发板,通过按键进入局部更新状态;(3)利用调试器下载新的局部固件;(4)重启开发板,进入正常运行状态;(5)执行调试命令,启动调试. JDO-FU方法的主要操作步骤包括:(1)切换到编译目录进行编译;(2)切换到打包目录打包新的整体固件;(3)运行量产烧写工具,下载新的整体固件;(4)重启开发板,进入正常运行状态;(5)切换到新的固件目录;(6)执行调试命令,启动调试.

    EL-FU方法能够通过脚本控制来支持大容量(通常指超过100 KB)固件的更新. 在实际开发过程中,RSES需要更新的局部固件大小通常为30~100 KB. 因此,本文在该RSES上比较了分别采用EL-FU、JDO-FU方法更新大小分别为30、50、300 KB和1 MB的4个局部固件的时间. 其中,50、300 KB和1 MB的固件都是通过在30 KB固件的基础上用0填充const data数据段来获得的. 固件更新时间是指从某个应用程序修改完源代码算起,直至完成固件更新重新进入到程序调试入口所需要的时间,且为连续20次重复测试的平均值. 该过程中包含的切换开发工具、操作电脑目录等动作均按照开发人员的日常操作速度来进行. 经过80次的重复测试,在RSES上采用EL-FU方法更新固件的成功率为100%,且系统各项功能运行正常,无异常情况发生. 因此,在RSES上利用EL-FU方法更新固件是可靠和稳定的.

    由测试结果(表 1)可知:(1)在开发过程中,RSES采用传统JDO-FU方法更新固件需要耗费近480 s的时间,采用EL-FU方法后固件更新时间缩短为67 s,可见,EL-FU方法能够解决RSES在固件更新时所存在的效率低问题; (2)EL-FU方法的固件更新时间随着固件大小的增加而小幅增长,这是因为其需要通过脚本控制来分块下载大容量的固件;(3)JDO-FU方法的固件更新时间随着固件大小的增加基本保持不变.

    表  1  在RSES上利用2种方法更新固件的时间
    Table  1.  The time for updating firmware with the two methods on the RSES  s
    固件更新方法 局部固件大小
    30 KB 50 KB 300 KB 1 MB
    EL-FU 60 61 65 67
    JDO-FU 480 481 482 484
    下载: 导出CSV 
    | 显示表格

    为了进一步对比分析,在某资源丰富型嵌入式系统(RRES)上,测试了采用GDBL-FU方法更新大小分别为30、50、300 KB和1 MB的4个局部固件的效率(表 2). 该RRES的特征为:(1)属于树莓派Raspberry Pi 3代B型;(2)内核版本为linux-rpi-4.9.y;(3)CPU为四核ARM Cortex-A53,主频为1.2 GHz;(4)内存为1 GB. 可知,该系统的资源比上述RSES充裕很多,其操作系统已集成了调试子系统,可以采用高效的固件局部更新GDBL-FU方法. 该方法的主要操作步骤包括:(1)切换到编译目录进行编译;(2)下载新的局部固件;(3)执行调试命令,启动调试.

    表  2  在RRES上利用GDBL-FU方法更新固件的时间
    Table  2.  The time for updating firmware with the GDBL-FU method on the RRES  s
    固件更新方法 局部固件大小
    30 KB 50 KB 300 KB 1 MB
    GDBL-FU 45 45 46 47
    下载: 导出CSV 
    | 显示表格

    表 2可知:在RRES上使用GDBL-FU方法的固件更新时间较短,且随着局部固件大小的增加而略微增加(增加了1~2 s),所增加的1~2 s主要由步骤(2)的编译过程产生. 对比上述RSES和RRES的特征,两者的运算和内存资源相差悬殊. 由于嵌入式系统的资源和成本成正比,因此,成本低的RSES在消费类电子产品中得到了广泛的应用. 然而,在RSES上使用传统JDO-FU方法更新固件的效率低. 由表 1表 2可知:在RSES上使用EL-FU方法更新固件的效率与在RRES上使用GDBL-FU方法更新固件的效率相近. 这表明:在RSES上使用EL-FU方法更新固件能够克服运算和内存资源少的限制,EL-FU方法是一种适用于RSES的高效固件更新方法.

    应用广泛的RSES在开发过程中需要频繁地更新固件,而采用传统的JDO-FU方法更新固件存在耗时长、效率低的问题. 因此,本文提出了一种高效的固件局部更新(EL-FU)方法. 在RSES上采用该方法,不需要使用烧写工具,不需要打包整个固件,仅利用调试器就完成局部固件更新.

    测试结果表明:EL-FU方法能够大大缩短RSES上固件更新的时间,并接近于在RRES上采用GDBL-FU方法更新固件所用时间;应用了EL-FU方法的RSES具有可靠性与稳定性. 可见,在RSES开发过程中,可采用EL-FU方法更新应用程序、驱动程序、中间件、用户接口资源文件和配置文件等固件.

    然而,本文所提出的EL-FU方法不能用于更新RSES的操作系统,目前仍需要使用固件整体更新方法来更新操作系统. 下一步将针对RSES继续开展如下研究:(1)操作系统层的局部更新方法;(2)不需要操作系统协助的固件局部更新方法.

  • 图  1   RSES的典型固件分布

    Figure  1.   The typical firmware distribution of the RSES

    图  2   RSES采用JDO-FU方法更新固件的连接示意图

    Figure  2.   The diagram of the RSES connection with the JDO-FU method

    图  3   JDO-FU方法的流程

    Figure  3.   The process of the JDO-FU method

    图  4   RSES采用EL-FU方法更新固件的连接示意图

    Figure  4.   The diagram of the RSES connection with the EL-FU method

    图  5   应用了EL-FU方法的RSES的系统框图

    Figure  5.   The block diagram of the RSES system with the EL-FU method

    图  6   RSES采用EL-FU方法后的固件分布

    Figure  6.   The distribution of the RSES firmware with the EL-FU method

    图  7   EL-FU方法的流程

    Figure  7.   The process of the EL-FU method

    图  8   测试装置图

    Figure  8.   The diagram of the test device

    表  1   在RSES上利用2种方法更新固件的时间

    Table  1   The time for updating firmware with the two methods on the RSES  s

    固件更新方法 局部固件大小
    30 KB 50 KB 300 KB 1 MB
    EL-FU 60 61 65 67
    JDO-FU 480 481 482 484
    下载: 导出CSV

    表  2   在RRES上利用GDBL-FU方法更新固件的时间

    Table  2   The time for updating firmware with the GDBL-FU method on the RRES  s

    固件更新方法 局部固件大小
    30 KB 50 KB 300 KB 1 MB
    GDBL-FU 45 45 46 47
    下载: 导出CSV
  • [1] 曲明成, 崔乃刚, 吴翔虎, 等. 嵌入式软件虚拟化测试技术标准框架研究[J]. 哈尔滨工业大学学报, 2017, 49(5): 49-55. https://www.cnki.com.cn/Article/CJFDTOTAL-HEBX201705008.htm

    QU M C, CUI N G, WU X H, et al. Research on general framework of virtual testing for embedded software[J]. Journal of Harbin Institute of Technology, 2017, 49(5): 49-55. https://www.cnki.com.cn/Article/CJFDTOTAL-HEBX201705008.htm

    [2]

    HUYNH-VAN D, TRAN-QUOC K, LE-TRUNG Q. An empirical study on approaches of internet of things reconfiguration[C]//Proceedings of the 7th International Conference on Communications and Electronics. Washington: IEEE, 2018: 57-62.

    [3] 康燕萍, 程小辉, 黄鹏. 基于STM32系列电子产品的IAP研究[J]. 现代电子技术, 2017, 40(22): 142-144;148. https://www.cnki.com.cn/Article/CJFDTOTAL-XDDJ201722042.htm

    KANG Y P, CHENG X H, HUANG P. Study on IAP based on electronic products in STM32 series[J]. Mo-dern Electronics Technique, 2017, 40(22): 142-144;148. https://www.cnki.com.cn/Article/CJFDTOTAL-XDDJ201722042.htm

    [4] 王星斗. 复杂嵌入式系统的自动检测技术研究[D]. 北京: 北京理工大学, 2017.

    WANG X D. Research on automatic testing technology of complex embedded system[D]. Beijing: Beijing Institute of Technology, 2017.

    [5] 王豫新, 高美凤. 一种改进的固件增量更新算法[J]. 计算机工程, 2020, 46(10): 210-215. https://www.cnki.com.cn/Article/CJFDTOTAL-JSJC202010027.htm

    WANG Y X, GAO M F. An improved incremental update algorithm for firmware[J]. Computer Engineering, 2020, 46(10): 210-215. https://www.cnki.com.cn/Article/CJFDTOTAL-JSJC202010027.htm

    [6] 郭俊, 虞致国, 洪广伟, 等. 基于RISC-V处理器的固件更新系统设计[J]. 计算机工程与应用, (2021-02-07)[2021-04-29]. https://kns.cnki.net/kcms/detail/11.2127.TP.20210207.0944.002.html.

    GUO J, YU Z G, HONG G W, et al. Design of firmware update system based on RISC-V processor[J]. Computer Engineering and Applications, (2021-02-07)[2021-04-29]. https://kns.cnki.net/kcms/detail/11.2127.TP.20210207.0944.002.html.

    [7] 陈必泉, 黄承慧. GDBSERVER原理分析及其应用[J]. 计算机工程与设计, 2005(3): 746-749. doi: 10.3969/j.issn.1000-7024.2005.03.061

    CHEN B Q, HUANG C H. Analysis of GDBSERVER and its application[J]. Computer Engineering and Design, 2005(3): 746-749. doi: 10.3969/j.issn.1000-7024.2005.03.061

    [8] 方冲, 任海兰, 王成丽. 基于MCU的嵌入式在线升级系统的设计与实现[J]. 电视技术, 2012, 36(5): 22-25. https://www.cnki.com.cn/Article/CJFDTOTAL-DSSS201205011.htm

    FAND C, REN H L, WAND C L. Design and realization of embedded online-upgrade system based on MCU[J]. Video Engineering, 2012, 36(5): 22-25. https://www.cnki.com.cn/Article/CJFDTOTAL-DSSS201205011.htm

    [9]

    CLARK C J. IEEE standard test access port and boundary scan architecture: 1149.1-2001[S]. New York: IEEE, 2001: 1-200.

    [10] 阳富民, 柯滔, 涂刚. 基于JTAG技术的嵌入式交叉调试软件[J]. 计算机工程与设计, 2005, 26(10): 2817-2819. doi: 10.3969/j.issn.1000-7024.2005.10.081

    YANG F M, KE T, TU G. Embedded cross debugging soft- ware based on JTAG[J]. Computer Engineering and Design, 2005, 26(10): 2817-2819. doi: 10.3969/j.issn.1000-7024.2005.10.081

    [11] 李苑, 郑一麟, 田雨, 等. 基于串口YMODEM和远程FTP固件升级方法研究[J]. 电子测量技术, 2019, 42(13): 132-136. https://www.cnki.com.cn/Article/CJFDTOTAL-DZCL201913024.htm

    LI Y, ZHENG Y L, TIAN Y, et al. Research on YMODEM serial and FTP terminal method for firmware upgrade for STM32 embedded device[J]. Electronic Measurement Technology, 2019, 42(13): 132-136. https://www.cnki.com.cn/Article/CJFDTOTAL-DZCL201913024.htm

    [12] 黄飞龙, 谭晗凌, 陈冰怀. 基于无线分包传输的气象站固件无感升级方法[J]. 计算机测量与控制, 2020, 28(1): 166-169;174. https://www.cnki.com.cn/Article/CJFDTOTAL-JZCK202001035.htm

    HUANG F L, TAN H L, CHEN B H. Non-feelable upgrade of automatic weather station based on wireless packet transmission[J]. Computer Measurement & Control, 2020, 28(1): 166-169;174. https://www.cnki.com.cn/Article/CJFDTOTAL-JZCK202001035.htm

    [13] 陈长, 王铮, 胡俊. 基于SiTCP通信协议的FPGA可回滚远程固件更新方法[J]. 核技术, 2020, 43(11): 42-46. https://www.cnki.com.cn/Article/CJFDTOTAL-HJSU202011006.htm

    CHEN Z, WANG Z, HU J. FPGA remote firmware update method based on SiTCP communication protocol with rollback function[J]. Nuclear Techniques, 2020, 43(11): 42-46. https://www.cnki.com.cn/Article/CJFDTOTAL-HJSU202011006.htm

    [14] 许金宇, 曹子涛, 王冠男. IR46智能电能表固件在线升级方案设计[J]. 电测与仪表, 2018, 55(S1): 71-74. https://www.cnki.com.cn/Article/CJFDTOTAL-DCYQ2018S1016.htm

    XU J Y, CAO Z T, WANG G N. Design of IR46 smart meter online firmware upgrading[J]. Electrical Measurement & Instrumentation, 2018, 55(S1): 71-74. https://www.cnki.com.cn/Article/CJFDTOTAL-DCYQ2018S1016.htm

    [15] 袁凤培. 煤矿多层异构网络远程固件更新方法[J]. 工矿自动化, 2020, 46(12): 101-105. https://www.cnki.com.cn/Article/CJFDTOTAL-MKZD202012016.htm

    YUAN F P. Remote firmware update method for multi-layer heterogeneous networks in coal mines[J]. Industry and Mine Automation, 2020, 46(12): 101-105. https://www.cnki.com.cn/Article/CJFDTOTAL-MKZD202012016.htm

    [16] 何国锋, 李月婷, 刘宇红. 基于模拟BIOS的可穿戴设备固件在线升级实现[J]. 电子技术应用, 2017, 43(3): 63-65;69. https://www.cnki.com.cn/Article/CJFDTOTAL-DZJY201703015.htm

    HE G F, LI Y T, LIU Y H. Firmware online upgrade implementation for wearable devices based on simulating BIOS[J]. Application of Electronic Technique, 2017, 43(3): 63-65;69. https://www.cnki.com.cn/Article/CJFDTOTAL-DZJY201703015.htm

    [17] 胡振波. RISC-V架构与嵌入式开发快速指南[M]. 北京: 人民邮电出版社, 2019: 213-218.
    [18] 曹欲晓, 韩冬, 徐金宝. 一种基于CPUID和AES算法的STM32固件升级方案[J]. 电子技术应用, 2015, 41(3): 28-30;34. https://www.cnki.com.cn/Article/CJFDTOTAL-DZJY201503015.htm

    CAO Y X, HAN D, XU J B. A scheme of firmware upgrade of STM32 based on CPUID and AES algorithm[J]. Application of Electronic Technique, 2015, 41(3): 28-30;34. https://www.cnki.com.cn/Article/CJFDTOTAL-DZJY201503015.htm

    [19] 檀朝新, 张杨, 马柱, 等. 基于IAP技术的远程固件更新系统设计与实现[J]. 中国医疗器械杂志, 2019, 43(6): 425-428. https://www.cnki.com.cn/Article/CJFDTOTAL-ZYLZ201906011.htm

    TAN C X, ZHANG Y, MA Z, et al. Design and implementation of remote firmware update system based on IAP technology[J]. Chinese Journal of Medical Instrumentation, 2019, 43(6): 425-428. https://www.cnki.com.cn/Article/CJFDTOTAL-ZYLZ201906011.htm

  • 期刊类型引用(0)

    其他类型引用(2)

图(8)  /  表(2)
计量
  • 文章访问数:  623
  • HTML全文浏览量:  241
  • PDF下载量:  53
  • 被引次数: 2
出版历程
  • 收稿日期:  2020-11-13
  • 网络出版日期:  2021-09-02
  • 刊出日期:  2021-08-24

目录

/

返回文章
返回