CN117032766A - 一种基于Java的DSP在线上传、下载方法及其装置 - Google Patents

一种基于Java的DSP在线上传、下载方法及其装置 Download PDF

Info

Publication number
CN117032766A
CN117032766A CN202311007331.3A CN202311007331A CN117032766A CN 117032766 A CN117032766 A CN 117032766A CN 202311007331 A CN202311007331 A CN 202311007331A CN 117032766 A CN117032766 A CN 117032766A
Authority
CN
China
Prior art keywords
uploading
dsp
program
java
downloading
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
Application number
CN202311007331.3A
Other languages
English (en)
Inventor
杨沁雪
胡业火
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Aerospace Fenghua Precision Equipment Co Ltd
Original Assignee
Guizhou Aerospace Fenghua Precision Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou Aerospace Fenghua Precision Equipment Co Ltd filed Critical Guizhou Aerospace Fenghua Precision Equipment Co Ltd
Priority to CN202311007331.3A priority Critical patent/CN117032766A/zh
Publication of CN117032766A publication Critical patent/CN117032766A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

一种基于Java的DSP在线上传、下载方法及其装置
技术领域
本发明涉及一种系统的在线上传、下载技术,具体为一种基于Java的DSP在线上传、下载方法及其装置。
背景技术
TI公司的F2812DSP芯片片内Flash具有8个区间,并且提供Flash API操作接口函数,可对每个区间Flash都单独擦写、烧录程序。传统二次加载需要定义软件烧录区间、数据通信协议等内容,不同的DSP型号、不同产品需求的通信协议等内容均不同。传统模式下,使用C++等开发工具针对不同项目的DSP开发不同的上传、下载软件,不具备移植性,软件不能做到通用化,存在很大的应用限制,制约了产品开发进度和质量。
发明内容
为了解决现有技术存在的问题,本发明提出了一种基于Java的DSP在线上传、下载方法及其装置。
本发明的技术方案包括:
一种基于Java的DSP在线上传、下载方法,其特征在于:在DSP芯片的Flash区间中存储一段为bootloader;
通过片上bootloader程序与地面系统握手接收应用程序,并跳转到相应区间执行;
根据在线上传、下载需求,指定通用化的通信协议,具体内容见表:
地面系统按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级。
所述的DSP芯片为TI公司的F2812DSP芯片。
所述的bootloader是一个加载引导程序,在DSP2812启动后加载到RAM中执行,并与地面系统通信,接收数据写入Flash,并跳转执行。
bootloader程序设计要点如下:
a)DSP上电复位后与上位机通信,判断是否需要升级应用程序;若上位机发送的是升级命令,则跳转到底层程序中升级部分执行,否则,跳转到原有的应用程序处执行;
b)由于DSP不支持对FLASH烧写的同时在FLASH中运行程序,因此负责烧写Flash的这部分程序应搬移至片内RAM执行。
bootloader程序加载TI公司提供的Flash API函数库,并由Flash区间搬移到RAM中执行,通过CODE_SECTION伪代码将程序定义到某代码段中,程序启动时,通过memcpy函数将某代码段加载到RAM中执行;
程序加载完成后,通过“((void(*)())BaseAddress)();”方法跳转到指定地址执行。
所述的应用程序设计完成后编译形成out文件及map文件,map文件中DSP281x_CodeStartBranch.obj的地址即为应用程序的起始地址,也是bootloader中的调转地址。
为保证地面系统的通用性,软件采用Java编制,设置串口及参数,打开串口后,设置待上传的文件及Flash区段,依次点击“擦除”、“上传”按钮完成应用程序的在线升级。
本发明还提供了一种基于Java的DSP在线上传、下载装置,包括地面系统和DSP芯片,地面系统包括存储器、处理器以及存储在所述存储器上的计算机程序,地面系统的计算机程序按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级,DSP芯片中的Flash区间中存储一段加载引导程序bootloader,通过片上bootloader程序与地面系统握手接收应用程序。
本发明的有益效果是:
针对不同项目的DSP分析上传、下载功能,定义通用化的上传、下载、执行等通信协议,使用Java制作上位机软件,将通信帧格式、通信协议定义在配置文件中,通过外部配置实现一个软件装置对不同项目的在线上传、下载。通过Java的反射机制及配置外部插件,实现不同项目的差异化需求。
附图说明
图1是本发明的方法流程图。
图2是地面系统软件界面。
具体实施方式
以下将结合图1-2对本发明进行详细描述,本说明书图中所引用的如“FlashB区间”、“FlashC区间”等的用语,仅为便于叙述的明了,而非用以限定本发明可实施的范围,相关程序其储存位置的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明的技术方案包括:在DSP芯片的Flash区间中存储一段加载引导程序bootloader;
通过片上bootloader程序与地面系统握手接收应用程序,并跳转到相应区间执行,基本流程如图1所示;
根据在线上传、下载需求,指定通用化的通信协议,具体内容见表:
地面系统按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级。
所述的DSP芯片为TI公司的F2812DSP芯片,片内Flash具有8个区间,并且提供Flash API操作接口函数,可对每个区间Flash都单独擦写、烧录程序。
所述的bootloader是一个加载引导程序,在DSP2812启动后加载到RAM中执行,并与地面系统通信,接收数据写入Flash,并跳转执行。
bootloader程序的功能包括:
a)DSP上电复位后与上位机通信,判断是否需要升级;若上位机发送的是升级命令,则跳转到底层程序中升级部分执行,否则,跳转到原有的应用程序处执行;
b)由于DSP不支持对FLASH烧写的同时在FLASH中运行程序,因此负责烧写Flash的这部分程序应搬移至片内RAM执行。
bootloader程序加载TI公司提供的Flash API函数库,并由Flash区间搬移到RAM中执行,通过CODE_SECTION伪代码将程序定义到某代码段中,程序启动时,通过memcpy函数将某代码段加载到RAM中执行;例如:在CMD文件中ramfuncs代码段定义如下,表示存储在FlashB中,加载到RAML0L1内存区间执行。
程序加载完成后,通过“((void(*)())BaseAddress)();”方法跳转到指定地址执行。
所述的应用程序设计完成后编译形成out文件及map文件,map文件中DSP281x_CodeStartBranch.obj的地址即为应用程序的起始地址,也是bootloader中的调转地址。
为保证地面系统的通用性,软件采用Java编制,软件界面如图2所示,设置串口及参数,打开串口后,设置待上传的文件及Flash区段,依次点击“擦除”、“上传”按钮完成应用程序的在线升级。
本发明还提供了一种基于Java的DSP在线上传、下载装置,包括地面系统和DSP芯片,地面系统包括存储器、处理器以及存储在所述存储器上的计算机程序,地面系统的计算机程序按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级,DSP芯片中的Flash区间中存储一段加载引导程序bootloader,通过片上bootloader程序与地面系统握手接收应用程序。

Claims (10)

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中执行;
程序加载完成后,通过“((void(*)())BaseAddress)();”方法跳转到指定地址执行。
6.根据权利要求1-5任一项所述基于Java的DSP在线上传、下载方法,其特征在于,所述的应用程序设计完成后编译形成out文件及map文件,map文件中DSP281x_CodeStartBranch.obj的地址即为应用程序的起始地址,也是bootloader中的调转地址。
7.根据权利要求6所述基于Java的DSP在线上传、下载方法,其特征在于,所述通用化的通信协议具体包含以下功能指令:在线上传握手、Flash擦写、设定上传基地址、上传数据、结束上传、数据下载以及跳转执行。
8.根据权利要求7所述基于Java的DSP在线上传、下载方法,其特征在于,所述的地面系统软件采用Java编制,设置串口及参数,打开串口后,设置待上传的文件及Flash区段,依次点击“擦除”、“上传”按钮完成应用程序的在线升级。
9.一种基于Java的DSP在线上传、下载装置,其特征在于,包括:地面系统和DSP芯片,地面系统包括存储器、处理器以及存储在所述存储器上的计算机程序,地面系统的计算机程序按照通用化的通信协议回复DSP握手信号,读取bin文件,发送擦除、上传指令,完成应用程序的在线升级,DSP芯片中的Flash区间中存储一段加载引导程序bootloader,通过片上bootloader程序与地面系统握手接收应用程序。
10.根据权利要求9所述基于Java的DSP在线上传、下载装置,其特征在于:该装置用于实现权利要求8所述的DSP在线上传、下载的步骤。
CN202311007331.3A 2023-08-10 2023-08-10 一种基于Java的DSP在线上传、下载方法及其装置 Pending CN117032766A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311007331.3A CN117032766A (zh) 2023-08-10 2023-08-10 一种基于Java的DSP在线上传、下载方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311007331.3A CN117032766A (zh) 2023-08-10 2023-08-10 一种基于Java的DSP在线上传、下载方法及其装置

Publications (1)

Publication Number Publication Date
CN117032766A true CN117032766A (zh) 2023-11-10

Family

ID=88636799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311007331.3A Pending CN117032766A (zh) 2023-08-10 2023-08-10 一种基于Java的DSP在线上传、下载方法及其装置

Country Status (1)

Country Link
CN (1) CN117032766A (zh)

Similar Documents

Publication Publication Date Title
US6523101B1 (en) Installed-software development assistance system
CN100461105C (zh) 一种智能化设备软件升级与修复的方法和系统
CN101216773A (zh) 一种嵌入式Linux系统固件下载方法和装置
JPH02214994A (ja) Icカード
CN104407878B (zh) C6000数字信号处理器在线升级方法
US20240045672A1 (en) Embedded terminals remote online development system
CN108829465B (zh) 一种基于直接读写flash的本地动态加载系统及方法
CN105988843A (zh) 移动终端固件升级方法及固件升级装置
CN102880498A (zh) 在安卓系统的装置上虚拟sd卡的方法
CN101620542B (zh) 一种超声成像设备软件数据的兼容更新方法
CN106909480B (zh) 一种嵌入式系统交叉调试方法和装置
CN105259834A (zh) 一种固件可重构的手机数据采集控制器及方法
US7047283B1 (en) Apparatus and method of upgrading program of firmware board
CN117032766A (zh) 一种基于Java的DSP在线上传、下载方法及其装置
CN111459468A (zh) 高可靠性串口通讯的dsp程序在线升级系统和方法
CN110297652A (zh) 一种fpga远程升级的方法
CN112346769A (zh) 一种基于tms320f28335的dsp软件在线升级方法
CN111459526A (zh) 一种基于can通讯的单片机在线升级方法
CN113157329A (zh) 启动应用的方法、系统、服务器和存储介质
CN217640186U (zh) 一种基于tms320f28335的iap在线升级模组
CN111007989A (zh) 一种弹载flash芯片坏块信息存储和使用方法
JP2002007152A (ja) ダウンロード方法および装置
WO2000054124A3 (en) Automated downloading computer jukebox
CN114115988A (zh) 一种PowerPC架构嵌入式平台下烧录VxWorks操作系统的方法
KR20000033437A (ko) 부트스트랩로더 기능 구현 장치

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