一种实现单片机擦写Flash过程中辅助计数的方法技术

技术编号:2845660 阅读:287 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种实现单片机擦写Flash过程中辅助计数的方法,用于在擦写Flash的过程中,当时钟中断被屏蔽时进行辅助计数,以提高时钟计数的准确性,其特征在于,包括:步骤一,确定时钟中断关闭后程序运行的固定时间消耗和随机时间消耗的时间;及步骤二,在程序代码中实现辅助计数补偿所述固定时间消耗和随机时间消耗。本发明专利技术的实现单片机擦写Flash过程中辅助计数的方法通过辅助计数,能够最大限度的提高时钟计数的准确性,保证需要计数判断来完成的功能的实现,增强了关闭中断时时钟计数的准确性和可靠性。

【技术实现步骤摘要】

本专利技术涉及单片机应用领域,特别是一种在芯片擦写Flash过程中辅助计数的方法。
技术介绍
在大型的系统应用中,由于功能比较复杂,变化频繁,使版本下载更新成为必备的功能,同时对整个的下载更新过程中的完备功能要求也越来越高,需要有较高的精度来完成整个功能。在这些功能实现中,时钟中断中计数是常见的,也是必不可少的方法之一,比如用闪灯的方式来指示当前的处理状态是一种基本的需求,实际应用中,很多系统采用了单片机进行开发,由于软件封装到单片机芯片中,同时可能没有或没能外接设备来观察软件的运行状态,同时单片机资源比较少,就需要应用闪灯的方式来判别软件运行的大概情形,比如不同的闪灯方式能够指示下载开始,下载过程中等,事实上,这也是一种常见的,必要的外在观察方法,而点灯的频率计算就是通过时钟中断次数来计数的。现在很多单片机分为两个区域,一个区域为Boot区,一个区域为版本区。通常Boot程序有两种用途——引导版本启动和擦写Flash,更新软件版本。在更新版本的处理过程中,各款芯片的要求不尽相同,也会在一定程度上影响到时钟中断的处理,具体说,就是有些芯片在操作Flash时要求屏蔽中断,而计数的频率依据往往是在时钟中断中进行计算,中断屏蔽后就失去了准确的时钟,也就不能够正常的计数,使需要依赖于计数实现的功能失去了运行状态判断的准确性,进而有可能使其失去原有的作用。本文所涉及的实现单片机擦写Flash过程中辅助计数的方法的目的是为了保证单板擦写Flash过程中计数的基本可靠性和指示性,使用户能够根据辅助的方法补偿擦写过程中所带来的损失,从而可以最大限度的提高时钟计数的准确性,保证系统功能正常。简单的说,一般的此类应用只是用时钟中断进行计数,同时通过计数的结果进行相应的处理,一旦中断被关闭,则失去了计数依据,导致相应的功能处理出现偏差。本文中采用辅助计数来计算关闭中断的时间,补偿没有中断时所消耗的时间,从而辅助时钟中断准确的计时,保证功能实现所需时间的基本准确性。
技术实现思路
本专利技术所要解决的技术问题在于提供一种实现单片机擦写Flash过程中计数的方法,以克服现有技术中有些单片机擦写Flash过程中不能打开时钟中断导致时钟计数不准的缺点。为了实现上述目的,本专利技术提供了,用于在擦写Flash的过程中,当时钟中断被屏蔽时进行辅助计数,以提高时钟计数的准确性,其中,包括步骤一,确定时钟中断关闭后程序运行的固定时间消耗和随机时间消耗的时间;及步骤二,在程序代码中实现辅助计数补偿所述固定时间消耗和随机时间消耗。所述的方法,其中,所述步骤一进一步包括步骤一一,分析程序代码,确定操作Flash时打开中断和关闭中断的触发点;步骤一二,分析程序代码,确定关闭中断和打开中断过程中固定的代码执行部分和随机的执行部分;步骤一三,分析并计算固定代码部分执行的时间T1及随机执行部分消耗的时间范围T2~T3。所述的方法,其中,在所述步骤一三中,利用示波器测量或时钟晶振计算所述固定代码部分执行的时间T1。所述的方法,其中,在所述步骤二中,所述实现辅助计数补偿固定时间消耗的步骤进一步包括步骤二一,操作Flash前关闭时钟中断时,备份当前时钟计数结果;步骤二二,操作Flash后打开时钟中断前,还原时钟计数结果,根据辅助计数固定损耗所得的时间T1补偿保存的计数;步骤二三,打开一设定的用于退出所述Flash操作的中断,并在所述中断中进行计数判断,对超过计数值需要触发的功能进行处理,同时更新相应的计数值,保证计数的及时性和准确性。所述的方法,其中,在所述步骤二中,所述实现辅助计数补偿随机时间消耗的步骤进一步包括步骤三二,操作Flash后打开时钟中断前,还原时钟计数结果,取(T2+T3)/2作为补偿值,补偿关闭时钟中断后延误的随机时间消耗。所述的方法,其中,在所述步骤二中,所述实现辅助计数补偿固定时间消耗和随机时间消耗的时钟计数补偿值包括固定时间损耗T1和随机时间消耗(T2+T3)/2。所述的方法,其中,所述步骤二三中用于退出所述Flash操作的中断为一定时器中断,且打开所述定时器中断的步骤中进一步包括根据硬件需要设定所述定时器中断的触发计数值的步骤。所述的方法,其中,进一步包括一Flash操作完成后进入所述定时器中断服务程序,并判断所述补偿时间是否大于设定的功能触发的计数值的步骤;如是,则触发相应功能;如否,则对所述时钟计数值进行补偿,并在补偿后打开所述关闭的时钟中断。所述的方法,其中,在所述实现辅助计数补偿时间消耗的步骤后,进一步包括一进入正常计数的步骤。本专利技术的实现单片机擦写Flash过程中辅助计数的方法通过辅助计数,能够最大限度的提高时钟计数的准确性,保证需要计数判断来完成的功能的实现,增强了关闭中断时时钟计数的准确性和可靠性。这种辅助计数补偿时钟中断延迟的方法,采用固定补偿和随机补偿来弥补擦写Flash过程中时钟中断被屏蔽后所带来的时钟计数不精确问题,提高了时钟计数的准确性,让我们可以更方便更有效的利用时钟计数来实现闪灯等有时序要求的功能,同时,由于随机补偿的存在,也决定了此方法只是能基本满足时间要求,并不能达到完全准确的辅助计数。不过,在实际应用中,基本上可以满足时间实时性的需求。本专利技术的方法可用于当所使用的芯片在应用过程中正常擦写Flash会影响时钟中断,但又需要基本正常的计数来完成一定功能的情况。以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。附图说明图1为本专利技术方法的一种实现单片机Flash动态更新的方法图;图2为本专利技术方法的一种实现单片机Flash动态更新的方法实施图。具体实施例方式本专利技术所述的方法按以下方案实现设备单片机及其宿主单板测试仪器示波器等测量执行时间的仪器或无。辅助计数方法需要包括以下两种因素1、时钟中断关闭后程序运行固定的时间消耗2、时钟中断关闭后程序运行随机的时间消耗由上可知,辅助计数的方法中需要分别进行处理固定和随机的事件的时间消耗,具体如下(固定时间指固定代码执行时间T1;辅助时间指硬件操作指令发出到完成的大概时间和代码的随即执行时间用T2~T3表示)1、确定固定时间消耗和辅助时间消耗的时间i.分析程序代码,确定操作Flash时打开时钟中断和关闭时钟中断的触发点。ii.分析程序代码,确定关闭时钟中断和打开时钟中断过程中固定的代码执行部分和随机的执行部分。iii.计算固定代码部分执行的时间,可利用示波器测量或时钟晶振计算处理指令的时间T1。iv.分析并计算随机事件消耗的时间范围T2~T3,其中该时间范围一般根据代码当前运行的环境,以及代码本身的分支情况来确定。2.程序代码中实现辅助计数补偿固定损耗i.操作Flash前关闭时钟中断时,备份当前时钟计数结果ii.操作Flash后打开时钟中断前,还原时钟计数结果,根据辅助计数固定损耗所得的时间T1补偿保存的计数iii.打开一中断,其中,该中断设定用于退出所述Flash操作,并在中断中进行计数判断,对超过计数值需要触发的功能进行处理,同时更新相应的计数值,保证计数的及时性和准确性,其中,该中断可以是单片机的任意中断,如定时器中断,具体可根据用户自己的设置来确定。3.程序代码中实现辅助计数补偿随机损耗i.对于随机损耗T2~T3部分,没有通用的方法,这里我们本文档来自技高网
...

【技术保护点】
一种实现单片机擦写Flash过程中辅助计数的方法,用于在擦写Flash的过程中,当时钟中断被屏蔽时进行辅助计数,以提高时钟计数的准确性,其特征在于,包括:步骤一,确定时钟中断关闭后程序运行的固定时间消耗和随机时间消耗的时间;及   步骤二,在程序代码中实现辅助计数补偿所述固定时间消耗和随机时间消耗。

【技术特征摘要】
1.一种实现单片机擦写Flash过程中辅助计数的方法,用于在擦写Flash的过程中,当时钟中断被屏蔽时进行辅助计数,以提高时钟计数的准确性,其特征在于,包括步骤一,确定时钟中断关闭后程序运行的固定时间消耗和随机时间消耗的时间;及步骤二,在程序代码中实现辅助计数补偿所述固定时间消耗和随机时间消耗。2.根据权利要求1所述的方法,其特征在于,所述步骤一进一步包括步骤一一,分析程序代码,确定操作Flash时打开所述时钟中断和关闭所述时钟中断的触发点;步骤一二,分析程序代码,确定关闭所述时钟中断和打开所述时钟中断过程中固定的代码执行部分和随机的执行部分;步骤一三,分析并计算固定代码部分执行的时间T1及随机执行部分消耗的时间范围T2~T3。3.根据权利要求2所述的方法,其特征在于,在所述步骤一三中,利用示波器测量或时钟晶振计算所述固定代码部分执行的时间T1。4.根据权利要求1、2或3所述的方法,其特征在于,在所述步骤二中,所述实现辅助计数补偿固定时间消耗的步骤进一步包括步骤二一,操作Flash前关闭时钟中断时,备份当前时钟计数结果;步骤二二,操作Flash后打开时钟中断前,还原时钟计数结果,根据辅助计数固定损耗所得的时间T1补偿保存的计数;步骤二三,打开一设定的用于退出所述Flash操作的中断,...

【专利技术属性】
技术研发人员:谢志雄崔卓
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利