CN114489743A - 一种片上可编程系统的程序烧写及加载运行方法 - Google Patents
一种片上可编程系统的程序烧写及加载运行方法 Download PDFInfo
- Publication number
- CN114489743A CN114489743A CN202210012014.XA CN202210012014A CN114489743A CN 114489743 A CN114489743 A CN 114489743A CN 202210012014 A CN202210012014 A CN 202210012014A CN 114489743 A CN114489743 A CN 114489743A
- Authority
- CN
- China
- Prior art keywords
- chip
- program
- programming
- control unit
- programmable system
- 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.)
- Granted
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 46
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明一种片上可编程系统的程序烧写及加载运行方法。技术方案是:片上可编程系统包括CPU、烧写控制单元、加载控制单元、第一双向复用器、第二双向复用器、片内程序缓存区、工作模式指示位寄存器。通过设置工作模式指示位寄存器不同的工作模式,使得:烧写时,通过调试接口将程序送入片上可编程系统,依次通过CPU、烧写控制单元、第一双向复用器,将程序烧写至非易失存储芯片;加载时,程序依次通过非易失存储芯片、第一双向复用器、加载控制单元、第二双向复用器、写入片内程序缓存区;运行时,CPU经过第二双向复用器,读取指令缓存区,执行程序。本发明具有步骤简单,维护性和灵活性强的特点。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种片上可编程系统的程序烧写及加载运行方法。
背景技术
目前,片上可编程系统通常是开发板上最重要的芯片,称为主芯片,该芯片的架构多由CPU(Central Processing Unit,中央处理器单元)与可编程逻辑组成。如图1所示,片上可编程系统执行应用程序时必须对应用程序进行烧写及加载。其中,烧写的方法是:首先,将开发用的电脑与仿真器连接,再将仿真器通过调试接口与开发板连接;然后,开发人员根据开发板的硬件环境在电脑中选择合适的烧写程序并运行;在烧写程序的控制下,电脑上的应用程序经过仿真器、调试接口、片上可编程系统,被烧写到非易失存储芯片。加载的方法是:CPU内部固化有引导程序,引导程序占据一段固定的系统指令空间;加载应用程序时,CPU将首先读取并执行系统指令空间内的引导程序,完成开发板硬件环境的初始化,如CPU内存空间映射表与堆栈的建立等,为应用程序的执行搭建合适的软硬件环境;随后,引导程序进一步控制CPU从非易失存储芯片读取应用程序代码并存储到片内程序缓存区,完成加载。执行的方法是:CPU读取片内程序缓存区,即可执行应用程序。
上述应用程序的烧写及加载方法的不足在于:CPU内部固化的引导程序,以及电脑中的烧写程序都不是通用的。引导程序和烧写程序都依赖于CPU的体系结构,并且也依赖于片上可编程系统的片内结构与开发板的硬件配置,因此必须基于特定的硬件平台来定制。当开发板的硬件环境改变时,原有的烧写程序和引导程序可能无法正常访问开发板上的硬件资源,并导致片上可编程系统无法工作。在开发板的板级设计阶段,若需要更换非易失存储芯片,则必须同时更换与之配套的烧写程序;在片上可编程系统设计阶段,为了实现系统的灵活适应性,要根据需求将任意功能模块用可编程逻辑实现,以知识产权核(IP Core,Intellectual Property Core)的形式挂载到CPU总线上,显然,无法为每一种片上可编程系统定制引导程序与烧写程序。综上所述,上述应用程序代码从烧写到加载的过程存在诸多限制,步骤多、耗时长,适应性较差,降低了系统的可维护性与系统设计过程的灵活性。
发明内容
有鉴于此,本发明目的在于提供一种片上可编程系统的程序烧写及加载运行方法,具有步骤简单,对不同的硬件环境具有维护性和灵活性强的特点。
本发明的技术方案是,一种片上可编程系统的程序烧写及加载运行方法,其特征在于,片上可编程系统包括CPU、烧写控制单元、加载控制单元、第一双向复用器、第二双向复用器、片内程序缓存区、工作模式指示位寄存器,具体步骤为:
通过设置工作模式指示位寄存器不同的工作模式,使得:
烧写时,通过调试接口将程序送入片上可编程系统,依次通过CPU、烧写控制单元、第一双向复用器,将程序烧写至非易失存储芯片;
加载时,程序依次通过非易失存储芯片、第一双向复用器、加载控制单元、第二双向复用器、写入片内程序缓存区;
运行时,CPU经过第二双向复用器,读取指令缓存区,执行程序。
本发明相对于现有技术具有如下的优点及效果:
(1)设计灵活,迭代周期短。片上可编程系统中负责程序烧写及加载的烧写控制单元与加载控制单元使用可编程逻辑实现,具有高度可定制的特点,当CPU体系统结构或片外非易失存储芯片发生变化时,除了可以修改烧写程序,也可以通过修改烧写控制单元的可编程逻辑,适应新的硬件配置。
(2)程序自动加载。在加载控制单元的控制下,程序代码将自动从非易失存储芯片中读取并存储到片内程序缓存区,全程无需CPU参与,无需固化引导程序,节省了现有片上可编程系统的启动时间。
(3)流程自动化,减少人为参与。在片上可编程系统中设置工作模式指示位寄存器,当运行烧写程序时,可以在烧写过程开始前将工作模式指示位寄存器设为烧写模式,此时,加载控制单元和第二双向复用器处于复位状态,不进行程序加载过程。当烧写结束,系统重新上电后,工作模式指示位寄存器自动进入加载模式,无需额外操作,此时,烧写控制单元处于复位状态,开始执行程序加载。运行程序时,工作模式指示位寄存器设置为运行模式,第二双向复用器将CPU和片内程序缓存区连接。通过上述工作模式指示位寄存器的设置,保证了两个双向复用器的数据流向的正确性,并且使相关的单元或组件处于工作状态,不相关的单元或组件处于隔离状态。
附图说明
图1为现有片上可编程系统的程序加载逻辑流程图;
图2为本发明的程序烧写及加载逻辑结构流程图。
具体实施方式
下面结合附图与实施例对本发明技术方案做进一步详细的描述,应当理解本发明实施例及实施例中的具体特征是对本发明技术方案的详细的说明,而不是本发明技术方案的限定,具体实施方式不限于此。
如图2所示,所述片上可编程系统包括CPU、烧写控制单元与加载控制单元、第一双向复用器、第二双向复用器、片内程序缓存区、工作模式指示位寄存器(图中未标识出)。非易失存储芯片可能位于片内,即属于片上可编程系统,也可能位于片外,即不属于片上可编程系统,只是在开发板上。
其中,片上可编程系统存在的数据传输通道包括:①依次串行连接的CPU、烧写控制单元、第一双向复用器、非易失存储芯片;②依次串行连接的非易失存储芯片、第一双向复用器、加载控制单元、第二双向复用器、片内程序缓存区;③依次串行连接的片内程序缓存区、第二双向复用器、CPU。其中,所述烧写控制单元、加载控制单元、第一双向复用器、第二双向复用器、片内程序缓存区均可使用可编程逻辑实现。第一双向复用器、第二双向复用器均为二选一的开关电路。前述的工作模式指示位寄存器是片上可编程系统中处于CPU外围的寄存器,该寄存器与第一双向复用器、第二双向复用器、CPU、烧写控制单元与加载控制单元分别连接。为了简便起见,工作模式指示位寄存器未在图2中标识。工作模式指示位寄存器可以被设置为三种模式:烧写模式、加载模式或运行模式。
烧写时,电脑执行烧写程序,在烧写程序的控制下,将工作模式指示位寄存器设置为烧写模式,第一双向复用器使烧写控制单元与非易失存储芯片连通,加载控制单元与非易失存储芯片断开;电脑上的程序传输给CPU,CPU再将程序写入烧写控制单元,烧写控制单元将程序通过第一双向复用器传输给非易失存储芯片;
加载时,电脑未执行烧写程序,工作模式指示位寄存器处于缺省状态,即处于加载模式,在这种模式下,第一双向复用器使加载控制单元与非易失存储芯片连通,第二双向复用器使加载控制单元与片内程序缓存区连通,加载控制单元从非易失存储芯片中读取程序,加载控制单元再将程序传输给片内程序缓存区。
运行时,工作模式指示位寄存器设置为运行模式,在这种模式下,第二双向复用器使CPU与片内程序缓存区连通,加载控制单元与片内程序缓存区断开,CPU通过第二双向复用器从片内程序缓存区读取程序并执行。
值得说明的是,本发明烧写、加载和运行的程序包括引导程序和应用程序,引导程序和应用程序作为一个整体被烧写、加载和运行。引导程序不是固化在片上可编程系统中的,可以根据需要进行更改。
本发明的灵活性体现为:第一、针对非易失存储芯片,当其种类或型号需要根据实际需求改变时,可以对烧写控制单元的可编程逻辑进行重新编程,使烧写控制单元的功能得到修改或完善,使其具有访问更新后的非易失存储芯片的能力,而无需更换现有的烧写程序;第二、针对片内程序缓存区,当其大小发生改变时,可以对加载控制单元的可编程逻辑进行重新编程,使其具备读写改变后的片内程序缓存区的能力,而不需要更换原有的引导程序。
此外,本发明设置工作模式指示位寄存器,存在三种工作模式,通过工作模式指示位寄存器模式,控制片上可编程系统上各组件的工作状态,使得片上可编程系统的程序烧写、加载及运行三个过程,得以在相关部件的参与下顺利执行。在烧写、加载或运行的某个过程中,若某个组件无需工作,则该组件处于复位状态,在节省硬件资源的同时实现了低功耗。
Claims (7)
1.一种片上可编程系统的程序烧写及加载运行方法,其特征在于,片上可编程系统包括CPU、烧写控制单元、加载控制单元、第一双向复用器、第二双向复用器、片内程序缓存区、工作模式指示位寄存器,具体步骤为:
通过设置工作模式指示位寄存器不同的工作模式,使得:
烧写时,通过调试接口将程序送入片上可编程系统,依次通过CPU、烧写控制单元、第一双向复用器,将程序烧写至非易失存储芯片;
加载时,程序依次通过非易失存储芯片、第一双向复用器、加载控制单元、第二双向复用器、写入片内程序缓存区;
运行时,CPU经过第二双向复用器,读取指令缓存区,执行程序。
2.根据权利要求2所述的片上可编程系统的程序烧写及加载运行方法,其特征在于,片上可编程系统存在的数据传输通道包括:①依次串行连接的CPU、烧写控制单元、第一双向复用器、非易失存储芯片;②依次串行连接的非易失存储芯片、第一双向复用器、加载控制单元、第二双向复用器、片内程序缓存区;③依次串行连接的片内程序缓存区、第二双向复用器、CPU。
3.根据权利要求2所述的片上可编程系统的程序烧写及加载运行方法,其特征在于,工作模式指示位寄存器可以被设置为:烧写模式、加载模式或运行模式。
4.根据权利要求3所述的片上可编程系统的程序烧写及加载运行方法,其特征在于,在烧写程序的控制下,工作模式指示位寄存器设置为烧写模式,第一双向复用器使烧写控制单元与非易失存储芯片连通,使加载控制单元与非易失存储芯片断开。
5.根据权利要求4所述的片上可编程系统的程序烧写及加载运行方法,其特征在于,工作模式指示位寄存器处于加载模式时,第一双向复用器使加载控制单元与非易失存储芯片连通,第二双向复用器使加载控制单元与片内程序缓存区连通。
6.根据权利要求5所述的片上可编程系统的程序烧写及加载运行方法,其特征在于,工作模式指示位寄存器设置为运行模式时,第二双向复用器使CPU与片内程序缓存区连通,加载控制单元与片内程序缓存区断开。
7.根据权利要求1至6所述的片上可编程系统的程序烧写及加载运行方法的任意一个技术方案,其特征在于,片上可编程系统还包括非易失存储芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210012014.XA CN114489743B (zh) | 2022-01-07 | 2022-01-07 | 一种片上可编程系统的程序烧写及加载运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210012014.XA CN114489743B (zh) | 2022-01-07 | 2022-01-07 | 一种片上可编程系统的程序烧写及加载运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489743A true CN114489743A (zh) | 2022-05-13 |
CN114489743B CN114489743B (zh) | 2024-08-23 |
Family
ID=81510050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210012014.XA Active CN114489743B (zh) | 2022-01-07 | 2022-01-07 | 一种片上可编程系统的程序烧写及加载运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489743B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115469912A (zh) * | 2022-11-02 | 2022-12-13 | 中国人民解放军国防科技大学 | 异构实时信息处理系统设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006000495A2 (de) * | 2004-06-23 | 2006-01-05 | Siemens Aktiengesellschaft | Verfahren zum hochfahren einer sopc-schaltungseinheit |
WO2018120213A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种固件更新方法及控制器 |
CN108733396A (zh) * | 2018-05-25 | 2018-11-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 8位高性能单片机程序软件的在线加载方法 |
-
2022
- 2022-01-07 CN CN202210012014.XA patent/CN114489743B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006000495A2 (de) * | 2004-06-23 | 2006-01-05 | Siemens Aktiengesellschaft | Verfahren zum hochfahren einer sopc-schaltungseinheit |
WO2018120213A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种固件更新方法及控制器 |
CN108733396A (zh) * | 2018-05-25 | 2018-11-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 8位高性能单片机程序软件的在线加载方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115469912A (zh) * | 2022-11-02 | 2022-12-13 | 中国人民解放军国防科技大学 | 异构实时信息处理系统设计方法 |
CN115469912B (zh) * | 2022-11-02 | 2023-01-24 | 中国人民解放军国防科技大学 | 异构实时信息处理系统设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114489743B (zh) | 2024-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4918594A (en) | Method and system for logical simulation of information processing system including logic circuit model and logic function model | |
US6289300B1 (en) | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit | |
US7131114B2 (en) | Debugger breakpoint management in a multicore DSP device having shared program memory | |
US5974528A (en) | Microcomputer with embedded flash memory having on-chip programming capability and method of programming data into the embedded flash memory | |
CN107704285B (zh) | 现场可编程门阵列多版本配置芯片、系统和方法 | |
US6230119B1 (en) | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit | |
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
US6662314B1 (en) | Microcomputer including program for rewriting data in an internal flash memory | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
US7613937B2 (en) | Method and apparatus for utilizing a microcontroller to provide an automatic order and timing power and reset sequencer | |
CN113167831A (zh) | 在已部署的汽车平台上执行自测的测试系统 | |
CN107832078B (zh) | 基于dsp的fpga程序在线更新电路 | |
CN108319465B (zh) | 对fpga配置数据进行升级的电路及方法 | |
JP2000065899A (ja) | 半導体装置およびそのデータ書き換え方法 | |
CN100585554C (zh) | 经由私有操作访问控制寄存器的系统和方法 | |
CN113157334B (zh) | Fpga多版本程序加载方法 | |
CN114489743B (zh) | 一种片上可编程系统的程序烧写及加载运行方法 | |
CN100437485C (zh) | 用于配置计算机系统的系统和方法 | |
CN115167935A (zh) | 一种基于国产dsp的软件动态功能重构信息处理方法 | |
CN102799479A (zh) | 具有多功能bios的主板及其测试方法 | |
US20080155309A1 (en) | Memory card and debugging method employed by the same | |
CN110888680B (zh) | 一种嵌入式处理器的启动方法及其系统 | |
CN101196847A (zh) | Cpu程序存储器自动维护的方法及硬件单元结构 | |
US6240377B1 (en) | Integrated circuit with embedded reprogrammable EEPROM and emulation method to facilitate debugging | |
CN214751393U (zh) | 微控制器和计算系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |