本发明专利技术涉及电子领域,公开了一种芯片程序加载方法,避免了由于对不需要加载的芯片进行重复加载而延长系统初始化所需的时间,能够使系统升级更加可靠和方便。本发明专利技术的原理在于,通过能够直接从程序文件自身得到的唯一标识,对当前程序和目标程序进行比较,对于当前程序和目标程序一致的情况,不再对芯片进行重复加载。对于不一致的,才进行程序加载。(*该技术在2024年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术涉及电子领域,特别涉及可编程芯片的程序加载技术。
技术介绍
微电子技术经过50多年的发展,目前进入一个很关键的时期,工艺尺寸越来越小,集成度越来越高,与其它学科结合越来越紧密。而逻辑器件领域是微电子技术的一个重要发展分支,目前此领域内发展最快的是可编程芯片。可编程芯片(Programmable Chip)泛指各种在使用前需要进行程序加载的电子芯片,在现代电子产品中大量使用,包括但不限于现场可编程门阵列(Field Programmable Gate Array,简称“FPGA”)、数字信号处理器(DigitalSignal Processor,简称“DSP”)、可擦可编程逻辑器件(Erasable ProgrammableLogic Device,简称“EPLD”)等逻辑器件。可编程芯片研制周期较短,直接的开发费用较低,也没有限定最少订购数量,随着门电路成本的降低和器件中门电路数量的增加,可编程芯片正大举打入传统的门阵列领域,但是各家公司都在利用可编程芯片的灵活性把自己的产品设计得不同于竞争对手的产品,同样,半导体厂商已经开发出独特的EPLD和FPGA等,以便在性能、功耗、集成度和成本等方面达到特定的目标。这样的做法导致这类可编程芯片在功能领域和复杂度上存在明显差异。但不管此类可编程芯片有多么大的差异,都具有一个共同点,即按照前述定义中描述的,使用前需要为其加载程序。可编程芯片的程序加载过程通常是在中央处理器(Central Processing Unit,简称“CPU”)上电或复位完成后进行,并由CPU控制整个加载过程。以FPGA为例,整个可编程芯片的设计过程是这样的首先芯片设计师采用硬件描述语言(Hardware DescriptionLanguage,简称“HDL”)以类似于编程的方式描绘出硬件的结构和硬件行为;然后用设计工具将这些描述综合映射成与半导体工艺有关的硬件工艺文件,这些描述和软件领域中的程序非常类似,可编程芯片则是这些硬件工艺文件的载体;最后通过特殊的写入工具将硬件工艺文件加载到可编程芯片上,使之具有相应的功能。由此可见,程序加载是整个可编程芯片设计过程最后一步,十分重要。虽然各种可编程芯片的程序加载技术和加载过程都不尽相同,但都应该满足可靠、快速、稳定的要求,此外还必须充分考虑到芯片使用寿命和系统升级过程。常用的加载技术包括下面两种。第一种是目前最常见的加载技术简单加载法。这种方法多用于FPGA、DSP等可多次反复加载的可编程芯片。具体的实现方法是CPU在需要加载的时刻,即上电或复位完成后,直接对可编程芯片进行强制加载,将编制好的程序烧录入其中,使之具有特定的功能。这种方法简单有效,容易实现,也可以充分满足系统升级的要求。第二种方法是版本检查加载法,适用于EPLD等自带非易失性存储器的可编程芯片。具体的实现方法是CPU在加载前先对可编程芯片进行版本检测,即检查其自带非易失性存储器上存储的程序和待加载的程序版本是否一致,如果检测结果和待加载的程序版本一致,则不进行加载操作。这种方法可以减少无效重复加载的次数。在实际应用中,上述方案存在以下问题对于第一种方案,由于无意义的重复加载次数多,消耗芯片的使用寿命,因此这种方案仅仅适用于可以多次反复加载的芯片,例如FPGA和DSP;另外,由于芯片加载需要耗费较长时间,因此这种强制加载的方式普遍地延长了系统初始化所需的时间,然而在很多情况下,尤其是系统带电复位后,不需要这种额外的加载。对于第二种方案,由于这种方案需要在发布的芯片程序中附带一个不重复的版本号,因此系统升级不方便。具体的说,如果采用开发者预先设置的版本号,则由于一般开发计划只规划到大版本,导致内部小测试版本和不定版本采用相同版本号,升级到这些版本时不得不采用手工强制升级,造成系统升级不可靠和不方便;如果根据程序编译时间生成版本号,对于不采用“日构造”方法的公司,难以进行管理和实施。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种,避免了由于对不需要加载的芯片进行重复加载而延长系统初始化所需的时间,能够使得系统升级更加可靠和方便。为实现上述目的,本专利技术提供了一种,包含以下步骤B根据通过程序文件直接导出的唯一标识,检测芯片当前程序和待加载的目标程序是否一致,如果一致,则执行步骤C,其中,所述唯一标识是程序文件的属性、或由该程序文件本身推导出的信息;C为所述芯片加载所述目标程序。其中,所述方法还包含以下步骤D对所述芯片初始化,并且当执行所述步骤C后,执行所述步骤D。当所述步骤B中判定所述芯片的当前程序和待加载目标程序一致时,执行步骤D。所述唯一标识是程序的数字摘要、数字签名、程序内容校验字段、程序大小、程序构造日期和时间中的任意一种或它们的任意组合。所述芯片是现场可编程门阵列、或可擦编程逻辑器件、或数字信号处理器。所述方法还包含以下步骤A中央处理器检测芯片功能是否正常,如果是,则执行步骤B,否则,执行步骤C。所述步骤A中,如果所述芯片是现场可编程门阵列或可擦编程逻辑器件,通过对已知地址的检测寄存器进行读写操作完成芯片功能的检测,如果所述芯片是数字信号处理芯片,则通过通信链路进行数字信号处理器-中央处理器间的环回测试来完成芯片功能的检测。通过比较可以发现,本专利技术的技术方案与现有技术的区别在于,提出了通过能够直接得到的唯一标识对当前程序和目标程序进行比较的方式,其中唯一标识是程序文件本身的属性或能够从该程序文件本身直接导出的信息。通过上述唯一标识的比较,对于当前程序和目标程序一致的情况,不再对芯片进行重复加载。对于不一致的,才进行程序加载。这种技术方案上的区别,带来了较为明显的有益效果,避免了现有技术中强制加载方式导致的消耗芯片使用寿命的问题,并缩短了那些实际不需要加载的情况下系统初始化所需的时间。另外,这种技术方案仅根据程序文件本身,不依赖于人为设置的版本号,使得系统升级更为可靠和方便。附图说明图1是根据本专利技术的一个实施例的的流程示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述。总的来说,本专利技术的原理在于,通过程序本身的属性,或由该程序文件本身推导出来的信息,判断芯片当前程序和目标程序是否一致,在一致的情况下不进行重复加载。从而避免了系统初始化所需时间的无效延长,使系统升级更加方便,并且这种方式适用于除了能反复加载以外的其他芯片上。下面结合图1,根据本专利技术的一个实施例详细展开,进一步来解释和说明本专利技术中提出的的原理和工作流程。首先在步骤200,由CPU执行预设的检测过程,对可编程芯片的功能进行检测,核查芯片是否能正常工作。如果芯片功能正常,则转入步骤210;如果芯片功能异常,则转入步骤220。在本步骤中,对于DSP芯片,可以通过通信链路进行DSP和CPU之间的环回测试。具体地来说,CPU预设一个数据,并通过它与DSP间的通信链路向DSP发送一个测试数据。接着,DSP处理来自CPU的测试数据,并将处理结果再通过CPU和DSP间的通信链路返回给CPU。然后,CPU将来自DSP的处理结果与其预设的数据作比较。如果两者完全一致,则表示DSP能正常工作,DSP芯片功能正常;如果两者不完全一致,则表示DSP不能正常工作,D本文档来自技高网...
【技术保护点】
一种芯片程序加载方法,其特征在于,包含以下步骤:B根据程序文件的唯一标识检测芯片当前程序和待加载的目标程序是否一致,如果一致,则执行步骤C,其中,所述唯一标识是程序文件本身的属性、或由该程序文件本身推导出的信息;C为所述芯片 加载所述目标程序。
【技术特征摘要】
1.一种芯片程序加载方法,其特征在于,包含以下步骤B根据程序文件的唯一标识检测芯片当前程序和待加载的目标程序是否一致,如果一致,则执行步骤C,其中,所述唯一标识是程序文件本身的属性、或由该程序文件本身推导出的信息;C为所述芯片加载所述目标程序。2.根据权利要求1所述的芯片程序加载方法,其特征在于,所述方法还包含以下步骤D对所述芯片初始化,并且当执行所述步骤C后,执行所述步骤D。3.根据权利要求2所述的芯片程序加载方法,其特征在于,当所述步骤B中判定所述芯片的当前程序和待加载目标程序一致时,执行步骤D。4.根据权利要求1或3所述的芯片程序加载方法,其特征在于,所述唯一标识是程序的数字摘要、数字签名、程序内容校验字段、程序大小、程序构造日期和时间...
【专利技术属性】
技术研发人员:周天翔,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。