微处理器的制作方法

文档序号:6439052阅读:157来源:国知局
专利名称:微处理器的制作方法
技术领域
本发明涉及具有不能改写的第一存储器和能够改写的非易失性的第二存储器的微处理器。
背景技术
在微处理器的中断中,有硬件中断和软件中断,并且根据中断向量能够知道产生了怎样的中断。由微处理器的系统决定根据中断的产生原因而执行的处理。将存储了在产生了中断的情况下处理的程序的开头地址的对应表称为中断向量表,根据中断向量表的内容,执行与中断对应的处理程序。在现有的微处理器中,如图7(A)所示那样,作为程序存储器,安装有不能改写的屏蔽式堆读内存(mask ROM)或可改写的非易失性存储器的快闪只读存储器(flash ROM) 的任意一个。另外,如图7(B)所示那样,作为程序存储器,也可以考虑具备屏蔽式堆读内存和快闪只读存储器的设备。在图7(A)、(B)的任意一个的情况下,通常都能够向存储器的开头的区域分配中断向量表。但是,提出了以下这样的技术,即具备用于改写快闪存储器的固件、存储了对与时钟同步式通信方式对应的时钟同步串行接口(CSI :Clocked SerialInterface)的动作的控制程序进行设定的中断向量的ROM、存储了后述的通信单元的动作的控制程序或至少对该控制程序进行设定的中断向量的R0M,在通常动作模式时,对从内置的多个外围电路发送来的中断请求信号的优先顺序进行控制并通知CPU,并且在改写模式时,变更对与该改写模式设定联动的改写模式信号的供给进行应答而输入的来自CSI的中断请求信号的优先顺序并通知CPU (例如参考专利文献I)。专利文献I :特开2001-43206号公报在程序存储器是屏蔽式堆读内存的情况下,由于在产品出厂后不能变更程序,所以在屏蔽式堆读内存发现了故障的情况下,有产品的回收、屏蔽式堆读内存的重新生产等花费大量时间和费用这样的问题。在程序存储器是快闪ROM的情况下,由于非正常的程序的误动作、改写过程中的电源切断等异常的发生,有删除了所记录的内容的情况。这时,在删除了快闪ROM的改写程序(更新程序)的情况下,有以后完全无法更新快闪ROM的问题。在程序存储器具备屏蔽式堆读内存和快闪ROM的情况下,通常将中断向量表信息记录在屏蔽式堆读内存的区域中,因此,有以下的问题,即对作成存储在快闪ROM中的程序有很大限制,并且无法对在屏蔽式堆读内存的程序中发现了故障的情况进行对应。

发明内容
本发明就是鉴于以上的点而提出的,其目的在于提供一种能够变更存储在不能改写存储器中的中断处理程序的微处理器。本发明的一个形式的微处理器是是微处理器(10),具备不能改写的第一存储器
3(13)和可改写的非易失性的第二存储器(14),并与外部设备(30)连接,在上述第一存储器(13)中设置对每个向量存储了通过多种中断进行处理的多个程序的地址的第一中断向量表;在上述第一中断向量表的各向量所示的地址中存储处理程序的区域,在上述第二存储器(14)中设置内容与上述第一中断向量表相同的第二中断向量表,具备地址变换单元(22),将对上述第一中断向量表进行存取的地址变换为对上述第二中断向量表进行存取的地址;写入单元(43),根据从上述外部设备(30)供给的指令,将上述第二中断向量表的任意向量的地址和存储在上述任意向量所示的地址中的处理程序写入到上述第二存储器
(14)中。理想的是上述第一存储器(13)存储执行从上述外部设备提供的指令的处理程序,在从上述外部设备30对上述第二存储器(14)进行写入时,停止上述地址变换单元的地址变换。理想的是上述第一存储器(13)存储被存储在上述第一存储器(13)中的数据的验证用数据。理想的是;上述第二存储器(14)存储被存储在上述第二存储器(14)中的数据的验证用数据。另外,上述括号内的参考符号是为了任意理解而附加的,只是一个例子,对图示的形式并没有限制。根据本发明,能够变更存储在不能改写的存储器中的中断处理程序。


图I是本发明的微处理器的一个实施例的结构图。图2是表示微处理器中的存储器的地址分配的一个实施例的图。图3是中断向量切换电路的一个实施例的结构图。图4是表示本实施例的屏蔽式堆读内存和快闪ROM的地址分配的图。图5是表示现有的一般的屏蔽式堆读内存和快闪ROM的地址分配的图。图6是CPU执行的处理的一个实施例的流程图。图7是表示现有的微处理器中的存储器的地址分配的一个例子的图。符号说明10 :微处理器;11 CPU ;12 RAM; 13 :屏蔽式堆读内存;14 :快闪ROM ;15 :计时器; 16 :通信电路;17 :边沿检测电路;18 :AD变换器;19 :DA变换器;20 :中断控制器;21 :内部总线;22 ;中断向量切换电路;23 :复位端子;30 :外部设备;31 :地址变换电路;32 :寄存器;33 :复位信号生成电路;41、51 :中断向量表;43 :快闪ROM写入程序;42_0 42-15、 52-1 :处理程序
具体实施例方式以下,根据附图,说明本发明的实施例。<微处理器的结构>图I表不本发明的微处理器的一个实施例的结构图。在图I中,微处理器10具有 CPU(中央处理装置)11、RAM12、屏蔽式堆读内存13、快闪R0M14、计时器15、通信电路16,进而还具有边沿检测电路17、AD变换器(ADC) 18,DA变换器(DAC) 19、中断控制器20等,除了边沿检测电路17以外,这些电路通过内部总线21相互连接。另外,在内部总线21与屏蔽式堆读内存13和快闪R0M14之间设置有中断切换电路22。另外,屏蔽式堆读内存13不能改写,快闪R0M14是能够改写的非易失性存储器。另外,内部总线21具有地址总线、数据总线、控制总线。进而,在微处理器10中还设置有复位端子23。CPUll执行存储在屏蔽式堆读内存13和快闪R0M14中的处理程序。这时,RAMl2 被用作作业区域。计时器15对时钟进行计数,生成规定的定时信号,例如将一部分的定时信号作为中断信号而提供给中断控制器20。通信电路16例如在与上位装置、个人计算机等外部设备30之间进行通信。边沿检测电路17检测外部设备30与通信电路16之间的通信信号的边沿,将边沿检出信号作为中断信号而提供给中断控制器20。AD变换器18对从外部供给的模拟信号进行数字化,例如供给CPUl I。DA变换器19 例如对从CPUll供给的数字信号进行模拟化,输出到外部。中断控制器20对从计时器15、 边沿检测电路17等供给的中断信号进行优先度控制,并供给CPU11。图2表示微处理器10中的存储器的地址分配的一个实施例。微处理器10通常以与外部设备30发生通信、或根据需要与外部设备30进行通信的产品为前提。微处理器10 在接通电源后,成为CPU能够执行存储在屏蔽式堆读内存13中的程序的环境,因此,与所利用的CPUll的型号对应地进行屏蔽式堆读内存13的存储器配置。因此,在图2中,存储器的开头配置了屏蔽式堆读内存13,接着是快闪R0M14,接着是RAM12,此后是计时器15 中断控制器20等内置的输入输出装置(I/O)。〈中断向量切换电路的结构〉图3表示中断向量切换电路22的一个实施例的结构图。在本实施例中,在产生了中断时,CPU所参照的中断向量表,设置有切换对屏蔽式堆读内存13的中断向量表进行参照、还是对快闪R0M14的中断向量表进行参照的中断向量切换电路22。在图3中,具有重大向量切换电路22、寄存器32、地址变换电路31、选择信号生成电路33。寄存器32从CPUll设定值0或值I并保持。在此,CPUll在参照屏蔽式堆读内存 13的中断向量表时,例如设定值0,在参照快闪R0M14的中断向量表时,设定值I。地址变换电路31被供给寄存器32的内容,并且经由内部总线21从CPUll被供给地址。地址变换电路31如果从寄存器32被供给了值0,则停止地址变换,而原样地输出从 CPUll供给的地址。另外,如果从寄存器32被供给了值1,则执行地址变换,将从CPUll供给的地址的例如高位8比特例如变更为0x40 (Ox表示16进制表示)并输出。该地址变换电路31的输出地址被分别供给选择信号生成电路33、屏蔽式堆读内存13、快闪R0M14。
该地址的高位8比特的变更是将屏蔽式堆读内存13的中断向量表41的地址变更为快闪R0M14的中断向量表51的地址的变换,根据微处理器的系统中的地址体系,变换比特数、所变换的值可以有各种不同。选择信号生成电路33根据地址变换电路31的输出地址的例如高位4比特,判断是参照屏蔽式堆读内存13还是参照快闪R0M14,在参照屏蔽式堆读内存13时,生成选择屏蔽式堆读内存13的选择信号(快闪R0M14为非选择),供给屏蔽式堆读内存13,在参照快闪R0M14时,生成选择快闪R0M14的选择信号(屏蔽式堆读内存13为非选择),供给快闪 R0M14。图4表示本实施例的屏蔽式堆读内存13和快闪R0M14的地址分配。在图4中,屏蔽式堆读内存13的地址被分配为0x0000 0x3FFF,快闪R0M14的地址被分配为0x400 0x6FFF。在屏蔽式堆读内存13的开头区域即例如地址0x0000 OxOOFF的区域中,配置中断向量表41。在屏蔽式堆读内存13的中断向量表41中,例如分配中断向量0 中断向量 15,例如将中断向量0的值设定为中断向量0的处理程序的开头地址即0x0100,将中断向量I的值设定为中断向量I的处理程序的开头地址即0x0200,将中断向量15的值设定为中断向量15的处理程序的开头地址即0x1000。另外,在图中,将“中断向量”简单表示为“向
_S*,,
里o在此,作为中断产生的原因有电源接通、AD变换器18的变换结束、计时器15的规定时间的经过、通信电路16的发送或接收的结束、来自复位端子23的复位信号输入等元件中断、各种软件中断。在屏蔽式堆读内存13的地址0x0100 OxOlFF中存储中断向量0的处理程序 42-0,在地址0x0200 0x02FF中存储中断向量I的处理程序42_1,同样,在地址0x1000 OxlOFF中,存储有中断向量15的处理程序42-15。在屏蔽式堆读内存13的地址0x1100以后,也存储各种程序、数据。进而,在屏蔽式堆读内存13的例如最末尾的地址0x3500 0x3FFF的区域存储有快闪ROM写入程序43。 快闪ROM写入程序43是向快闪R0M14写入、删除、验证数据的程序。在快闪R0M14的开头区域即例如地址0x4000 0x40FF的区域中配置中断向量表 51。在制造时,快闪R0M14的中断向量表51与屏蔽式堆读内存13的中断向量表是相同的结构。S卩,在快闪R0M14的中断向量表51中例如分配中断向量0 中断向量15,例如中断向量0的值被设定为中断向量0的处理程序的开头地址即0x0100,中断向量I的值被设定为0x0200,中断向量15的值被设定为0x1000。在快闪R0M14的地址0x4100 0x61FF中存储有各种程序、数据,例如在制造时未使用快闪R0M14的地址0x6200以后。但是,在图4中,快闪R0M14的中断向量I的值为 0x6200表示在以后被更新的值,在制造时被设定为0x0200。另外,如果对屏蔽式堆读内存13和快闪R0M14进行比较,则单位面积的数据容量是R0M13 —方大,因此将包含中断向量0 15的处理程序的各种程序存储在屏蔽式堆读内存13中。图5表示现有的一般的屏蔽式堆读内存13和快闪R0M14的地址分配。在图5中,在屏蔽式堆读内存13的开头区域即例如地址0x0000 OxOOFF的区域中配置中断向量表。在屏蔽式堆读内存13的中断向量表中例如分配中断向量0 中断向量15,例如中断向量0的值被设定为中断向量0的处理程序的开头地址即0x0100,中断向量I的值被设定为中断向量I的处理程序的开头地址即0x0200,中断向量15的值被设定为中断向量15 的处理程序的开头地址即0x1000。在屏蔽式堆读内存13的地址0x0100 OxOlFF中存储中断向量0的处理程序,在地址0x0200 0x02FF中存储中断向量0的处理程序,同样,在地址0x1000 OxlOFF中存储中断向量15的处理程序。在屏蔽式堆读内存13的地址0x1100以后存储有各种程序。在快闪R0M14中不配置中断向量表,在快闪R0M14的地址0x4000 0x6FFF中存储有各种程序。<复位处理的流程图>图6表示CPUll执行的处理的一个实施例的流程图。在微处理器10的电源接通时由未图示的电路生成了复位信号时、或向复位端子23供给了低电平的复位信号时,通过中断控制器20的控制,CPUll开始执行该处理。在图6中,在步骤Sll中,CPUll向寄存器32设定值0,作为中断向量选择屏蔽式堆读内存13。接着,在步骤S12中,进行屏蔽式堆读内存13的全部区域的数据验证。在此, 例如计算从屏蔽式堆读内存13的全部区域中读出的全部数据的校验和,并与预先写入到屏蔽式堆读内存13的特定区域中的校验和值进行比较。另外,在步骤S13中根据从屏蔽式堆读内存13的全部区域中读出的全部数据计算出的校验和与特定区域的校验和值一致的情况下,屏蔽式堆读内存13判断为正常,在不一致的情况下,屏蔽式堆读内存13判断为异常。在异常的情况下,设定为不能动作并结束处理。在屏蔽式堆读内存13正常的情况下,在步骤S14中进行快闪R0M14的全部区域的数据验证。在此,例如计算从快闪R0M14的全部区域读出的全部数据的校验和,并与预先写入到快闪R0M14的特定区域中的校验和值进行比较。另外,在步骤S15中根据从快闪 R0M14的全部区域读出的全部数据计算出的校验和与特定区域的校验和值一致的情况下, 快闪R0M14判别为正常。在不一致的情况下,快闪R0M14判断为异常。在快闪R0M14异常的情况下,前进到后述的步骤S30。在快闪R0M14正常的情况下,在步骤S16中,CPUll向寄存器32设定值1,作为中断向量选择快闪R0M14。接着,在步骤S17中执行正常时的初始化处理,以后,执行正常时的处理。S卩,在步骤S18中判断是否从外部设备30接收到通信数据。在接收到通信数据的情况下,依照通信数据的内容,例如如果通信数据是指令A,则在步骤S19中执行指令A的处理,如果通信数据是指令X,则在步骤S20中执行指令X的处理,如果通信数据是转移到快闪 ROM更新模式的指令,则前进到步骤S30。在步骤S18中没有接收到通信数据的情况下,在步骤S21 S22中分别执行正常时的处理#1 #n,前进到步骤S18。另一方面,在步骤S30中,CPUl I执行快闪ROM更新的初始化处理。具体地说,进行通信电路16的初始化,另外,向寄存器32设定值0,作为中断向量选择屏蔽式堆读内存13。 以后,执行快闪ROM更新处理。
S卩,在步骤S31中,判断是否从外部设备30接收到通信数据。在接收到通信数据的情况下,依照通信内容,例如如果通信数据是删除(erase)指令,则在步骤S32中针对由快闪R0M14的指令所指定的区域执行删除处理(消去处理),如果通信数据是写入指令,则在步骤S33中针对由快闪R0M14的指令所指定的区域,执行写入数据的写入处理。另外,外部设备30如果快闪R0M14更新结束,则发送再启动指令。因此,如果通f目数据是再启动指令,则CPUll在步骤S34中进行再启动。由此,从步骤Sll开始执行图6的处理。另外,上述的步骤S30 S34各自的处理是利用屏蔽式堆读内存13的中断向量表41 而执行的软件中断。但是,在步骤S12、S14中,使用校验和进行数据验证,但除此以外,也可以利用 CRC、奇偶等其他验证方法,并不限于上述实施例。在此,在图4的中断向量表41、51的中断向量I中登记的地址0x0200 0x02FF中所存储的中断向量I的处理程序42-1发现了故障的情况下,由于该位置是屏蔽式堆读内存区域,所以不能进行修改。在该情况下,从外部设备30向微处理器10发送转移到快闪ROM 更新模式的指令。另外,通过使CPUll执行步骤S30 S34,如图4所示那样,例如将快闪R0M14的中断向量表51中的中断向量I的值改写为0x6200。进而,将中断向量I的修改后的处理程序52-1写入到快闪R0M14的例如0x6200 0x62FF。进而,从快闪R0M14的全部区域读出全部数据,计算校验和,将计算出的校验和写入到快闪R0M14的特定区域中。然后,在步骤S18 S22中通过正常时的通信数据接收处理#1 #n执行中断向量0 15的处理程序的情况下,作为中断向量参照快闪R0M14的中断向量表51,因此在执行中断向量I的处理时,执行快闪R0M14的修改后的处理程序。同样,针对存储在屏蔽式堆读内存13中的中断处理程序以外的程序,也通过假设为参照向量地址的软件中断,能够消除故障。当然,不只是故障的对应,在为了提高功能、追加新功能而需要变更中断处理内容的情况下,也能够同样进行对应,在产品出厂后提高功能这一点上,能够提高产品价值。另外,快闪ROM写入程序43由于存储在屏蔽式堆读内存13中,所以不会因静电等外在因素而破坏。因此,在存储在快闪R0M14中的程序、数据由于静电等外在因素、不正确的写入或删除等而被改写而发生了故障的情况下,通过计时器15的监控器(watch dog)计时器功能等,而发生复位。另外,通过从步骤S15前进到步骤S30,能够启动数据没有破坏的屏蔽式堆读内存 13的快闪ROM写入程序43,能够从外部设备30对快闪R0M14的数据进行改写,能够恢复到正常状态。进而,可以分别在屏蔽式堆读内存13和快闪R0M14中具有各自的中断向量表41、 51,因此也可以完全通过存储在屏蔽式堆读内存13中的程序和程序在快闪R0M14中的程序来进行各自的中断处理。
权利要求
1.一种微处理器,具备不能改写的第一存储器和可改写的非易失性的第二存储器,并与外部设备连接,其特征在于在上述第一存储器中设置对每个向量存储了通过多种中断进行处理的多个程序的地址的第一中断向量表;在上述第一中断向量表的各向量所示的地址中存储处理程序的区域,在上述第二存储器中设置内容与上述第一中断向量表相同的第二中断向量表,具备地址变换单元,将对上述第一中断向量表进行存取的地址变换为对上述第二中断向量表进行存取的地址;写入单元,根据从上述外部设备供给的指令,将上述第二中断向量表的任意向量的地址和存储在上述任意向量所示的地址中的处理程序写入到上述第二存储器中。
2.根据权利要求I所述的微处理器,其特征在于上述第一存储器存储执行从上述外部设备供给的指令的处理程序,在从上述外部设备向上述第二存储器进行写入时,停止上述地址变换单元的地址变换。
3.根据权利要求2所述的微处理器,其特征在于上述第一存储器存储被存储在上述第一存储器中的数据的验证用数据。
4.根据权利要求2或3所述的微处理器,其特征在于上述第二存储器存储被存储在上述第二存储器中的数据的验证用数据。
全文摘要
本发明的目的在于能够变更存储在不可改写的存储器中的中断处理程序。本发明的微处理器在第一存储器(13)中设置对每个向量存储了通过多种中断进行处理的多个程序的地址的第一中断向量表;在上述第一中断向量表的各向量所示的地址中存储处理程序的区域,在第二存储器(14)中设置内容与第一中断向量表相同的第二中断向量表,该微处理器具备地址变换单元(22),将对第一中断向量表进行存取的地址变换为对第二中断向量表进行存取的地址;写入单元(43),根据从外部设备(30)供给的指令,将第二中断向量表的任意向量的地址和存储在任意向量所示的地址中的处理程序写入到第二存储器(14)中。
文档编号G06F15/78GK102591844SQ201110374840
公开日2012年7月18日 申请日期2011年11月16日 优先权日2010年11月29日
发明者阿部真喜男, 马岛吉英 申请人:三美电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1