CN117032766A - 一种基于Java的DSP在线上传、下载方法及其装置 - Google Patents
一种基于Java的DSP在线上传、下载方法及其装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims abstract description 12
- 230000009191 jumping Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 3
- 239000011800 void material Substances 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 238000007405 data analysis Methods 0.000 abstract 1
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-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在线上传、下载方法及其装置。
背景技术
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在线上传、下载的步骤。
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) |
-
2023
- 2023-08-10 CN CN202311007331.3A patent/CN117032766A/zh active Pending
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 |