CN106775853A - 一种基于以太网更新arm和dsp程序的方法 - Google Patents
一种基于以太网更新arm和dsp程序的方法 Download PDFInfo
- Publication number
- CN106775853A CN106775853A CN201611105165.0A CN201611105165A CN106775853A CN 106775853 A CN106775853 A CN 106775853A CN 201611105165 A CN201611105165 A CN 201611105165A CN 106775853 A CN106775853 A CN 106775853A
- Authority
- CN
- China
- Prior art keywords
- dsp
- arm
- programs
- app
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于以太网更新ARM和DSP程序的方法,该方法采用ARM的IAP技术,实现ARM的应用程序更新和DSP的应用程序存储功能,DSP的应用程序存储在ARM的User flash中后,ARM将DSP应用程序的Hex格式转换为bin格式,通过总加和CRC检验、帧总长度以及可执行程序的地址对比确定DSP程序无误后,通过SPI传入到DSP的RAM中并调用Flash API库进行擦除、烧写、校验功能,完成DSP应用程序更新操作。采用以太网更新程序可以避免接错而导致烧写器损坏或者处理器被锁现象;不需拆盖就可以完成程序更新,烧写方便;不需使用烧写器,工程维护方便。
Description
技术领域
本发明属于嵌入式应用技术领域,具体涉及一种基于以太网更新ARM和DSP程序的方法。
背景技术
对于有多个处理器的装置,其程序的更新最简便方法就是利用JTAG进行烧写,但在实际工程应用中,产品交付后往往需要在不拆盖的情况下对软件程序进行更新,所以远程在线升级功能是对产品设计的基本要求。
ARM通过和以太网相连可利用IAP(In Application Programming、在应用编程)技术对User Flash的部分区域进行烧写,而DSP无对外的通信软件,远程在线程序更新不能通过JTAG来实现,因为JTAG线引到外面容易受到干扰而使程序跑飞。基于此,本发明提出了一种利用以太网对ARM和DSP进行程序更新的方法。
发明内容
本发明的目的在于提出一种基于以太网更新ARM和DSP程序的方法,该程序更新方法具有速度快、可靠性高、操作方便特点。
为了解决上述技术问题,本发明通过以下方式来实现:
一种基于以太网更新ARM和DSP程序的方法,具体通过以下步骤来实现:
1)上电;
2)STM32芯片上电后,进入User flash地址0x8000000处的Bootloader程序,检查是否需要对应用程序更新;
3)若选择否,程序直接进入ARM应用程序,ARM正常启动;若选择是,程序则提供ARMAPP或者DSP APP两种选择;
31)若选择更新ARM APP程序,利用TFTP软件通过以太网将PC机上bin格式的ARMAPP程序写入到User flash地址0x8010000中,完成ARM APP的程序更新操作;
32)若选择更新DSP APP程序,首先利用TFTP软件通过以太网将PC机上Hex格式的DSP APP程序写入到User flash地址0x8090000中,完成DSP APP程序存储操作;
4)待步骤32)结束后,重新上电,正常启动并进入ARM APP程序,读取存储在Userflash地址0x8090000的Hex格式的数据,并将Hex格式转换成bin格式,为了防止错误或者遗漏,进行总加和CRC检验、帧总长度以及可执行程序的地址对比,确定DSP APP程序无误后,通过SPI传入DSP中并调用Flash API库相关的函数功能,进行擦除、烧写、校验功能,完成DSP APP程序更新操作。
与现有技术相比,本发明具有的有益效果:
采用以太网更新程序可以避免接错而导致烧写器损坏或者处理器被锁现象;不需拆盖就可以完成程序更新,烧写方便;不需使用烧写器,工程维护方便。
附图说明
图1为user flash地址分配示意图;
图2为ARM和DSP程序更新流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明的具体实施方式作进一步详细的说明。
本发明通过ARM编写两个项目代码,第一个项目代码不执行正常的功能操作,通过以太网接收程序或数据,对ARM或DSP进行程序更新,这部分称为Bootloader程序;第二个项目代码为实现真正功能的代码,称为APP程序。DSP编写一个项目代码,通过ARM的Bootloader程序存放在User Flash的部分区域。
如图1~2所示,一种基于以太网更新ARM和DSP程序的方法,其具体方法步骤如下:
(1)ARM APP程序更新
本发明的ARM程序更新采用IAP技术,STM32芯片上电后,程序首先进入User flash地址0x8000000处的Bootloader程序(Bootloader程序为引导程序,通过JTAG烧入),检查是否需要对应用程序更新,如果不需要更新,则直接进入ARM应用程序,ARM正常启动;如果需要更新并选择ARM APP更新键,利用TFTP软件通过以太网将PC机上bin格式的ARM APP程序写入到User flash地址0x8010000中,完成ARM APP的程序更新操作。
(2)DSP APP程序更新
STM32芯片上电后,程序首先进入User flash地址0x8000000处的Bootloader程序,检测到需要存储DSP APP后,利用TFTP软件通过以太网将PC机上Hex格式的DSP APP程序写入到User flash地址0x8090000中,完成DSP APP程序存储操作后重新上电,正常启动并进入ARM APP程序,读取存储在User flash地址0x8090000的Hex格式的数据,并将Hex格式转换成bin格式,为了防止错误或者遗漏,进行总加和CRC检验、帧总长度以及可执行程序的地址对比,确定DSP APP程序无误后,通过SPI传入DSP中,DSP调用Flash API库相关的函数功能,进行擦除、烧写、校验功能,完成DSP APP程序更新操作。
以上所述仅是本发明的实施方式,再次声明,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进,这些改进也列入本发明权利要求的保护范围内。
Claims (1)
1.一种基于以太网更新ARM和DSP程序的方法,其特征在于:具体通过以下步骤:
1)上电;
2)STM32芯片上电后,进入User flash地址0x8000000处的Bootloader程序,检查是否需要对应用程序更新;
3)若选择否,程序直接进入ARM应用程序,ARM正常启动;若选择是,程序则提供ARM APP或者DSP APP两种选择;
31)若选择更新ARM APP程序,利用TFTP软件通过以太网将PC机上bin格式的ARM APP程序写入到User flash地址0x8010000中,完成ARM APP的程序更新操作;
32)若选择更新DSP APP程序,首先利用TFTP软件通过以太网将PC机上Hex格式的DSPAPP程序写入到User flash地址0x8090000中,完成DSP APP程序存储操作;
4)待步骤32)结束后,重新上电,正常启动并进入ARM APP程序,读取存储在User flash地址0x8090000的Hex格式的数据,并将Hex格式转换成bin格式,为了防止错误或者遗漏,进行总加和CRC检验、帧总长度以及可执行程序的地址对比,确定DSP APP程序无误后,通过SPI传入DSP中并调用Flash API库相关的函数功能,进行擦除、烧写、校验功能,完成DSPAPP程序更新操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611105165.0A CN106775853A (zh) | 2016-12-05 | 2016-12-05 | 一种基于以太网更新arm和dsp程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611105165.0A CN106775853A (zh) | 2016-12-05 | 2016-12-05 | 一种基于以太网更新arm和dsp程序的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106775853A true CN106775853A (zh) | 2017-05-31 |
Family
ID=58878844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611105165.0A Pending CN106775853A (zh) | 2016-12-05 | 2016-12-05 | 一种基于以太网更新arm和dsp程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775853A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109263665A (zh) * | 2018-10-19 | 2019-01-25 | 中车青岛四方车辆研究所有限公司 | 城轨车辆架控电子制动控制系统及升级方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204899A (zh) * | 2015-09-17 | 2015-12-30 | 浪潮软件集团有限公司 | 一种基于网络的单片机固件升级方法的实现 |
-
2016
- 2016-12-05 CN CN201611105165.0A patent/CN106775853A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204899A (zh) * | 2015-09-17 | 2015-12-30 | 浪潮软件集团有限公司 | 一种基于网络的单片机固件升级方法的实现 |
Non-Patent Citations (3)
Title |
---|
张建: "基于以太网的DSP程序在线更新研究与实现", 《科技经济导刊》 * |
李俊等: "基于TFTP协议的ARM软件远程更新系统", 《工矿自动化》 * |
王敏等: "DSP系统程序远程更新的研究与实现", 《计算机工程与应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109263665A (zh) * | 2018-10-19 | 2019-01-25 | 中车青岛四方车辆研究所有限公司 | 城轨车辆架控电子制动控制系统及升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020861B (zh) | 一种智能手表的fota升级方法及系统 | |
CN102984580B (zh) | 内存清理方法及系统 | |
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
CN103577308B (zh) | 移动设备的日志文件的获取方法 | |
CN101587455B (zh) | 一种用于vxWorks操作系统检查内存泄漏的方法 | |
CN104122815B (zh) | 一种基于arm的水文测控终端及其远程升级的方法 | |
CN105159731B (zh) | 一种fpga配置文件远程升级的装置 | |
CN103024538A (zh) | 内存管理方法及系统 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
JP5452250B2 (ja) | 制御装置を調整するための方法および操作ユニット | |
US9710340B2 (en) | Replacement of a corrupt driver variable record | |
CN103309761B (zh) | 一种基于在线服务的自动纠错的方法和系统 | |
CN109240720A (zh) | 一种安卓系统的固件升级方法及一种存储设备 | |
CN104125504B (zh) | 一种基于持续集成的部署方法、装置及系统 | |
US20120246518A1 (en) | Operating a computer system | |
CN107861764A (zh) | 用于烹饪电器的程序升级系统、方法及烹饪电器 | |
CN101211291A (zh) | 一种在嵌入式系统中测试内存的方法 | |
CN104679630A (zh) | 智能终端工作模式的调整方法和装置 | |
CN104572195A (zh) | 装置远程在线程序更新方法 | |
CN106775853A (zh) | 一种基于以太网更新arm和dsp程序的方法 | |
CN101526908B (zh) | 固件更新装置和方法 | |
CN107066361A (zh) | 一种利用bmc禁用坏损内存的方法和装置 | |
CN113832663A (zh) | 控制芯片故障记录方法、装置以及控制芯片故障读取方法 | |
CN103324496A (zh) | 一种用u盘实现集中抄表终端本地维护方法 | |
CN108869076A (zh) | 燃料喷射输送测量 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |