CN102722390B - 多处理器共用flash的装置及固件程序加载与升级方法 - Google Patents

多处理器共用flash的装置及固件程序加载与升级方法 Download PDF

Info

Publication number
CN102722390B
CN102722390B CN201210183494.2A CN201210183494A CN102722390B CN 102722390 B CN102722390 B CN 102722390B CN 201210183494 A CN201210183494 A CN 201210183494A CN 102722390 B CN102722390 B CN 102722390B
Authority
CN
China
Prior art keywords
flash
management device
program
processor
flash memory
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.)
Active
Application number
CN201210183494.2A
Other languages
English (en)
Other versions
CN102722390A (zh
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.)
Shanghai United Imaging Healthcare Co Ltd
Original Assignee
Shanghai United Imaging Healthcare 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 Shanghai United Imaging Healthcare Co Ltd filed Critical Shanghai United Imaging Healthcare Co Ltd
Priority to CN201210183494.2A priority Critical patent/CN102722390B/zh
Publication of CN102722390A publication Critical patent/CN102722390A/zh
Application granted granted Critical
Publication of CN102722390B publication Critical patent/CN102722390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种多处理器共用FLASH的装置及固件程序加载与升级方法,包括至少一个DSP处理器与至少一个FPGA处理器,还包括一个FLASH存储器;一个FLASH管理器件;所述FLASH管理器件分别与所述DSP处理器、所述FPGA处理器双向控制连接,且所述FLASH管理器件控制连接所述FLASH存储器。本发明中FPGA和DSP的程序加载通道各自独立,FPGA的程序加载不依赖于DSP是否成功启动。

Description

多处理器共用FLASH的装置及固件程序加载与升级方法
技术领域
本发明涉及数据信号处理技术,尤其涉及一种多处理器共用FLASH的装置及固件程序加载与升级方法。
背景技术
在数据信号处理领域,已经有不少研究实现使单板上的多处理器共享非易失性存储器的问题。其中国防科技大学ATR重点实验室王宏义和陈曾平发表文献《DSP和FPGA共用FLASH进行配置的方法》,该文献中采用TI公司的64系列芯片和FPGA共用FLASH,其实现方法是将FLASH和FPGA分别挂接在DSP的两个EMIF接口上,DSP程序加载bootloader之后将FPGA的程序代码通过另外的一个EMIF端口从FLASH加载到FPGA里面;该文也提到FLASH代码可以通过PCI接口实现在线升级,但是具体实现方式未作披露。根据文献中的示意图可以推断,其代码升级的前提应该是DSP能正常加载BOOTLOADER,否则无法将PCI接口的数据擦写到FLASH里面;对于某些只有一个EMIF的接口的DSP器件,本方案实现受到限制。
另据2008年12月17日公开的专利CN101324868,其通过在BOOT FLASH和处理器之间加上一个可编程的PLD器件,可以实现不同的字节序CPU和不同字节序的FLASH之间的动态选择性连接。该发明的方案仅仅只针对单一处理器独享FLASH的方式。
还有2010年12月01日公开的实用新型专利CN101901156A,其实现了DSP和FPGA的程序存储器的共享,但是其加载方法仍然是DSP运行起来之后,执行保存在FLASH中的FPGA程序加载代码,FPGA的程序加载严重依赖DSP的运行,而且从其结构图中可以看出,要实现程序代码的升级也需要有DSP正常运行的前提条件,在FLASH中程序受损之后无法下载新的代码到FLASH中。
发明内容
本发明的目的是提供一种多处理器共用FLASH的装置及固件程序加载与升级方法,解决DSP不成功启动而影响FPGA程序加载的问题。
为了解决上述技术问题,本发明采用了如下技术手段:一种多处理器共用FLASH的装置,包括至少一个DSP处理器与至少一个FPGA处理器,一个FLASH存储器;一个FLASH管理器件;所述FLASH管理器件分别与所述DSP处理器、所述FPGA处理器双向控制连接,且所述FLASH管理器件控制连接所述FLASH存储器。
进一步的,所述FLASH存储器的低位地址线与所述DSP处理器的地址线通过FLASH管理器件相连接;所述FLASH存储器的高位地址线与FLASH管理器件连接,所述高位地址和所述低位地址一起用于指示所述FPGA处理器的代码存储位置。
进一步的,所述FLASH存储器与所述DSP处理器通过数据线相连接;所述FLASH管理器件与所述FPGA处理器通过数据线相连接。
进一步的,所述FLASH管理器件为集成ROM模块的可编程逻辑器件。
进一步的,当所述DSP处理器为多个时,所述DSP处理器与所述FLASH管理器件之间通过一个选通控制开关连接。
进一步的,当所述FPGA处理器为多个时,所述DSP处理器与所述FLASH管理器件之间有片选控制线连接。
本发明提供的另一种技术方案:一种固件程序加载与升级方法,所述方法通过如下步骤实现:
步骤1、所述DSP处理器向所述FLASH管理器件发出程序加载请求,所述FLASH管理器件对所述DSP处理器做出请求应答;当应答为响应时,FLASH管理器件将DSP处理器的地址转接到所述FLASH存储器的地址线上,并向所述FLASH存储器发出数据读出指令,所述FLASH存储器通过所述DSP处理器的外部存储器总线EMIF接口,输出程序数据给所述DSP处理器;
步骤2、所述FLASH管理器件将所述FLASH存储器中的FPGA处理器的逻辑数据取出,并进行数据宽度的转换,再以符合FPGA程序加载的数据宽度传送至FPGA处理器内部,完成对FPGA处理器程序的加载;
步骤3、外部程序从程序升级接口向所述FLASH管理器件发出程序升级指令,所述FLASH管理器件识别升级指令,锁存外部程序提供的升级数据,然后对所述FLASH存储器进行擦写,完成对所述FLASH存储器进行程序代码升级。当所述DSP处理器为多个时,所述FLASH管理器件通过选通控制开关,响应其中唯一的DSP处理器的程序加载请求。
进一步的,当所述DSP处理器为多个时,所述FLASH管理器件通过选通控制开关,响应其中唯一的DSP处理器的程序加载请求。
进一步的,所述方法还包括:当所述程序升级接口采用串行的方式时,所述FLASH管理器件根据控制线将数据线上的串行数据转换成并行数据,从FLASH存储器的相应地址空间开始递增地址寻址擦写FLASH存储器。
进一步的,所述程序升级接口为PCI接口、PCIE接口或者通用串行接口中的任一种。
本发明由于采用以上所述技术方案,FPGA和DSP的程序加载通道各自独立,FPGA的程序加载不依赖于DSP是否成功启动。
附图说明
本发明的多处理器共用FLASH的装置及固件程序加载与升级方法由以下的实施例及附图详细给出。
图1为本发明实施例多处理器共用FLASH的装置实施例的控制拓扑图;
图2为本发明实施例多处理器共用FLASH的装置实施例的数据线连接图;
图3本发明实施例中变换处理器数量后的控制拓扑图。
具体实施方式
以下将对本发明的多处理器共用FLASH的装置与固件程序加载与升级方法作进一步的详细描述。
如图1所示,一种多处理器共用FLASH的装置,包括一个DSP处理器2与一个FPGA处理器3,一个FLASH存储器1,以及一个FLASH管理器件4;所述FLASH管理器件4分别与所述DSP处理器2、所述FPGA处理器3双向控制连接,且所述FLASH管理器件4控制连接所述FLASH存储器1。为了实现DSP与FPGA共用一个FLASH,在地址线的分配上,将所述FLASH存储器1的低端地址线与所述DSP处理器2的地址线通过FLASH管理器件4相连接,所述FLASH存储器的最高两位地址线与FLASH管理器件4的地址线相连接,所述高位地址和所述低位地址一起用于指示所述FPGA处理器的代码存储位置;图中的箭头可以理解为一种控制方向。
DSP处理器2向FLASH管理器件4发出程序加载请求②,FLASH管理器件4响应或者不响应,都会向DSP处理器2作出应答③。当FLASH管理器件4响应DSP处理器2的程序加载请求时,FLASH管理器件4就会将DSP处理器2的地址线转接到FLASH存储器1的低端地址线上,并对FLASH存储器1发出读出指令①;FPGA处理器3内程序采用被动加载方式,FLASH管理器件4向FLASH存储器1发送读出指令①,将数据读进FLASH管理器件4内部,然后向FPGA处理器3提供程序加载指令和加载时钟⑤,程序加载完成后FPGA处理器3输出加载完成信号④到FLASH管理器件4。
在需要进行程序升级时,程序升级接口5发送程序升级命令⑥到FLASH管理器4,FLASH管理器4会将程序升级结果⑦反馈给程序升级接口5。
如图2所示,所述FLASH存储器1与所述DSP处理器2通过数据线相连接;所述FLASH管理器件4与所述FPGA处理器3通过数据线相连接。所述FLASH管理器件4为集成ROM模块的可编程逻辑器件。在DSP处理器2的程序加载过程中,数据经过数据线直接进入DSP处理器2;在FPGA处理器3程序加载过程中,FLASH管理器件4经过数据线获取FLASH存储器1内的数据,经由数据线传输到FPGA处理器3内部;在程序升级的过程中,程序升级接口5的程序数据经过数据线进入FLASH管理器4内部,FLASH管理器件4利用数据线对FLASH存储器1进行擦写。
如图1和图2所示,本发明中一种固件程序加载及固件程序升级方法,所述方法通过如下步骤实现:
S1、所述DSP处理器2向所述FLASH管理器件4发出程序加载请求,所述FLASH管理器件4对所述2处理器2做出请求应答;当应答为响应时,FLASH管理器件4将DSP处理器2的地址转接到所述FLASH存储器1的地址线上,并向所述FLASH存储器1发出数据读出指令,所述FLASH存储器1通过所述DSP处理器2的外部存储器总线EMIF接口,输出程序数据给所述DSP处理器2;
S2、所述FLASH管理器件4将所述FLASH存储器1中的FPGA处理器3的逻辑数据取出,并进行数据宽度的转换,再以符合FPGA程序加载的数据宽度传送至FPGA处理器3内部,完成对FPGA处理器3程序的加载;
S3、外部程序从程序升级接口5向所述FLASH管理器件4发出程序升级指令,所述FLASH管理器件4识别升级指令,锁存外部程序提供的升级数据,然后对所述FLASH存储器1进行擦写,完成对所述FLASH存储器1进行程序代码升级。
在本实施例中,所述固件程序升级方法升级完成之后将向外部程序反馈相应的信息,如果在程序升级过程中出错,FLASH管理器件4发出升级出错信息给外部程序。
在本实施例中,当所述程序升级接口5采用串行的方式时,所述FLASH管理器件4根据控制线将数据线上的串行数据转换成并行数据,从FLASH的相应地址空间开始递增地址寻址擦写FLASH。所述程序升级接口5为PCIE接口,在其他实施例中也可以采用PCI接口或者通用串行口。
当然,上述实施例中,FPGA处理器3与DSP处理器2均可以采用多个的方式共用FLASH,在本实施例中采取两个FPGA处理器3与两个DSP处理器2,其控制拓扑图如图3所示。
在多个(或两个)DSP处理器2存在的情况下,DSP处理器21或22的数据总线不宜直接与FLASH存储器的数据总线连接。而应在DSP处理器21或22的EMIF总线上加一个总线选通控制开关6,FLASH管理器件4只响应其中一个DSP处理器21或22的程序加载请求,其它的DSP处理器无法获得程序加载权限;FLASH管理器件4通过控制选通控制开关6以防止没有获得加载权限的DSP处理器错误的锁存数据。没能获得程序加载权限的DSP处理器可以一直保持着程序加载请求等待FLASH管理器件4响应。
对于多个FPGA处理器情况下,FLASH管理器件4通过对FPGA处理器31和32的片选控制分别加载各个FPGA处理器3的程序,如果FPGA处理器31和32的程序相同,FLASH管理器件4也可以同时选中两个FPGA进行程序加载。
在DSP处理器21、22和FPGA处理器31、32的加载过程中,FLASH管理器件4需要对选通控制开关6进行管理,以准确的从FLASH存储器1中获取FPGA处理器3需要的数据;具体的说就是FLASH管理器件4在从FLASH存储器1获取加载FPGA处理器3的数据时,需要暂时的关闭掉选通控制开关6,以防止FPGA处理器31、32需要的数据对DSP处理器21或22造成影响,同时也保证了FLASH管理器件4获得的数据没有收到DSP处理器21或22的影响。
本发明由于采用以上所述技术方案,FPGA和DSP处理器的程序加载通道各自独立,FPGA处理器的程序加载不依赖于DSP处理器是否成功启动。
由于以上仅为本发明的较佳实施例,本发明的保护范围不应受此限制,即凡是依本发明的权利要求书及本发明说明书内容所作的简单的等效变化与修饰,均应仍属本发明专利涵盖的范围内。

Claims (9)

1.一种多处理器共用FLASH的装置,包括至少一个DSP处理器与至少一个FPGA处理器,一个FLASH存储器,其特征在于,还包括:
一个FLASH管理器件;
所述FLASH管理器件分别与所述DSP处理器、所述FPGA处理器双向控制连接,且所述FLASH管理器件控制连接所述FLASH存储器;
所述FLASH存储器的低位地址线与所述DSP处理器的地址线通过FLASH管理器间接相连接;所述FLASH存储器的高位地址线与FLASH管理器件连接,所述高位地址和所述低位地址一起用于指示所述FPGA处理器的代码存储位置。
2.如权利要求1所述的多处理器共用FLASH的装置,其特征在于,所述FLASH存储器与所述DSP处理器通过数据线相连接;所述FLASH管理器件与所述FPGA处理器通过数据线相连接。
3.如权利要求2所述的多处理器共用FLASH的装置,其特征在于,所述FLASH管理器件为集成ROM模块的可编程逻辑器件。
4.如权利要求1所述的多处理器共用FLASH的装置,其特征在于,当所述DSP处理器为多个时,所述DSP处理器与所述FLASH管理器件之间通过一个选通控制开关连接。
5.如权利要求1所述的多处理器共用FLASH的装置,其特征在于,当所述FPGA处理器为多个时,所述FPGA处理器与所述FLASH管理器件之间有片选控制线连接。
6.一种如权利要求1所述装置实现固件程序加载与升级方法,其特征在于,所述方法通过如下步骤实现:
步骤1、所述DSP处理器向所述FLASH管理器件发出程序加载请求,所述FLASH管理器件对所述DSP处理器做出请求应答;当应答为响应时,FLASH管理器件将DSP处理器的地址转接到所述FLASH存储器的地址线上,并向所述FLASH存储器发出数据读出指令,所述FLASH存储器通过所述DSP处理器的外部存储器总线EMIF接口,输出程序数据给所述DSP处理器;
步骤2、所述FLASH管理器件将所述FLASH存储器中的FPGA处理器的逻辑数据取出,并进行数据宽度的转换,再以符合FPGA程序加载的数据宽度传送至FPGA处理器内部,完成对FPGA处理器程序的加载;
步骤3、外部程序从程序升级接口向所述FLASH管理器件发出程序升级指令,所述FLASH管理器件识别升级指令,锁存外部程序提供的升级数据,然后对所述FLASH存储器进行擦写,完成对所述FLASH存储器进行程序代码升级。
7.如权利要求6所述的固件程序加载与升级方法,其特征在于,当所述DSP处理器为多个时,所述FLASH管理器件通过选通控制开关,响应其中唯一的DSP处理器的程序加载请求。
8.如权利要求6所述的固件程序加载与升级方法,其特征在于,所述方法还包括:当所述程序升级接口采用串行方式时,所述FLASH管理器件根据控制线将数据线上的串行数据转换成并行数据,从FLASH的相应地址空间开始递增地址寻址擦写FLASH存储器。
9.如权利要求6所述的固件程序加载与升级方法,其特征在于,所述程序升级接口为PCI接口、PCIE接口或者通用串行接口中的任一种。
CN201210183494.2A 2012-06-05 2012-06-05 多处理器共用flash的装置及固件程序加载与升级方法 Active CN102722390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210183494.2A CN102722390B (zh) 2012-06-05 2012-06-05 多处理器共用flash的装置及固件程序加载与升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210183494.2A CN102722390B (zh) 2012-06-05 2012-06-05 多处理器共用flash的装置及固件程序加载与升级方法

Publications (2)

Publication Number Publication Date
CN102722390A CN102722390A (zh) 2012-10-10
CN102722390B true CN102722390B (zh) 2015-04-15

Family

ID=46948169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210183494.2A Active CN102722390B (zh) 2012-06-05 2012-06-05 多处理器共用flash的装置及固件程序加载与升级方法

Country Status (1)

Country Link
CN (1) CN102722390B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929677B (zh) * 2012-11-07 2016-07-06 中国电子科技集团公司第四十一研究所 多数字信号处理器的加载系统及方法
CN104484200B (zh) * 2014-12-09 2018-05-25 小米科技有限责任公司 对固件进行升级的方法及装置
CN106886427A (zh) * 2015-12-15 2017-06-23 西安富成防务科技有限公司 一种dsp与fpga统一启动架构
CN105573794A (zh) * 2015-12-18 2016-05-11 中国电子科技集团公司第三研究所 一种嵌入式系统软件远程更新方法及系统
CN105930186B (zh) * 2016-04-20 2019-03-08 中车株洲电力机车研究所有限公司 多cpu的软件加载方法及基于多cpu的软件加载装置
CN106293843B (zh) * 2016-08-15 2019-11-26 华为技术有限公司 一种数据加载系统
CN106528155B (zh) * 2016-11-10 2020-01-14 深圳怡化电脑股份有限公司 一种验钞控制器的固件启动的系统、方法及装置
CN106843918B (zh) * 2016-11-17 2020-07-31 北京京东乾石科技有限公司 对嵌入式系统进行程序更新的方法
CN106886438A (zh) * 2017-02-06 2017-06-23 仓智(上海)智能科技有限公司 基于fpga的系统远程更新方法
CN106909425B (zh) * 2017-03-03 2020-05-08 中国电子科技集团公司第五十四研究所 一种dsp和fpga系统在线升级方法
CN110389772B (zh) * 2018-04-23 2022-12-13 中车株洲电力机车研究所有限公司 双核mcu应用程序升级方法
CN109542481B (zh) * 2018-11-19 2022-06-24 中电科思仪科技股份有限公司 一种多模式多功能测试仪器自动配置装置和方法
CN109656605A (zh) * 2018-12-12 2019-04-19 中国兵器装备集团自动化研究所 一种vpx架构下的多处理器固件在线互更新方法
CN111666105B (zh) * 2019-03-08 2021-07-16 中国科学院长春光学精密机械与物理研究所 一种基于dsp与fpga的程序存储与引导系统及方法
CN110569053A (zh) * 2019-09-03 2019-12-13 深圳市东微智能科技股份有限公司 电子设备中应用芯片的升级方法及电子设备
CN113360177A (zh) * 2021-06-07 2021-09-07 中电科思仪科技股份有限公司 一种用于矢量网络分析仪固件程序在线升级的装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122783A (zh) * 2007-09-20 2008-02-13 成都方程式电子有限公司 单片机存储系统
CN101324868A (zh) * 2008-07-11 2008-12-17 中兴通讯股份有限公司 处理器与boot flash间的连接装置及实现方法
CN101673101A (zh) * 2009-09-27 2010-03-17 电子科技大学 一种在线编程的fpga可重构装置
CN101751009A (zh) * 2008-12-05 2010-06-23 中国科学院沈阳计算技术研究所有限公司 基于片上可编程系统的数控系统精插补器及其控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008235992A (ja) * 2007-03-16 2008-10-02 Matsushita Electric Ind Co Ltd リコンフィギュラブル回路、リコンフィギュラブル回路システムおよびリコンフィギュラブル回路の配置配線方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122783A (zh) * 2007-09-20 2008-02-13 成都方程式电子有限公司 单片机存储系统
CN101324868A (zh) * 2008-07-11 2008-12-17 中兴通讯股份有限公司 处理器与boot flash间的连接装置及实现方法
CN101751009A (zh) * 2008-12-05 2010-06-23 中国科学院沈阳计算技术研究所有限公司 基于片上可编程系统的数控系统精插补器及其控制方法
CN101673101A (zh) * 2009-09-27 2010-03-17 电子科技大学 一种在线编程的fpga可重构装置

Also Published As

Publication number Publication date
CN102722390A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
CN102722390B (zh) 多处理器共用flash的装置及固件程序加载与升级方法
CN101221509B (zh) 可信嵌入式系统总线仲裁启动方法
CN103777972B (zh) 基于现场可编程门阵列的系统、配置方法以及升级方法
US7908417B2 (en) Motherboard system, storage device for booting up thereof and connector
US9411601B2 (en) Flexible bootstrap code architecture
TWI394048B (zh) 系統裝置、處理器及存取記憶體單元之方法
US20180059987A1 (en) Method for reducing read buffer size requirements in nvme based solid state drives
CN103345407B (zh) 控制电路、连通控制器、连通控制方法及主板
US10599849B2 (en) Security module authentication system
CN106201563A (zh) 启动参数的配置方法和装置、主板启动的方法和装置
US10037170B2 (en) Motherboard and a method for boot-up
CN106406936A (zh) 一种fpga程序多版本管理装置及方法
CN106648758A (zh) 一种多核处理器boot启动系统及方法
CN102253844B (zh) 一种启动处理器的方法和设备
CN102053937A (zh) 在lpc总线中调用spi接口的闪存的方法及系统
CN102236747A (zh) 一种传统计算机升级为可信计算机的方法
US9984016B2 (en) Systems and methods for hardware arbitration of a communications bus
CN106528217A (zh) 一种现场可编程门阵列程序加载系统和方法
KR20150072963A (ko) 다중시스템 및 이의 부팅 방법
CN104573567A (zh) 芯片编程加密保护方法及其系统
CN103235921B (zh) 一种计算机系统
CN103345456B (zh) 调节BootLoader启动地址的电路及方法
US20160239224A1 (en) Method and system for transferring data over a plurality of control lines
US10522201B2 (en) Methods and systems for serial memory device control
CN103995754A (zh) 一种控制power-pc中cpu启动切换的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 201815 Shanghai City, Jiading District Jiading Industrial Zone No. 1180 Building 8 Xing Xian Lu

Patentee after: Shanghai Lianying Medical Technology Co., Ltd

Address before: 201815 Shanghai City, Jiading District Jiading Industrial Zone No. 1180 Building 8 Xing Xian Lu

Patentee before: SHANGHAI UNITED IMAGING HEALTHCARE Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP02 Change in the address of a patent holder

Address after: 201807 2258 Chengbei Road, Jiading District, Shanghai

Patentee after: Shanghai Lianying Medical Technology Co.,Ltd.

Address before: 201815 Building 8, No. 1180, Xingxian Road, Jiading Industrial Zone, Jiading District, Shanghai

Patentee before: Shanghai Lianying Medical Technology Co.,Ltd.

CP02 Change in the address of a patent holder