一种基于Java的DSP在线上传、下载方法及其装置制造方法及图纸

技术编号:39434992 阅读:7 留言:0更新日期:2023-11-19 16:18
本发明专利技术公开了一种基于Java的DSP在线上传、下载方法及其装置,包括在DSP芯片的Flash区间中存储一段加载引导程序bootloader;通过片上bootloader程序与地面系统握手接收应用程序,并跳转到相应区间执行;根据在线上传、下载需求,指定通用化的通信协议;地面系统按照通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级。针对不同项目的DSP分析上传、下载功能,定义通用化的通信协议,使用Java制作上位机软件,通过调用Java的串口通信包实现Java对硬件的通信控制,将通信帧格式、通信协议定义在配置文件中,实现了通信格式、数据解析的通用化。数据解析的通用化。数据解析的通用化。

【技术实现步骤摘要】
一种基于Java的DSP在线上传、下载方法及其装置


[0001]本专利技术涉及一种系统的在线上传、下载技术,具体为一种基于Java的DSP在线上传、下载方法及其装置。

技术介绍

[0002]TI公司的F2812DSP芯片片内Flash具有8个区间,并且提供Flash API操作接口函数,可对每个区间Flash都单独擦写、烧录程序。传统二次加载需要定义软件烧录区间、数据通信协议等内容,不同的DSP型号、不同产品需求的通信协议等内容均不同。传统模式下,使用C++等开发工具针对不同项目的DSP开发不同的上传、下载软件,不具备移植性,软件不能做到通用化,存在很大的应用限制,制约了产品开发进度和质量。

技术实现思路

[0003]为了解决现有技术存在的问题,本专利技术提出了一种基于Java的DSP在线上传、下载方法及其装置。
[0004]本专利技术的技术方案包括:
[0005]一种基于Java的DSP在线上传、下载方法,其特征在于:在DSP芯片的Flash区间中存储一段为bootloader;
[0006]通过片上bootloader程序与地面系统握手接收应用程序,并跳转到相应区间执行;
[0007]根据在线上传、下载需求,指定通用化的通信协议,具体内容见表:
[0008][0009][0010]地面系统按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级。
[0011]所述的DSP芯片为TI公司的F2812DSP芯片。
[0012]所述的bootloader是一个加载引导程序,在DSP2812启动后加载到RAM中执行,并与地面系统通信,接收数据写入Flash,并跳转执行。
[0013]bootloader程序设计要点如下:
[0014]a)DSP上电复位后与上位机通信,判断是否需要升级应用程序;若上位机发送的是升级命令,则跳转到底层程序中升级部分执行,否则,跳转到原有的应用程序处执行;
[0015]b)由于DSP不支持对FLASH烧写的同时在FLASH中运行程序,因此负责烧写Flash的这部分程序应搬移至片内RAM执行。
[0016]bootloader程序加载TI公司提供的Flash API函数库,并由Flash区间搬移到RAM中执行,通过CODE_SECTION伪代码将程序定义到某代码段中,程序启动时,通过memcpy函数将某代码段加载到RAM中执行;
[0017]程序加载完成后,通过“((void(*)())BaseAddress)();”方法跳转到指定地址执行。
[0018]所述的应用程序设计完成后编译形成out文件及map文件,map文件中DSP281x_CodeStartBranch.obj的地址即为应用程序的起始地址,也是bootloader中的调转地址。
[0019]为保证地面系统的通用性,软件采用Java编制,设置串口及参数,打开串口后,设置待上传的文件及Flash区段,依次点击“擦除”、“上传”按钮完成应用程序的在线升级。
[0020]本专利技术还提供了一种基于Java的DSP在线上传、下载装置,包括地面系统和DSP芯片,地面系统包括存储器、处理器以及存储在所述存储器上的计算机程序,地面系统的计算机程序按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级,DSP芯片中的Flash区间中存储一段加载引导程序bootloader,通过片上bootloader程序与地面系统握手接收应用程序。
[0021]本专利技术的有益效果是:
[0022]针对不同项目的DSP分析上传、下载功能,定义通用化的上传、下载、执行等通信协议,使用Java制作上位机软件,将通信帧格式、通信协议定义在配置文件中,通过外部配置实现一个软件装置对不同项目的在线上传、下载。通过Java的反射机制及配置外部插件,实现不同项目的差异化需求。
附图说明
[0023]图1是本专利技术的方法流程图。
[0024]图2是地面系统软件界面。
具体实施方式
[0025]以下将结合图1

2对本专利技术进行详细描述,本说明书图中所引用的如“FlashB区间”、“FlashC区间”等的用语,仅为便于叙述的明了,而非用以限定本专利技术可实施的范围,相关程序其储存位置的改变或调整,在无实质变更
技术实现思路
下,当亦视为本专利技术可实施的范畴。
[0026]本专利技术的技术方案包括:在DSP芯片的Flash区间中存储一段加载引导程序bootloader;
[0027]通过片上bootloader程序与地面系统握手接收应用程序,并跳转到相应区间执行,基本流程如图1所示;
[0028]根据在线上传、下载需求,指定通用化的通信协议,具体内容见表:
[0029][0030][0031]地面系统按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级。
[0032]所述的DSP芯片为TI公司的F2812DSP芯片,片内Flash具有8个区间,并且提供Flash API操作接口函数,可对每个区间Flash都单独擦写、烧录程序。
[0033]所述的bootloader是一个加载引导程序,在DSP2812启动后加载到RAM中执行,并与地面系统通信,接收数据写入Flash,并跳转执行。
[0034]bootloader程序的功能包括:
[0035]a)DSP上电复位后与上位机通信,判断是否需要升级;若上位机发送的是升级命令,则跳转到底层程序中升级部分执行,否则,跳转到原有的应用程序处执行;
[0036]b)由于DSP不支持对FLASH烧写的同时在FLASH中运行程序,因此负责烧写Flash的这部分程序应搬移至片内RAM执行。
[0037]bootloader程序加载TI公司提供的Flash API函数库,并由Flash区间搬移到RAM中执行,通过CODE_SECTION伪代码将程序定义到某代码段中,程序启动时,通过memcpy函数将某代码段加载到RAM中执行;例如:在CMD文件中ramfuncs代码段定义如下,表示存储在FlashB中,加载到RAML0L1内存区间执行。
[0038]程序加载完成后,通过“((void(*)())BaseAddress)();”方法跳转到指定地址执行。
[0039]所述的应用程序设计完成后编译形成out文件及map文件,map文件中DSP281x_
CodeStartBranch.obj的地址即为应用程序的起始地址,也是bootloader中的调转地址。
[0040]为保证地面系统的通用性,软件采用Java编制,软件界面如图2所示,设置串口及参数,打开串口后,设置待上传的文件及Flash区段,依次点击“擦除”、“上传”按钮完成应用程序的在线升级。
[0041]本专利技术还提供了一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Java的DSP在线上传、下载方法,其特征在于:在DSP芯片的Flash区间中存储一段加载引导程序bootloader;通过片上bootloader程序与地面系统握手接收应用程序,并跳转到存储应用程序的相应区间执行;根据在线上传、下载需求,指定通用化的通信协议;地面系统按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级。2.根据权利要求1所述基于Java的DSP在线上传、下载方法,其特征在于,所述的DSP芯片为TI公司的F2812DSP芯片。3.根据权利要求1所述基于Java的DSP在线上传、下载方法,其特征在于,所述的bootloader在DSP2812启动后加载到RAM中执行,并与地面系统通信,接收数据写入Flash,并跳转执行。4.根据权利要求3所述基于Java的DSP在线上传、下载方法,其特征在于,所述bootloader程序的功能包括:a)DSP上电复位后与上位机通信,判断是否需要升级应用程序;若上位机发送的是升级命令,则跳转到底层程序中升级部分执行,否则,跳转到原有的应用程序处执行;b)负责烧写Flash的这部分程序搬移至片内RAM执行。5.根据权利要求3所述基于Java的DSP在线上传、下载方法,其特征在于,所述的bootloader程序加载TI公司提供的FlashAPI函数库,并由Flash区间搬移到RAM中执行,通过CODE_SECTION伪代码将程序定义到某代码段中,程序启动时,通过memcpy函数将某代码段加载到RAM中执行;程序加载完成后,通过“((v...

【专利技术属性】
技术研发人员:杨沁雪胡业火
申请(专利权)人:贵州航天风华精密设备有限公司
类型:发明
国别省市:

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

1