CN109358891B - 一种嵌入式控制器的dsp软件升级方法及系统 - Google Patents
一种嵌入式控制器的dsp软件升级方法及系统 Download PDFInfo
- Publication number
- CN109358891B CN109358891B CN201811098781.7A CN201811098781A CN109358891B CN 109358891 B CN109358891 B CN 109358891B CN 201811098781 A CN201811098781 A CN 201811098781A CN 109358891 B CN109358891 B CN 109358891B
- Authority
- CN
- China
- Prior art keywords
- area
- dsp
- data
- processor
- writing
- 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.)
- Active
Links
Images
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
Abstract
本发明公开了一种嵌入式控制器的DSP软件升级方法及系统,涉及工业控制领域,该方法包括生成DSP软件的目标文件,将所述DSP软件的目标文件转换为数据文件。通过文件传输协议FTP将数据文件传输给嵌入式控制器的ARM处理器。所述ARM处理器接收所述数据文件,将数据文件拆分为数据帧,并通过双口RAM逐帧传输到嵌入式控制器中的DSP处理器。DSP处理器逐帧接收数据帧,并写入嵌入式控制器的Flash中。本发明能够较大降低嵌入式控制器的DSP软件升级成本,帮助用户提高升级效率,同时可以实现远距离DSP软件升级。
Description
技术领域
本发明涉及工业控制领域,具体涉及一种嵌入式控制器的DSP软件升级方法及系统。
背景技术
目前,基于DSP和ARM双处理器的嵌入式控制器被广泛地应用于电机控制、工业变频器、网络交换、汽车电子、医疗设备等各种领域。一般说来,DSP处理器主要承担信号采集、信号处理、对执行机构输出控制指令的功能;ARM处理器主要承担与DSP处理器进行数据交换,在液晶屏上显示数据,并通过以太网与上位机进行数据通信的功能。
对于嵌入式控制器的DSP处理器软件来说,其升级通常采用专用的仿真器完成。首先,利用专用的仿真器作为媒介将电脑与DSP处理器的JTAG接口相连,然后打开仿真器配套的软件将电脑上的DSP处理器的软件目标文件写入DSP处理器的片内Flash中,并完成DSP处理器的软件升级。
这种软件升级方法存在以下三个缺点:
一、软件升级所需硬件成本较高:
DSP软件升级需要使用专用的仿真器,而该专用的仿真器本身价格较高,无形中增加了嵌入式控制器的研发成本。
二、软件升级的过程比较繁琐:
在工业现场领域,实际上往往将控制器的电路板插在机箱中,并安装在柜体内,打开和关闭比较繁琐。在完成DSP软件升级之前,需要打开柜体,并将控制器的电路板拔出,将电脑与DSP处理器的JTAG接口通过专用仿真器相连,使得DSP软件升级的过程费时费力。
三、软件升级只能在离控制器较近的区域完成:
在部分环境较恶劣的工业现场对研发人员的安全有较高的威胁。而现有的DSP处理器的专用仿真器的数据线较短,一般小于2米。因此在需要对嵌入式控制器的DSP处理器,进行软件升级的时候,研发人员必须在离控制器较近的区域,在该区域出现,人身安全得不到保障。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种嵌入式控制器的DSP软件升级方法及系统,能够较大降低嵌入式控制器的DSP软件升级成本,帮助用户提高升级效率,同时可以实现远距离DSP软件升级。
为达到以上目的,第一方面,本发明实施例提供一种嵌入式控制器的DSP软件升级方法,其包括:
生成DSP软件的目标文件,将所述DSP软件的目标文件转换为数据文件;
通过文件传输协议FTP将数据文件传输给嵌入式控制器的ARM处理器;
所述ARM处理器接收所述数据文件,将数据文件拆分为数据帧,并通过双口RAM逐帧传输到嵌入式控制器中的数字信号处理DSP处理器;
DSP处理器逐帧接收数据帧,并写入DSP处理器的片内Flash中。
在上述技术方案的基础上,所述ARM处理器将数据文件拆分为数据帧,逐帧传输到嵌入式控制器中的DSP处理器;DSP处理器逐帧接收数据帧,并写入嵌入式控制器的DSP处理器的片内Flash中,具体过程为:
S1:ARM处理器打开数据文件,在双口RAM预设的第一区域写入开始标识;
S2:DSP处理器读取开始标识,设置DSP处理器以及DSP处理器的片内Flash以进行升级前准备后,将所述第一区域的开始标识替换为准备完成标识;
S3:ARM处理器读取准备完成标识,读取数据文件的第一行数据作为数据帧,并判断该行是否为文件末尾,若第一行为文件末尾,则进入步骤S7,否则进入步骤S4;
S4:ARM处理器将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识,转入步骤S5;
S5:DSP处理器获取读取标识,从双口RAM预设的第二区域读取数据帧,并将该数据帧写入DSP处理器的片内Flash,写入完成后使用写入完成标识替换双口RAM预设的第一区域的读取标识,进入步骤S6;
S6:ARM处理器读取写入完成标识,读取数据文件的下一行数据作为数据帧,并判断该行是否为文件末尾,若该行为文件末尾,则进入步骤S7,否则进入步骤S4;
S7:ARM处理器将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识;
S8:DSP处理器获取读取结束标识,将第二区域的数据帧写入Flash,并使用升级完成标识替换第一区域的读取结束标识。
在上述技术方案的基础上,步骤S2中,所述DSP处理器读取开始标识,设置DSP处理器以及DSP处理器的片内Flash以进行升级前准备,具体包括以下步骤:
S201:DSP处理器判断预设的第一区域是否写有开始标识,如果是,则进入步骤S202;
S202:禁止当前DSP处理器进行中断操作,并将DSP处理器配置到用于Flash擦写的时钟,进入步骤S203;
S203:擦除DSP处理器的片内Flash的所有扇区。
在上述技术方案的基础上,使用预设的软件/函数将所述DSP软件的目标文件转换为数据文件。
在上述技术方案的基础上,所述预设的软件为hex2000.exe,hex2000.exe将.hex格式的升级文件逐行转换为数据文件。
第二方面,本发明还提供一种嵌入式控制器的DSP软件升级系统,其包括转换模块、传输模块、嵌入式控制器的ARM处理器和DSP处理器;
转换模块,用于生成DSP软件的目标文件,将所述DSP软件的目标文件转换为数据文件;
传输模块,用于通过文件传输协议FTP将数据文件传输给嵌入式控制器的ARM处理器;
嵌入式控制器的ARM处理器,用于接收所述数据文件,将数据文件拆分为数据帧,逐帧发送到嵌入式控制器的DSP处理器;
嵌入式控制器的DSP处理器,用于逐帧接收数据帧,并写入DSP处理器的片内Flash中。
在上述技术方案的基础上,所述嵌入式控制器的ARM处理器具体用于:打开数据文件,在双口RAM预设的第一区域写入开始标识;根据第一区域的标识对所述第一区域以及第二区域执行读写操作:
若第一区域的标识为完成标识,则读取数据文件的第一行数据作为数据帧,并检测第一行是否为文件末尾,若是,则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识,否则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识;
若第一区域的标识为写入完成标识,则读取数据文件的下一行数据作为数据帧,并判断该行是否为文件末尾,若该行为文件末尾,则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识,否则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识。
在上述技术方案的基础上,所述嵌入式控制器的DSP处理器具体用于:根据第一区域的标识对所述第一区域、第二区域和DSP处理器的片内Flash执行读写操作:
若第一区域的标识为开始标识,则设置DSP处理器以及Flash后,将所述第一区域的开始标识替换为准备完成标识;
若第一区域的标识为读取标识,则从双口RAM预设的第二区域读取数据帧,并将该数据帧写入DSP处理器的片内Flash,写入完成后使用写入完成标识替换双口RAM预设的第一区域的读取标识;
若第一区域的标识为读取结束标识,则将第二区域的数据帧写入Flash,并使用升级完成标识替换第一区域的读取结束标识。
在上述技术方案的基础上,所述DSP处理器包括判断子模块、配置子模块和清除子模块:
判断子模块,用于校验预设的第一区域是否写有开始标识,如果是,则触发配置子模块工作;
配置子模块,用于禁止当前DSP处理器进行中断操作,并将DSP处理器配置到用于片内Flash擦写的时钟,触发清除子模块工作;
清除子模块,用于擦除DSP处理器的片内Flash的所有扇区。
在上述技术方案的基础上,所述转换模块使用预装于上位机的软件/函数将所述DSP软件的目标文件转换为数据文件。
与现有技术相比,本发明的优点在于:
本发明将DSP软件的目标文件转换为数据文件,再将数据文件拆分为数据帧发送给DSP处理器,使得DSP处理器能够逐帧将数据帧写入DSP处理器的片内Flash中,不再需要使用配套的仿真器,即不再需要上位机连接仿真器,并控制仿真器读取上位机内的软件目标文件,通过JTAG协议写入嵌入式控制器的DSP的片内Flash中,效率更高、成本更低;同时通过FTP传输不再需要专用于仿真器的较短的连接线,可以远距离将升级用的数据传输给DSP处理器完成升级,更加安全。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种嵌入式控制器的DSP软件升级方法实施例流程示意图;
图2为本发明一种嵌入式控制器的DSP软件升级方法实现将数据文件拆分为数据帧,逐帧发送到嵌入式控制器中DSP处理器的流程示意图;
图3为本发明一种嵌入式控制器的DSP软件升级系统的结构示意图。
图中:1-转换模块,2-传输模块,3-嵌入式控制器的ARM处理器,4-嵌入式控制器的DSP处理器。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
参见图1所示,本发明实施例提供一种嵌入式控制器的DSP软件升级方法,其通过转化DSP(Digital Signal Processing,数字信号处理)软件的目标文件为数据文件,并将数据文件通过FTP传输给嵌入式控制器,再由嵌入式控制器的ARM处理器将数据文件转换为数据帧,传输至DSP处理器,由DSP处理器写入Flash来完成升级,能够帮助用户不再使用成本较高的仿真器,实现更加简单效率的升级,并且能够在距离嵌入式控制器较远的地方对其进行升级,更加安全。
为达到上述技术效果,本发明实施例提供一种嵌入式控制器的DSP软件升级方法,其包括以下步骤:
S1:生成DSP软件的目标文件,将所述DSP软件的目标文件转换为数据文件。
就现有技术而言,嵌入式控制器的DSP软件升级,首先需要用户在其上位机上生成DSP软件的目标文件,然后以专用的仿真器作为媒介,将电脑与DSP处理器的JTAG接口连接,写入Flash中完成其升级。
而此步骤直接将DSP软件的目标文件转换为数据文件,该数据文件能够通过ARM处理器和DSP处理器之间的数据交换,帮助DSP处理器识别。不再需要通过专用的仿真器转换,减少了一个硬件,同时节省了硬件之间连接的工作,更加方便。
优选的,将DSP软件的目标文件转换为数据文件能够直接在上位机上完成,拥有更高的效率,且用户在生成DSP软件的目标文件后,其能够直接在上位机继续进行转换,更加流畅和快捷。
举例来说,本发明嵌入式控制器包括DSP处理器和运行ARM处理器的ARM处理器,DSP处理器的型号为TI公司的TMS320F28335,ARM处理器型号为Atmel公司的AT91RM9200。在嵌入式控制器中,DSP处理器主要承担信号采集、信号处理、对执行机构输出控制指令的功能;ARM处理器主要承担数据交换和液晶屏上显示数据,并通过以太网和上位机进行数据通信的功能。在本步骤中,PC运行TI公司的开发软件得到.out格式的目标文件后,调用hex2000.exe,将该格式的目标文件转换为.hex文件。读取.hex文件内容,将每行的行首的标志字符去掉,并在行首加上行号,以空格对内容进行分隔,然后写入.txt格式的文件,即得到数据文件。
其中.txt格式的文件可以直接由PC的写字板、记事本软件打开,更容易看到,故优选的该数据文件为文本文件。
S2:通过FTP(File Transfer Protocol,文件传输协议),将数据文件传输给嵌入式控制器的ARM处理器。
传统步骤中,获得升级文件后需要通过仿真器的数据线,和嵌入式控制器连接,并和嵌入式控制器进行调试,以完成仿真器和上位机、仿真器和控制器之间的通信。而一般来说仿真器的数据线较短,因此在需要对嵌入式控制器的DSP处理器软件进行升级时候,需要去辅助升级的人员必须在嵌入式控制器附近,此时如果嵌入式控制器周围的环境较为危险时,对于去辅助升级的人员不利的。
而使用FTP直接将数据文件传输给嵌入式控制器的ARM处理器,实现了将升级操作和现场进行分离,使得辅助升级的人员不再需要靠近嵌入式升级系统,从而提升了辅助升级人员的安全性。
举例来说,通过以下步骤将数据文件通过FTP传输至嵌入式控制器的ARM处理器:
A1:通过上位机上的软件打开并读取本地的数据文件内容。
A2:设置需要访问的嵌入式控制器的FTP地址和端口号。
A3:设置和嵌入式控制器通信的用户名和密码。
A4:将数据文件上传至嵌入式控制器的ARM处理器。
通过将数据文件上传给嵌入式控制器的ARM处理器,而该数据文件能够被嵌入式控制器的ARM处理器进行识别,从而完成升级操作,该传输只需要辅助升级人员在上位机,比如PC上,进行操作即可完成数据文件的传输,不再需要携带仿真器及配套的数据线,以连接嵌入式控制器的DSP处理器。本步骤直接通过FTP将数据文件传输给嵌入式控制器,更加方便,同时传输十分快捷。
S3:所述ARM处理器接收所述数据文件,将数据文件拆分为数据帧,并通过双口RAM逐帧发送到嵌入式控制器中DSP处理器。
S4:DSP处理器逐帧接收的数据帧,并写入DSP处理器的片内Flash中。
数据文件包含了需要加载/缓存到Flash中数据,但是在嵌入式控制器中并不能一次性完成对整个数据文件的写入。因此需要通过嵌入式控制器中的ARM处理器将数据文件将数据文件拆分为一帧一帧的,并传输给DSP处理器,再由DSP处理器来完成数据文件的加载/缓存。
具体来说,如图2所示,其包含以下步骤:
A1:ARM处理器打开数据文件,在双口RAM预设的第一区域写入开始标识;
A2:DSP处理器读取开始标识,设置DSP处理器以及DSP处理器的片内Flash以进行升级前准备后,将所述第一区域的开始标识替换为准备完成标识;
A3:ARM处理器读取准备完成标识,读取数据文件的第一行数据作为数据帧,并判断该行是否为文件末尾,若是,则进入步骤A7,否则进入步骤A4;
A4:ARM处理器将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识,转入步骤A5;
A5:DSP处理器获取读取标识,从双口RAM预设的第二区域读取数据帧,并将该数据帧写入DSP处理器的片内Flash,写入完成后使用写入完成标识替换双口RAM预设的第一区域的读取标识,进入步骤A6;
A6:ARM处理器读取写入完成标识,读取数据文件的下一行数据作为数据帧,并判断该行是否为文件末尾,若该行为文件末尾,则进入步骤A7,否则进入步骤A4;
A7:ARM处理器将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识,进入步骤A8;
A8:DSP处理器获取读取结束标识,将第二区域的数据帧写入Flash,并使用升级完成标识替换第一区域的读取结束标识。
嵌入式控制器中的ARM处理器,通过双口RAM和DSP处理器连接,他们之间交互通过预设的各种标识,来达成提示和命令的功能。因此将数据文件拆分为数据帧,通过双口RAM读写各类标识,完成了Flash中升级数据的加载,实现了DSP处理器的软件升级。
举例来说,通过以下步骤完成对DSP模块处理器的型号为TI公司的TMS320F28335,ARM处理器型号为Atmel公司的AT91RM9200的嵌入式控制器的DSP软件升级:
S1:阻塞式获取上位机发送的命令。
S2,判断该命令是否为“进行DSP软件升级”的命令。若是,则进入S3;否则,返回S1。
S3,文件系统打开.txt格式的文件。
S4,在双口RAM的指定位置写入0x3333。该0x3333在DSP模块中表示DSP软件升级开始。
S5,等待DSP模块升级准备工作完成。当DSP模块在双口RAM的指定位置读取到0x3333的时候,完成软件升级的准备工作后,会将指定位置的数值修改为0xCCCC。ARM在双口RAM的指定位置读取到0xCCCC的时候,即认为DSP软件升级准备工作完成。
S6,读取下一行数据。
S7,判断是否本行为文件结尾。若否,进入S8;否则,进入第10步。
S8,将数据写入双口RAM中,并在双口RAM的指定位置写入0x5555。
S9,等待DSP模块读取数据完成。当DSP模块在双口RAM的指定位置读取到0x5555的时候,会将代码数据写入DSP处理器的片内Flash,之后会将指定位置的数值修改为0xAAAA。ARM在双口RAM的指定位置读取到0xAAAA的时候,即认为DSP模块数据处理完成。跳转到步骤S6步。
S10,向双口RAM的指定位置写入0x6666。0x6666表示DSP软件升级完成的标志变量。
S11,等待DSP模块升级完成。当DSP模块在双口RAM的指定位置读取到0x6666的时候,会将指定位置的数值修改为0x8888。ARM在双口RAM的指定位置读取到0x8888的时候,即认为DSP软件升级完成。
S12,通过TCP协议向上位机发送DSP软件升级成功的信息。
S13,跳转到步骤S1。
使用双口RAM中指定位置作为ARM处理器和DSP处理器的指令交流的位置,保证其命令上报和状态通知能够流畅的相互传导。使得数据文件以数据帧的形式一帧一帧的写入DSP处理器的片内Flash中。
同时这种加载和写入不再需要人为的进行操作,全部由ARM处理器和DSP处理器之间自动完成,不需要人工介入,减少了人为的错误,更加准确。省去了人工的麻烦,更加方便,而在双口RAM指定位置监控和写入指令保证了升级的有序性,更加便捷和迅速。
进一步的,DSP处理器读取开始标识,完成软件升级前的准备工作具体包括以下步骤:
S1:DSP处理器判断预设的第一区域是否写有开始标识,如果是则进入步骤S2;
S2:禁止当前DSP处理器中断操作,并将DSP处理器配置到用于Flash擦写的时钟;
S3:擦除DSP处理器的片内Flash的所有扇区。
在加载数据文件并写入DSP处理器的片内Flash中的时候,Flash中原有的数据需要进行擦除,否则无法将数据写入DSP处理器的片内Flash中。因此在需要升级的时候,通过DSP处理器擦除Flash的数据。
同时对于Flash进行擦除和写入时候,需要特定的时钟,因此,在接收到开始标识后,需要将DSP处理器配置到能够帮助DSP处理器进行Flash擦写的时钟,保证擦写动作的完整和流畅。
需要说明的是,在步骤S1中只写明如果是则进入步骤S2,该步骤如果为否,则正常运行,此判断分支为本领域技术人员所悉知的技术方案,故不再详述。
如图3所示,本发明还提供一种嵌入式控制器的DSP软件升级系统,其包括转换模块1、传输模块2、ARM处理器的数据交换模块3和DSP处理器的软件升级模块4;
转换模块1,用于生成DSP软件的目标文件,将所述DSP软件的目标文件转换为数据文件;
传输模块2,用于通过文件传输协议FTP将数据文件传输给ARM处理器的数据交换模块3;
嵌入式控制器的ARM处理器3,用于接收所述数据文件,将数据文件拆分为数据帧,逐帧发送到DSP处理器的软件升级模块;
嵌入式控制器的DSP处理器4,用于逐帧接收数据帧,并写入DSP处理器的片内Flash中。
具体的,嵌入式控制器的ARM处理器3用于打开文本文件,在双口RAM预设的第一区域写入开始标识;还用于根据第一区域的标识对所述第一区域以及第二区域执行读写操作:
若第一区域的标识为完成标识,则读取文本文件的第一行数据作为数据帧,并判断该行是否为文件末尾,若第一行为文件末尾则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识,否则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识;
若第一区域的标识为写入完成标识,则读取文本文件的下一行数据作为数据帧,并判断该行是否为文件末尾,若该行为文件末尾则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识,否则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识;
具体的,嵌入式控制器的DSP处理器4用于根据第一区域的标识对所述第一区域、第二区域和Flash执行读写操作:
若第一区域的标识为开始标识,则设置DSP处理器以及Flash后,将所述第一区域的开始标识替换为准备完成标识;
若第一区域的标识为读取标识,则从双口RAM预设的第二区域读取数据帧,并将该数据帧写入DSP处理器的片内Flash,写入完成后使用写入完成标识替换双口RAM预设的第一区域的读取标识;
若第一区域的标识为读取结束标识,则将第二区域的数据帧写入Flash,并使用升级完成标识替换第一区域的读取结束标识。
进一步的,DSP处理器还包括判断子模块、配置子模块和清除子模块:
判断子模块,用于校验预设的第一区域是否写有开始标识,如果是则调用配置子模块;
配置子模块,用于禁止当前DSP处理器中断操作,并将DSP处理器配置到用于Flash擦写的时钟;
清除子模块,用于擦除DSP处理器的片内Flash的所有扇区。
前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的系统,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中系统的实施方法,所以为了说明书的简洁,在此不再详述。
总体来说,本发明实施例提供的一种嵌入式控制器的DSP软件升级方法及系统,通过将DSP软件的目标文件转换为数据文件,在通过ARM处理器将数据文件转换为多个数据帧传输至DSP处理器,辅助DSP处理器将所有数据帧写入DSP处理器的片内Flash中从而完成嵌入式控制器中的DSP软件升级,相较于传统的技术,能够通过直接省去设置在上位机和嵌入式控制器之间的仿真器,其成本更低,操作更简单,同时更加安全。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种嵌入式控制器的DSP软件升级方法,其特征在于,其包括:
生成数字信号处理DSP软件的目标文件,将所述DSP软件的目标文件转换为数据文件;
通过文件传输协议FTP将数据文件传输给嵌入式控制器的ARM处理器;
所述ARM处理器接收所述数据文件,将数据文件拆分为数据帧,并通过双口RAM逐帧传输到嵌入式控制器中的DSP处理器;
DSP处理器逐帧接收数据帧,并写入DSP处理器的片内Flash中;
所述ARM处理器将数据文件拆分为数据帧,逐帧传输到嵌入式控制器中的DSP处理器;DSP处理器逐帧接收数据帧,并写入嵌入式控制器的DSP处理器的片内Flash中,具体过程为:
S1:ARM处理器打开数据文件,在双口RAM预设的第一区域写入开始标识;
S2:DSP处理器读取开始标识,设置DSP处理器以及DSP处理器的片内Flash以进行升级前准备后,将所述第一区域的开始标识替换为准备完成标识;
S3:ARM处理器读取准备完成标识,读取数据文件的第一行数据作为数据帧,并判断该行是否为文件末尾,若是,则进入步骤S7,否则进入步骤S4;
S4:ARM处理器将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识,转入步骤S5;
S5:DSP处理器获取读取标识,从双口RAM预设的第二区域读取数据帧,并将该数据帧写入DSP处理器的片内Flash,写入完成后使用写入完成标识替换双口RAM预设的第一区域的读取标识,进入步骤S6;
S6:ARM处理器读取写入完成标识,读取数据文件的下一行数据作为数据帧,并判断该行是否为文件末尾,若该行为文件末尾,则进入步骤S7,否则进入步骤S4;
S7:ARM处理器将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识;
S8:DSP处理器获取读取结束标识,将第二区域的数据帧写入Flash,并使用升级完成标识替换第一区域的读取结束标识。
2.如权利要求1所述的一种嵌入式控制器的DSP软件升级方法,其特征在于,步骤S2中,所述DSP处理器读取开始标识,设置DSP处理器以及DSP处理器的片内Flash以进行升级前准备,具体包括以下步骤:
S201:DSP处理器判断预设的第一区域是否写有开始标识,如果是,则进入步骤S202;
S202:禁止当前DSP处理器进行中断操作,并将DSP处理器配置到用于Flash擦写的时钟,进入步骤S203;
S203:擦除DSP处理器的片内Flash的所有扇区。
3.如权利要求1所述的一种嵌入式控制器的DSP软件升级方法,其特征在于,使用预设的软件/函数将所述DSP软件的目标文件转换为数据文件。
4.如权利要求3所述的一种嵌入式控制器的DSP软件升级方法,其特征在于,所述预设的软件为hex2000.exe,hex2000.exe将.hex格式的升级文件逐行转换为数据文件。
5.一种嵌入式控制器的DSP软件升级系统,其特征在于,其包括转换模块、传输模块、嵌入式控制器的ARM处理器和DSP处理器;
转换模块,用于生成DSP软件的目标文件,将所述DSP软件的目标文件转换为数据文件;
传输模块,用于通过文件传输协议FTP将数据文件传输给嵌入式控制器的ARM处理器;
嵌入式控制器的ARM处理器,用于接收所述数据文件,将数据文件拆分为数据帧,逐帧发送到嵌入式控制器的DSP处理器;
嵌入式控制器的DSP处理器,用于逐帧接收数据帧,并写入DSP处理器的片内Flash中;
所述嵌入式控制器的ARM处理器具体用于:打开数据文件,在双口RAM预设的第一区域写入开始标识;根据第一区域的标识对所述第一区域以及第二区域执行读写操作:
若第一区域的标识为完成标识,则读取数据文件的第一行数据作为数据帧,并检测第一行是否为文件末尾,若是,则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识,否则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识;
若第一区域的标识为写入完成标识,则读取数据文件的下一行数据作为数据帧,并判断该行是否为文件末尾,若该行为文件末尾,则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取结束标识,否则将数据帧写入双口RAM预设的第二区域,并在预设的第一区域写入读取标识。
6.如权利要求5所述的一种嵌入式控制器的DSP软件升级系统,其特征在于:所述嵌入式控制器的DSP处理器具体用于:根据第一区域的标识对所述第一区域、第二区域和DSP处理器的片内Flash执行读写操作:
若第一区域的标识为开始标识,则设置DSP处理器以及Flash后,将所述第一区域的开始标识替换为准备完成标识;
若第一区域的标识为读取标识,则从双口RAM预设的第二区域读取数据帧,并将该数据帧写入DSP处理器的片内Flash,写入完成后使用写入完成标识替换双口RAM预设的第一区域的读取标识;
若第一区域的标识为读取结束标识,则将第二区域的数据帧写入Flash,并使用升级完成标识替换第一区域的读取结束标识。
7.如权利要求6所述的一种嵌入式控制器的DSP软件升级系统,其特征在于,所述DSP处理器包括判断子模块、配置子模块和清除子模块:
判断子模块,用于校验预设的第一区域是否写有开始标识,如果是,则触发配置子模块工作;
配置子模块,用于禁止当前DSP处理器进行中断操作,并将DSP处理器配置到用于片内Flash擦写的时钟,触发清除子模块工作;
清除子模块,用于擦除DSP处理器的片内Flash的所有扇区。
8.如权利要求5所述的一种嵌入式控制器的DSP软件升级系统,其特征在于:所述转换模块使用预装于上位机的软件/函数将所述DSP软件的目标文件转换为数据文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811098781.7A CN109358891B (zh) | 2018-09-18 | 2018-09-18 | 一种嵌入式控制器的dsp软件升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811098781.7A CN109358891B (zh) | 2018-09-18 | 2018-09-18 | 一种嵌入式控制器的dsp软件升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109358891A CN109358891A (zh) | 2019-02-19 |
CN109358891B true CN109358891B (zh) | 2022-03-01 |
Family
ID=65351405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811098781.7A Active CN109358891B (zh) | 2018-09-18 | 2018-09-18 | 一种嵌入式控制器的dsp软件升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109358891B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704020B (zh) * | 2019-09-29 | 2022-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种跨时钟域数据包的完整性判断方法、系统及相关装置 |
CN110990044B (zh) * | 2019-11-12 | 2023-06-30 | 中国航发南方工业有限公司 | 在应用编程方法、计算机可读取的存储介质 |
CN111240711B (zh) * | 2019-12-28 | 2021-08-13 | 中国船舶重工集团公司第七一七研究所 | 一种光电设备综合控制电路dsp软件更新方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024074A (zh) * | 2012-12-28 | 2013-04-03 | 哈尔滨工业大学 | 基于gprs的dsp远程无线升级方法 |
CN107562504A (zh) * | 2017-09-11 | 2018-01-09 | 哈尔滨工程大学 | 一种dsp程序分段加载的串口实现方法 |
CN108153536A (zh) * | 2017-12-20 | 2018-06-12 | 北京华航无线电测量研究所 | 一种动态调整ram空间的dsp在线升级方法 |
-
2018
- 2018-09-18 CN CN201811098781.7A patent/CN109358891B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024074A (zh) * | 2012-12-28 | 2013-04-03 | 哈尔滨工业大学 | 基于gprs的dsp远程无线升级方法 |
CN107562504A (zh) * | 2017-09-11 | 2018-01-09 | 哈尔滨工程大学 | 一种dsp程序分段加载的串口实现方法 |
CN108153536A (zh) * | 2017-12-20 | 2018-06-12 | 北京华航无线电测量研究所 | 一种动态调整ram空间的dsp在线升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109358891A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109358891B (zh) | 一种嵌入式控制器的dsp软件升级方法及系统 | |
US8898638B1 (en) | Method and system for remote software debugging | |
CN101963910A (zh) | 基于通用usb总线的设备固件升级方法 | |
US7225357B2 (en) | SDIO card development system | |
CN204759403U (zh) | 一种基于数据透传实现设备内部模块升级的系统 | |
CN111475174A (zh) | 一种车载网关在线刷写、配置的装置及方法 | |
CN104407878A (zh) | C6000数字信号处理器在线升级方法 | |
CN102446141B (zh) | 用于实现写保护控制的装置和方法 | |
CN113407393A (zh) | 芯片验证方法、终端设备、验证平台以及存储介质 | |
JPH1078889A (ja) | マイクロコンピュータ | |
KR100628454B1 (ko) | 컴퓨터를 이용한 이기종 이동 통신 단말기간의 사용자 데이터 변환 전송장치 및 방법 | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
US11954951B2 (en) | Component of electric vehicle, data collecting system for electric vehicle, and data collecting method for electric vehicle | |
CN112506871B (zh) | 自动化任务管理及日志管理方法、系统、电子设备和介质 | |
CN115495135A (zh) | 一种fpga烧录方法及终端设备 | |
CN112416829B (zh) | 数据传输到hmi的方法以及usb hid设备 | |
CN114281390A (zh) | 一种基于Zynq 7000的在线升级系统及方法 | |
CN218886572U (zh) | 一种简单外设总线系统 | |
CN110968270A (zh) | 一种Flash空间的高效存储方法及装置 | |
CN113986806B (zh) | 基于串口加网口的goip高速取证的方法、系统和存储介质 | |
CN115576592A (zh) | 一种基于can通讯的通用dsp程序在线升级方法 | |
CN115357306A (zh) | 一种基于以太网的fpga程序固化系统 | |
CN112860237B (zh) | 一种测控固件生成方法、装置、计算机设备及存储介质 | |
CN109587363B (zh) | 一种调制解调器 | |
CN115934139B (zh) | 一种fpga在线升级方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |