CN111443960A - 一种多版本加载程序***和方法 - Google Patents
一种多版本加载程序***和方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 102220062768 rs776110440 Human genes 0.000 description 6
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 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
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring 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。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742003A (zh) * | 2021-09-15 | 2021-12-03 | 深圳市朗强科技有限公司 | 一种基于fpga芯片的程序代码执行方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473190A (zh) * | 2013-09-29 | 2013-12-25 | 吉林林业信息科技有限责任公司 | 一种视频监控***的控制软件远程升级*** |
CN108052355A (zh) * | 2017-11-22 | 2018-05-18 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 星载载荷单元软件在轨重组方法 |
-
2020
- 2020-03-30 CN CN202010236092.9A patent/CN111443960A/zh active Pending
Patent Citations (2)
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)
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 |
---|---|---|
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
US5729683A (en) | Programming memory devices through the parallel port of a computer system | |
CN103345407B (zh) | 控制电路、连通控制器、连通控制方法及主板 | |
CN107704285B (zh) | 现场可编程门阵列多版本配置芯片、***和方法 | |
KR20080075110A (ko) | 내장형 제어기를 통한 플래시 스토리지의 초기화 | |
CN107832078B (zh) | 基于dsp的fpga程序在线更新电路 | |
CN101872306B (zh) | 一种实现软件更新和软件备份的嵌入式***及其实现方法 | |
CN113127402B (zh) | 一种spi访问控制方法、***、计算设备及存储介质 | |
US11829220B2 (en) | Power management circuit, chip and upgrade method therefor, and server | |
CN109117205B (zh) | 一种基于mcu和fpga的双芯片加载方法 | |
CN101894028A (zh) | Linux内核镜像数据支持多种CPU的实现方法及装置 | |
CN110175056A (zh) | 一种异构平台远程动态加载多目标fpga的控制装置及控制方法 | |
CN112486577A (zh) | 一种新型的cpu加载方法 | |
CN111443960A (zh) | 一种多版本加载程序***和方法 | |
CN211264295U (zh) | 多版本程序加载结构 | |
TWI467579B (zh) | 電子裝置及其記憶體控制方法以及相關電腦可讀取儲存媒體 | |
CN109426511B (zh) | 软核更新方法和*** | |
CN113656076A (zh) | 一种基于硬件复用通道的bios启动方法及装置 | |
CN112199121A (zh) | Dsp按需扩容加载程序方法 | |
CN101923570B (zh) | 一种在Windows CE环境下建立大页面Nand Flash存储***的方法 | |
CN101789265B (zh) | 一种对PowerPC***FLASH快速编程的方法 | |
CN114996056A (zh) | 一种基于spi的dsp备份启动实现方法 | |
CN112306536B (zh) | 一种主板及其芯片以及芯片升级方法 | |
CN110515665B (zh) | 一种处理器***的启动方法、***及装置 | |
CN114237640A (zh) | 一种基于串口协议的芯片测试控制板Uboot烧录方法 |
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 |