微控制器、微控制器的测试方法以及包含微控制器的系统与流程

文档序号:30599084发布日期:2022-07-01 21:17阅读:124来源:国知局
微控制器、微控制器的测试方法以及包含微控制器的系统与流程

1.本发明涉及一种微控制器,且特别是涉及一种应用于微控制器的测试方法。


背景技术:

2.相应的测试程序被加载微控制器以对微控制器进行除错。具体来说,测试程序会被加载微控制器去做执行。在这个过程中,常需要外部的仪器去量微控制器产生的信号。通过量测结果来得知测试程序的运行流程是否与预想的相同。
3.在除错过程中,可以监视微控制器当中的存储区块。当前述存储区块所储存的数值满足测试程序所设定的测试条件时(例如储存的值大于一阀值),微控制器可以对应地改变其输出信号(例如从低电压准位转态为高电压准位),进而触发外部仪器(例如风扇、示波器)进行其相应的功能。设计者可以根据当下量测到的信号的波形、信号的电压状态以及实际量测到的数值,来判断测试结果与预想的是否一致。
4.然而,当欲改变测试条件时,测试程序也需要相应改变并重载微控制器。因此,在除错过程中,可能需要多次去更改测试程序。此举不但提高了除错的复杂度,更平添许多变数。因此,需要一种解决手段,以在不需要反复更改测试程序的情况下,完成对微控制器的除错。


技术实现要素:

5.本发明是针对一种微控制器及微控制器的测试方法,以在不需要反复更改测试程序的情况下,完成对微控制器的除错。
6.根据本发明的实施例,微控制器的测试方法包括:由使用者经由外部的除错工具设定测试条件以及观察点(watchpoint),其中观察点指向微控制器的存储器;由微控制器中的控制电路判断存储器的数据是否满足测试条件;以及当存储器的数据满足测试条件时,由控制电路控制微控制器输出触发信号,其中触发信号用以触发外部的仪器。
7.根据本发明的实施例,微控制器的测试方法包括:由使用者经由外部的除错工具设定测试条件以及观察点,其中观察点指向微控制器的存储器;通过除错工具轮询存储器的数据是否满足测试条件;以及当存储器的数据满足测试条件时,由除错工具输出触发信号,其中触发信号用以触发外部的仪器。
8.根据本发明的实施例,微控制器的测试方法包括:由使用者经由外部的除错工具设定测试条件以及观察点,其中观察点指向微控制器的存储器;通过除错工具读取存储器,并由除错工具判断存储器的数据是否满足测试条件;以及当存储器的数据满足测试条件时,由除错工具输出触发信号,其中触发信号用以触发外部的仪器。
9.根据本发明的实施例,微控制器包括存储器以及控制电路。控制电路耦接存储器、外部的除错工具以及外部的仪器。控制电路用以判断存储器的数据是否满足测试条件。控制电路并在存储器的数据满足该测试条件时,输出触发信号以触发仪器。其中,测试条件以及观察点由使用者经由外部的除错工具设定,并且观察点指向存储器。
10.根据本发明的实施例,微控制器包括存储器以及控制电路。控制电路耦接存储器以及外部的除错工具。控制电路用以判断存储器的数据是否满足测试条件。当存储器的数据满足测试条件时,除错工具输出触发信号,触发信号用以触发外部的仪器。其中,测试条件以及观察点由使用者经由除错工具设定,并且观察点指向存储器。
11.根据本发明的实施例,微控制器包括存储器。存储器用以储存数据以供外部的除错工具进行读取。其中,除错工具用以依据观察点来持续读取存储器的数据,以判断存储器的数据是否满足测试条件。当存储器的数据满足测试条件时,除错工具输出触发信号以触发外部的仪器。其中,测试条件以及观察点由使用者经由除错工具设定,并且观察点指向存储器。
12.根据本发明的实施例,包含微控制器的系统包括上述微控制器、除错工具以及仪器。除错工具耦接微控制器。仪器耦接微控制器与除错工具。
13.基于上述,本发明可以通过除错工具来设定观察点与测试条件,使微控制器、除错工具以及仪器达到连动的效果。最重要的是,当需要更改测试条件时,使用者只需要通过除错工具来更改测试条件即可,而不需要通过去修改已加载微控制器的测试程序的方式来进行测试。因此,除错的复杂度可以被降低。并且,可以不需要在反复更改测试程序的情况下,就能完成对微控制器的除错。
附图说明
14.图1a示出本发明第一实施例的微控制器的电路方块图。
15.图1b示出本发明第一实施例的微控制器的测试方法的步骤流程图。
16.图1c示出本发明第一实施例的微控制器的控制电路的电路示意图。
17.图1d示出在第一实施例下控制电路的另一种实施型态的电路示意图。
18.图2a示出本发明第二实施例的微控制器的电路方块图。
19.图2b示出本发明第二实施例的微控制器的测试方法的步骤流程图。
20.图3a示出本发明第三实施例的微控制器的电路方块图。
21.图3b示出本发明第三实施例的微控制器的测试方法的步骤流程图。
具体实施方式
22.现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在图式和描述中用来表示相同或相似部分。
23.图1a示出本发明第一实施例的微控制器的电路方块图。图1a绘示出微控制器110、除错工具120以及仪器130。微控制器110与除错工具120相互耦接,微控制器110与仪器130相互耦接。仪器130的数量至少有一个。仪器130可以是风扇和/或示波器。微控制器110包括存储器111、cpu 112、除错接口113、观察点内容114以及控制电路115。除错工具(debugger tool)亦称除错程序、除错器或调试器,是指用于除错的计算机程序及工具。除错工具可以显示出错误所在位置的原始码,并使其于整合开发环境里也能看见,以便排错、除错。
24.一使用者可以经由除错工具120来设定观察点与相应的测试条件,其中观察点可以指向微控制器110中的存储器111。观察点与相应的测试条件在除错工具120的用户接口可以一表达式来呈现。观察点与相应的测试条件通过除错接口113被储存至观察点内容
114。也就是说,观察点内容114可包括指向存储器111的地址的信息以及相应的测试条件。详细来说,设定观察点的作用在于监视特定地址(address,可能是一个用来储存特定变量的地址)被cpu 112写入数据或被cpu 112读取数据的状况。在本实施例中,观察点内容114独立于cpu 112被设置,然而本发明不以此为限。在其他实施例中,观察点内容114可以是cpu 112的一部分。
25.观察点与相应的测试条件通过除错工具120与除错接口113被建立于微控制器110的观察点内容114,并且观察点指向存储器111。cpu 112可以例如一温度传感器感测到的温度值来持续更新存储器111中的数据。cpu 112耦接观察点内容114以及存储器111。在第一实施例中,cpu 112可以依据观察点内容114来监视以及判断存储器111所储存的数据是否满足测试条件(例如存储器111所储存的温度值大于或等于50℃的一阈值),并通过给予一旗标来进行指示。举例来说,在存储器111所储存的数据由不满足测试条件转为满足测试条件时(例如存储器111所储存的数据由49℃度更新为50℃),cpu 112给予的旗标由0转为1。相对地,在存储器111所储存的数据由满足测试条件转为不满足测试条件时(例如存储器111所储存的数据由50℃度更新为49℃),cpu 112给予的旗标由1转为0。
26.需特别说明的是,一般来说,在cpu程序执行到观察点时,一指示条件成立(表示已执行到观察点)的旗标会被产生并提供给cpu。cpu将依据这个指示条件成立的旗标而停止运行。然而,在本发明中,这个指示条件成立的旗标可以被设定为不提供给cpu。也就是说,当执行到观察点时,可以仅提供指示条件成立的旗标给其它控制电路。因此,不同于一般在cpu 112执行到观察点时会停止执行程序,在本发明中,cpu 112不会停止正在执行的程序。当存储器111所储存的数据满足测试条件时,cpu 112给予旗标并继续执行程序。控制电路115可以依据旗目标状态(例如1)得知存储器111所储存的数据由满足测试条件。此时,控制电路115可以产生触发信号t(例如通过额外的一个指令指针(instruction pointer,ip)),并通过微控制器110本身的输入输出脚位输出触发信号t。仪器130耦接微控制器110,以接收触发信号t。举例来说,可以通过触发信号t去触发以启动一风扇进行降温。又或者,可以通过触发信号t去触发以启动一示波器进行量测。
27.仪器130被触发信号t触发并启动后,仪器130(例如一示波器)可以通过探棒(probe,未绘示)把微控制器110的信息传回仪器130以进行量测。以此,可以确认微控制器110的其他脚位的运作状态是否正常。在第一实施例中,控制电路115可以通过通用型的输入输出(general-purpose input/output,gpio)脚位输出触发信号t。
28.第一实施例可以通过于微控制器110设置控制电路115,以在测试条件满足时去一个gpio脚位,从而使仪器130启动以执行相应功能。然而本发明不以此为限,在其他实施例中,可以通过除错工具120设定多个测试条件,并在不同的测试条件被满足时触发不同的微控制器110的脚位。另外,控制电路115也可以被设定为在测试条件成立一定次数后,才去触发仪器130。
29.在第一实施例中,使用者可以通过除错工具120设定观察点与测试条件,以在微控制器110、除错工具120以及仪器130之间达到连动的效果。更重要的是,当需要更改测试条件时(例如要将阈值由50℃改为60℃),使用者只需要通过除错工具120来更改测试条件即可,而不需要去修改已加载微控制器的测试程序。
30.图1b示出本发明第一实施例的微控制器的测试方法的步骤流程图。请同时参见图
1a与图1b,首先,通过除错工具120去初始化观察点内容114与控制电路115的相关设定。在此阶段中,控制电路115被设定以选择触发信号t输出的形态,以触发微控制器110的脚位输出高电压准位、低电压准位或信号脉冲(pulse)(步骤s110)。通过除错工具120去初始化观察点内容114,以完成观察点与测试条件的设定,并清除旗标(例如重置为0)(步骤s120)。在完成观察点内容114的初始化后,cpu 112持续监测存储器111。cpu 112并在存储器111所储存的数据满足测试条件时,改变旗目标状态,例如由0变为1(步骤s130)。如果测试条件成立,则进行步骤s140,否则则回到步骤s130。在步骤s140中,观察点内容114可以将判断结果告知控制电路115(通过确认旗目标状态)。在步骤s150中,控制电路115产生预定型态的触发信号t,以触发仪器130。仪器130(例如一示波器)被触发后即开始测量微控制器110当下的信号波形。
31.在第一实施例中,控制电路115可以在初使化程序(即步骤s110)中被设定为在执行完步骤s150后,通过除错工具120询问是否进行另一个测试条件的初始化程序(步骤s160)。若是,则再次进入步骤s120。若否,则进入步骤s170,以由控制电路115来清除旗标。在其他实施例中,控制电路115也可以在初使化程序(即步骤s110)中被设定为完成一次触发即停止动作。也就是说,执行完步骤s150之后直接接到步骤s170,以由控制电路115来清除旗标。
32.图1c示出本发明第一实施例的微控制器的控制电路的电路示意图。请同时参见图1a与图1c,控制电路115包括多任务器m、闸控器g以及输出脚位选择器sel。在初始化控制电路115的阶段中,可以通过除错工具120来选择触发信号t的输出型态(通过选择信号ty)。选择信号ty是可以是表达为二进制的数值。多任务器m可以依据选择信号ty来选择多任务器m要产生的对应形态的输出信号。可选择的形态有多种,并分别对应不同的数值。在图1c中,可选择的形态包括由高电压准位转态为低电压准位的形态、由低电压准位转态为高电压准位的形态、信号脉冲型态,或是其他类型的形态。举例来说,若选择信号ty为1时(二进制表示为001),表示多任务器m默认要输出的信号是由低电压准位转态为高电压准位的形态。
33.多任务器m接收旗标f,并依据旗标f产生默认型态的输出信号(例如是由低电压准位转态为高电压准位的形态)。闸控器g接收多任务器m的输出以及使能信号s_en。掌控闸控器g产生前述默认型态的输出信号(即触发信号t)的时机的关键在于使能信号s_en。使能信号s_en的电压电平依据旗标f的状态产生改变。具体来说,当旗标f由0转1时,cpu 112产生高电压准位的使能信号s_en。当旗标f由1转0时,cpu 112产生低电压准位的使能信号s_en。当使能信号s_en处于高电压准位时,多任务器m的输出信号可以通过闸控器g并如实输出。输出脚位选择器sel耦接微控制器110的多个输出脚位,分别为脚位pa0~pan。输出脚位选择器sel经过设定以选择闸控器g的输出信号要通过哪个脚位进行输出。以此,预定型态的触发信号t可以由控制电路115产生。
34.图1d示出在第一实施例下控制电路的另一种实施型态的电路示意图。请见图1d,图1d与图1c的差异仅在于图1d增加了设定电路c。设定电路c可设置在使能信号s_en往闸控器g的输出路径上。设定电路c可以依据用户的设定来累计旗标f从0变为1的次数,并在前述次数达到一阈值时,才将具有高电压准位的使能信号s_en输出到闸控器g。在未达到前述阈值之前,设定电路c即便接收到处于高电压准位的使能信号s_en,也只会输出低电压准位的使能信号s_en。简单来说,设定电路c可以依据一用户设定条件来延长输出具有高电压准位
的使能信号s_en的输出时间点。设定电路c还可以被设定其他的设定条件,本发明对此不加以限制。调整后使能信号
35.以硬件形式而言,控制电路115例如是微处理器(microprocessor)、中央处理单元(central processing unit,cpu),或是其他可程序化的一般用途或特殊用途的微处理器(microprocessor)、数字信号处理器(digital signal processor,dsp)、可程序化控制器、特殊应用集成电路(application specific integrated circuits,asic)、可程序化逻辑设备(programmable logic device,pld)或其他类似装置或这些装置的组合。
36.图2a示出本发明第二实施例的微控制器的电路方块图。图2a绘示出微控制器210、除错工具220与仪器230。微控制器210耦接除错工具220,除错工具220又耦接仪器230(例如示波器和/或风扇)。微控制器210包括存储器211、cpu 212、除错接口213以及观察点内容214。与第一实施例类似的是,一使用者可以经由除错工具220来设定观察点与相应的测试条件,其中观察点可以指向微控制器210中的存储器211。观察点与相应的测试条件通过除错接口213被储存至观察点内容214。也就是说,观察点内容214可包括指向存储器211的地址的信息以及相应的测试条件。存储器211的数据(例如感测到的温度值)由cpu 212持续更新。cpu 212可以依据观察点内容214来监视以及判断存储器211所储存的数据是否满足测试条件。当存储器211所储存的数据满足测试条件时,cpu 212给予相应状态的旗标并继续执行程序。
37.不同于图1a所示微控制器110同时耦接除错工具120与仪器130,图2a中的微控制器210是通过除错工具220间接耦接于仪器230。并且,微控制器210没有设置第一实施例所述的控制电路115(不需要改变微控制器210原有的配置)。在第二实施例中,触发仪器230的工作是由除错工具220来进行。除错工具220直接通过除错接口213对cpu 212给予的旗标进行轮询(polling),以得知测试条件成立的时机。一但测试条件成立后,由除错工具220产生触发信号t来触发仪器230。
38.图2b示出本发明第二实施例的微控制器的测试方法的步骤流程图。请同时参见图2a与图2b,首先,通过初始化除错工具220以选择触发信号t的形态(步骤s210)。以及,通过除错工具220初始化观察点与测试条件并清除观察点的旗标(步骤s220)。接着,由除错工具220对旗标进行轮询,以通过旗目标状态判断测试条件是否成立(步骤s230)。举例来说,当旗标为1时,表示测试条件成立。若判断测试条件成立时,进入步骤s240。若判断测试条件不成立时,持续执行步骤s230,直到测试条件成立。在步骤s240中,除错工具220产生触发信号t以触发仪器230(例如一示波器)开始撷取微控制器210的信息。在步骤s250中,由除错工具220询问是否选择测试另一个条件(包含对同一个条件触发多次的情形)。若是,则回到步骤s220。若否,则进入步骤s260,由除错工具220来清除旗标。
39.虽然触发仪器的主体不同,但是第一实施例与第二实施例都能通过除错工具来设定观察点与测试条件,使微控制器、除错工具以及仪器达到连动的效果。同样地,当需要更改测试条件时,使用者只需要通过除错工具220来更改测试条件即可,而不需要去修改已加载微控制器的测试程序。
40.图3a示出本发明第三实施例的微控制器的电路方块图。图3a绘示出微控制器310、除错工具320以及仪器330(例如风扇和/或示波器)。一使用者可以经由除错工具320来设定观察点,其中观察点可以指向微控制器310中的存储器311。观察点通过除错接口313被储存
至观察点内容314。也就是说,观察点内容314可包括指向存储器311的地址的信息。存储器311的数据(例如感测到的温度值)由cpu 312持续更新。
41.与第二实施例的架构类似,微控制器310是通过除错工具320间接耦接仪器330。并且,触发仪器330的工作是由除错工具320来进行。与第二实施例度不同的是,图3a所示第三实施例是直接在除错工具320里设定测试条件。并且,除错工具320直接且持续地读取存储器311所储存的数据并自行判断该数据是否满足测试条件。也就是说,一旦cpu 312写值在存储器311里,除错工具320即可通过除错接口313读取该值,并判断该值是否满足测试条件。当判断测试条件成立后,除错工具320立即触发仪器330。
42.图3b示出本发明第三实施例的微控制器的测试方法的步骤流程图。请同时参照图3a与图3b,首先,初始化除错工具320以选择触发信号t的形态,并设定测试条件(步骤s310)。接着,直接由除错工具320读取存储器311并判断测试条件是否成立(步骤s320)。若测试条件不成立,则重复执行步骤s320。若测试条件成立,则进入步骤s330。在步骤s330中,除错工具320产生触发信号t以触发仪器330。最后,由除错工具320记录测试条件成立的时间点以及相关的数据信息(步骤s340),并返回步骤s320。
43.上述第一至第三实施例都能通过除错工具来设定观察点与测试条件,使微控制器、除错工具以及仪器达到连动的效果。最重要的是,当需要更改测试条件时,使用者只需要通过除错工具来更改测试条件即可,而不需要通过去修改已加载微控制器的测试程序的方式来进行测试。因此,除错的复杂度可以被降低。并且,可以不需要在反复更改测试程序的情况下,就能完成对微控制器的除错。
44.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1