CN111443960A - 一种多版本加载程序系统和方法 - Google Patents

一种多版本加载程序系统和方法 Download PDF

Info

Publication number
CN111443960A
CN111443960A CN202010236092.9A CN202010236092A CN111443960A CN 111443960 A CN111443960 A CN 111443960A CN 202010236092 A CN202010236092 A CN 202010236092A CN 111443960 A CN111443960 A CN 111443960A
Authority
CN
China
Prior art keywords
ash
dsp
version
fpga
starting
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
CN202010236092.9A
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.)
Sichuan Hongchuang Electronic Technology Co ltd
Original Assignee
Sichuan Hongchuang Electronic Technology 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 Sichuan Hongchuang Electronic Technology Co ltd filed Critical Sichuan Hongchuang Electronic Technology Co ltd
Priority to CN202010236092.9A priority Critical patent/CN111443960A/zh
Publication of CN111443960A publication Critical patent/CN111443960A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种多版本加载程序系统和方法,包括DSP、FLASH以及FPGA,所述FLASH存储有多个不同版本的DSP启动文件,以及与多个不同版本的所述DSP启动文件相对应的控制指令;当所述DSP启动时,所述DSP发送一个所述控制指令至所述FPGA,所述FPGA从所述FLASH选择与所述控制指令相对应版本的所述DSP启动文件,并由所述FLASH发送至所述DSP。本发明的目的在于提供一种多版本加载程序系统和方法,将若干个不同版本的启动文件存储于FLASH中,当需要启动时,通过控制FPGA进行版本的选择并进行启动。

Description

一种多版本加载程序系统和方法
技术领域
本发明涉及数字信号处理技术领域,具体涉及一种多版本加载程序系统和方法。
背景技术
数字信号处理技术广泛应用在通信、图像处理、雷达等领域,在大多数信号处理系统中,数字信号处理的运算量较大,算法结构较复杂,且处理的实时性要求高。
数字信号处理器(DSP)上电后第一步执行的就是程序加载,DSP在FLASH加载模式下启动时,boot loader将自动从FLASH中读取1KB程序到L2中运行,在实际应用中DSP程序远远大于1KB,boot loader仅搬移1KB无法满足实际使用需求,固需要进行二次引导。将该1KB空间用于存储二次引导程序,由二次引导程序加载应用程序启动,二次引导程序为汇编程序,将其烧写到FLASH起始的1KB空间中,DSP上电时boot loader将二次引导程序读取到L2中运行,二次引导程序完成必要外设的初始化,如PLL、DDR,将应用程序从FLASH搬移到内存中展开,并跳转到程序初始化入口处(c_int(0)),加载过程结束。
使用CCS集成开发环境编译DSP程序时,通常将生成的可执行文件设置为COFF格式(通用目标格式),COFF中的最小单位称之为section(段),如存放代码的是.text段、存放静态变量和全局变量的是.bss段、栈空间是.stack段。为便于将二次引导程序和应用程序分开,通常将二次引导程序指定存放在BOOT段中,使用十六进制转换工具(Hex6x.exe)将可执行文件转换为.bin文件。将DSP程序烧写到FLASH时,对.bin文件进行解析,将BOOT段数据烧写到FLASH起始空间中,将剩余段数据依次烧写写到FLASH起始地址偏移1KB的空间中,如图1所示。
然而,当FLASH中的加载程序过多,导致加载文件过大时,则DSP无法进行访问。
发明内容
本发明的目的在于提供一种多版本加载程序系统和方法,将若干个不同版本的启动文件存储于FLASH中,当需要启动时,通过控制FPGA进行版本的选择和启动。
本发明通过下述技术方案实现:
一种多版本加载程序系统,包括DSP、FLASH以及FPGA,所述FLASH存储有多个不同版本的DSP启动文件,以及与多个不同版本的所述DSP启动文件相对应的控制指令;当所述DSP启动时,所述DSP发送一个所述控制指令至所述FPGA,所述FPGA从所述FLASH选择与所述控制指令相对应版本的所述DSP启动文件,并由所述FLASH发送至所述DSP。
在本方案中,根据DSP一次能读取最大的启动文件的大小,在FLASH中存储多个不同版本的启动文件,当DSP在不同的应用环境中启动时,可以通过控制FPGA进行版本的选择和启动。
进一步地,所述FLASH包括多根高位地址线,所述高位地址线与所述FPGA连接,用以所述FPGA从所述FLASH选择与所述控制指令相对应的所述DSP启动文件。
进一步地,所述FLASH还包括多根低位地址线,所述低位地址线与所述DSP连接,用以将所述DSP启动文件发送至所述DSP。
进一步地,所述FLASH存储有32个不同版本的DSP启动文件。
进一步地,所述DSP启动文件的大小为2M。
一种多版本加载程序方法,包括以下步骤:
S1:接收用户指令,所述用户指令包括启动指令和版本指令;
S2:将所述版本指令发送至FPGA,FPGA将FLASH中预存储的启动文件的版本与所述版本指令匹配;
S3:接收所述FLASH中匹配到的启动文件,并根据所述启动指令进行启动。
当DSP启动时,根据需要启动的DSP版本,发送一个与该DSP版本对应的控制指令给FPGA,FPGA根据接收的控制指令,从FLASH中选择与该控制指令相对应版本的启动文件,并由FLASH发送给DSP进行启动。
通过该方法,可以将若干个不同版本的启动文件存储于FLASH中,当在不同应用场景启动DSP时,可以通过控制FPGA进行版本的选择和并进行启动。
进一步地,所述FLASH包括多根高位地址线,所述高位地址线与所述FPGA连接,所述FPGA通过所述高位地址线将所述版本指令与所述FLASH预存储的启动文件的版本进行匹配。
进一步地,所述FLASH还包括多根低位地址线,通过所述FLASH的低位地址线接收与所述版本指令匹配的启动文件。
进一步地,所述FLASH中预存储的启动文件的版本为32个。
进一步地,所述启动文件的大小为2M。
本发明与现有技术相比,具有如下的优点和有益效果:
将若干个不同版本的启动文件存储于FLASH中,当需要启动时,可以根据需要控制FPGA进行版本的选择和启动。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为二次引导程序在FLASH中的部署;
图2为本发明FLASH的空间分配图;
图3为本发明连接关系的结构示意图;
图4为本发明部分电路连接关系示意图;
图5为本发明部分电路连接关系示意图;
图6为本发明部分电路连接关系示意图;
图7为本发明部分电路连接关系示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
如图2-3所示,
一种多版本加载程序系统,包括DSP、FLASH以及FPGA,其中,FLASH中存储有多个不同版本的DSP启动文件,且每个版本的启动文件对应着一个控制指令。当DSP启动时,根据需要启动的DSP版本,发送一个与该DSP版本对应的控制指令给FPGA,FPGA根据接收的控制指令,从FLASH中选择与该控制指令相对应版本的DSP启动文件,并由FLASH发送给DSP进行启动。
下面将具体以型号为TMS320C6455的DSP在64MB空间、8bit位宽的FLASH中部署32个不同版本DSP程序,每个程序大小为2MB的程序加载方式进行说明。
根据TMS320C6455芯片的实际情况,在使用FLASH BOOT模式时,DSP的BOOT FLASH需挂接在EMIF总线的CE3上。其中,EMIF总线位宽配置为8bit,地址线为22根,可访问的EMIF外设空间为4MB,因此DSP可直接访问的FLASH空间也仅为4MB,剩余62MB的FLASH空间需要通过FPGA扩展高位地址线的方式来访问。
由于一个版本的DSP程序大小为2MB,因此EMIF仅需使用21根地址线,此时DSP能直接访问的FLASH空间为2MB,而要访问64MB FLASH芯片的整片空间需要26根地址线,因此FLASH芯片的高5根地址线由FPGA控制,低21根地址线由DSP EMIF总线控制,整个FLASH具有64M空间,一个版本的DSP程序大小为2MB,可分为32个版本的DSP程序,又因FLASH芯片的高5根地址线由FPGA控制,对应32种控制指令,任一控制指令对应一个版本的DSP程序,因此,DSP在FPGA的配合下,可访问整片FLASH空间。
当执行DSP多版本加载时,DSP先告知FPGA需要加载的程序版本号(控制指令),FPGA将DSP复位,同时通过控制FLASH高5根地址线的方式让DSP能访问对应版本空间,再取消DSP复位,从而使得DSP从对应版本启动。
本实施例中的电路连接关系如下:
如图4-7所示,FLASH的型号为S29GL512T10DH1020,FPGA的型号为:XC7K160TFFG676。其中,DSP1_EMIF_D0至DSP1_EMIF_D15是TMS320C6455芯片的数据线,数据线最大位宽为16位。而S29GL512T10DH1020数据位宽是8位,因此只需要TMS320C6455芯片的8根数据线。在本实施例中,DSP1_EMIF_D0至DSP1_EMIF_D7是TMS320C6455芯片的EMIF数据线,分别与S29GL512T10DH1020芯片的8根数据线(D0至D7)连接。
DSP1_EMIF_A0至DSP1_EMIF_A18、DSP1_EMIF_BA0以及DSP1_EMIF_BA1是TMS320C6455芯片的EMIF地址线,分别与S29GL512T10DH1020芯片的21根低位地址线(依次对应A1至A19、A-1、A0)连接。
DSP1_EMIF_WE、DSP1_EMIF_OE以及DSP1_FLASH_CE是EMIF的控制信号,分别与S29GL512T10DH1020芯片的写使能控制引脚“WE#”、读使能控制引脚“OE”和片选控制引脚“CE#”连接。
A20、A21、A22、A23以及A24是S29GL512T10DH1020芯片的5根高位地址线,分别与XC7K160TFFG676芯片的5根高位地址控制线(DSP_A19、DSP_A20、DSP_A21、DSP_A22和DSP_A23)连接。
TMS320C6455与XC7K160TFFG676之间的指令通过SPI或EMIF等任意低速接口传输。
一种多版本加载程序方法,包括以下步骤:
S1:接收用户指令,所述用户指令包括启动指令和版本指令;
S2:将所述版本指令发送至FPGA,FPGA将FLASH中预存储的启动文件的版本与所述版本指令匹配;
S3:接收所述FLASH中匹配到的启动文件,并根据所述启动指令进行启动。
在本实施例中,FLASH中预存储的启动文件的版本为32个,每个启动文件的大小为2M。整个系统由TMS320C6455、FLASH芯片以及FPGA芯片组成,连接关系如图3所示,其中TMS320C6455与FPGA之间的版本指令传输可以通过SPI或EMIF等任意低速接口来进行。
FLASH包括5根高位地址线(对应32种控制指令,每一个控制指令与一个版本的启动文件相匹配),5根高位地址线分别与FPGA的高位地址控制线连接,FPGA通过高位地址线将版本指令与FLASH预存储的启动文件的版本进行匹配。
FLASH还包括21根低位地址线(21根低位地址线可传输的文件大小为2M,刚好可以传输一个版本的启动文件),TMS320C6455通过FLASH的21根低位地址线接收与版本指令匹配的启动文件。
当DSP启动时,根据需要启动的DSP版本,发送一个与该DSP版本对应的控制指令给FPGA,FPGA根据接收的控制指令,从FLASH中选择与该控制指令相对应版本的启动文件,并由FLASH发送给DSP进行启动。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多版本加载程序系统,其特征在于,包括DSP、FLASH以及FPGA,所述FLASH存储有多个不同版本的DSP启动文件,以及与多个不同版本的所述DSP启动文件相对应的控制指令;当所述DSP启动时,所述DSP发送一个所述控制指令至所述FPGA,所述FPGA从所述FLASH选择与所述控制指令相对应版本的所述DSP启动文件,并由所述FLASH发送至所述DSP。
2.根据权利要求1所述的一种多版本加载程序系统,其特征在于,所述FLASH包括多根高位地址线,所述高位地址线与所述FPGA连接,用以所述FPGA从所述FLASH选择与所述控制指令相对应的所述DSP启动文件。
3.根据权利要求2所述的一种多版本加载程序系统,其特征在于,所述FLASH还包括多根低位地址线,所述低位地址线与所述DSP连接,用以将所述DSP启动文件发送至所述DSP。
4.根据权利要求3所述的一种多版本加载程序系统,其特征在于,所述FLASH存储有32个不同版本的DSP启动文件。
5.根据权利要求4所述的一种多版本加载程序系统,其特征在于,所述DSP启动文件的大小为2M。
6.一种多版本加载程序方法,其特征在于,包括以下步骤:
S1:接收用户指令,所述用户指令包括启动指令和版本指令;
S2:将所述版本指令发送至FPGA,FPGA将FLASH中预存储的启动文件的版本与所述版本指令匹配;
S3:接收所述FLASH中匹配到的启动文件,并根据所述启动指令进行启动。
7.根据权利要求6所述的一种多版本加载程序方法,其特征在于,所述FLASH包括多根高位地址线,所述高位地址线与所述FPGA连接,所述FPGA通过所述高位地址线将所述版本指令与所述FLASH预存储的启动文件的版本进行匹配。
8.根据权利要求7所述的一种多版本加载程序方法,其特征在于,所述FLASH还包括多根低位地址线,通过所述FLASH的低位地址线接收与所述版本指令匹配的启动文件。
9.根据权利要求8所述的一种多版本加载程序方法,其特征在于,所述FLASH中预存储的启动文件的版本为32个。
10.根据权利要求9所述的一种多版本加载程序方法,其特征在于,所述启动文件的大小为2M。
CN202010236092.9A 2020-03-30 2020-03-30 一种多版本加载程序系统和方法 Pending CN111443960A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010236092.9A CN111443960A (zh) 2020-03-30 2020-03-30 一种多版本加载程序系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010236092.9A CN111443960A (zh) 2020-03-30 2020-03-30 一种多版本加载程序系统和方法

Publications (1)

Publication Number Publication Date
CN111443960A true CN111443960A (zh) 2020-07-24

Family

ID=71651390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010236092.9A Pending CN111443960A (zh) 2020-03-30 2020-03-30 一种多版本加载程序系统和方法

Country Status (1)

Country Link
CN (1) CN111443960A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742003A (zh) * 2021-09-15 2021-12-03 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473190A (zh) * 2013-09-29 2013-12-25 吉林林业信息科技有限责任公司 一种视频监控系统的控制软件远程升级系统
CN108052355A (zh) * 2017-11-22 2018-05-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 星载载荷单元软件在轨重组方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473190A (zh) * 2013-09-29 2013-12-25 吉林林业信息科技有限责任公司 一种视频监控系统的控制软件远程升级系统
CN108052355A (zh) * 2017-11-22 2018-05-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 星载载荷单元软件在轨重组方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742003A (zh) * 2021-09-15 2021-12-03 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备
CN113742003B (zh) * 2021-09-15 2023-08-22 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备

Similar Documents

Publication Publication Date Title
US5729683A (en) Programming memory devices through the parallel port of a computer system
US20060174100A1 (en) System and method of booting an operating system for a computer
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
KR20080075110A (ko) 내장형 제어기를 통한 플래시 스토리지의 초기화
CN107832078B (zh) 基于dsp的fpga程序在线更新电路
WO2011116621A1 (zh) 电子设备、可配置的部件及其配置信息存储方法
CN101872306B (zh) 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN101930373B (zh) 一种片上系统启动的方法和装置
US20100064036A1 (en) Peripheral device operation method, peripheral device and host
CN113127402B (zh) 一种spi访问控制方法、系统、计算设备及存储介质
US11829220B2 (en) Power management circuit, chip and upgrade method therefor, and server
CN109117205B (zh) 一种基于mcu和fpga的双芯片加载方法
CN110175056A (zh) 一种异构平台远程动态加载多目标fpga的控制装置及控制方法
CN112486577A (zh) 一种新型的cpu加载方法
CN111443960A (zh) 一种多版本加载程序系统和方法
CN211264295U (zh) 多版本程序加载结构
CN112199121B (zh) Dsp按需扩容加载程序方法
TWI467579B (zh) 電子裝置及其記憶體控制方法以及相關電腦可讀取儲存媒體
CN109426511B (zh) 软核更新方法和系统
CN113656076A (zh) 一种基于硬件复用通道的bios启动方法及装置
CN101923570B (zh) 一种在Windows CE环境下建立大页面Nand Flash存储系统的方法
CN101789265B (zh) 一种对PowerPC系统FLASH快速编程的方法
CN114327660B (zh) 基于fpga的外接内存的初始化方法
CN111666105A (zh) 一种基于dsp与fpga的程序存储与引导系统及方法
CN114996056A (zh) 一种基于spi的dsp备份启动实现方法

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

Application publication date: 20200724

RJ01 Rejection of invention patent application after publication