用于MCU的端口复用方法和装置与流程

文档序号:13909975阅读:428来源:国知局
用于MCU的端口复用方法和装置与流程

本公开涉及计算机领域,具体地,涉及一种用于mcu的端口复用方法和装置。



背景技术:

目前,微控制单元(microcontrollerunit;mcu)的功能日益增强,其结构也日益复杂。因此,在mcu产品的开发中,其调试功能显得尤为重要。mcu的调试功能的端口(管脚)(例如,串行线路(serialwire,sw)调试端口)由于其即插即用性和上拉电阻要求的特征,通常以单独的管脚形式出现。有一些调试功能的端口与其他功能的端口复用,但功能选择必须使用硬件管脚选择的模式,防止调试功能无法使用。



技术实现要素:

本公开的目的是提供一种简单有效的、用于mcu的端口复用方法和装置。

为了实现上述目的,本公开提供一种用于mcu的端口复用方法。所述mcu包括复用端口,所述方法包括:判断所述mcu的复用端口的信号是否符合调试协议;当判定所述复用端口的信号符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行调试;当判定所述复用端口的信号不符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行复位。

可选地,所述当判定所述复用端口的信号不符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行复位的步骤包括:当判定所述复用端口的信号不符合所述调试协议时,判断所述复用端口的信号是否满足预定条件;当判定所述复用端口的信号满足所述预定条件时,控制所述mcu进行复位。

可选地,所述复用端口包括时钟端口和数据端口,所述调试协议包括:所述时钟端口的信号为预定频率的脉冲信号;所述数据端口的信号为大于第一预定时长的高电平。

可选地,所述预定条件包括:所述时钟端口的信号为恒定的电平信号;所述数据端口的信号为大于第二预定时长的低电平。

可选地,所述当判定所述复用端口的信号不符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行复位的步骤包括:当所述mcu重新上电,且判定所述复用端口的信号不符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行复位。

本公开还一种用于mcu的端口复用装置。所述mcu包括复用端口,所述装置包括:判断模块,用于判断所述mcu的复用端口的信号是否符合调试协议;调试控制模块,用于当判定所述复用端口的信号符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行调试;复位控制模块,用于当判定所述复用端口的信号不符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行复位。

可选地,所述复位控制模块包括:判断子模块,用于当所述复用端口的信号不符合所述调试协议时,判断所述复用端口的信号是否满足预定条件;第一控制子模块,用于当判定所述复用端口的信号满足所述预定条件时,控制所述mcu进行复位。

可选地,所述复用端口包括时钟端口和数据端口,所述调试协议包括:所述时钟端口的信号为预定频率的脉冲信号;所述数据端口的信号为大于第一预定时长的高电平。

可选地,所述预定条件包括:所述时钟端口的信号为恒定的电平信号;所述数据端口的信号为大于第二预定时长的低电平。

可选地,所述复位控制模块包括:第二控制子模块,用于当所述mcu重新上电,且判定所述复用端口的信号不符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行复位。

通过上述技术方案,根据复用端口的信号是否符合调试协议,可以将复用端口用于调试功能或复位功能。也就是根据是否接收到外部的调试请求,来确定复用端口的功能。这样,实现了mcu的调试端口和复位端口的复用,节省了mcu的端口资源,提高了mcu的集成度,从而使应用开发更加简易。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是一示例性实施例提供的用于mcu的端口复用方法的流程图;

图2是另一示例性实施例提供的用于mcu的端口复用方法的流程图;

图3是又一示例性实施例提供的用于mcu的端口复用方法的流程图;

图4是一示例性实施例提供的用于mcu的端口复用装置的结构框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

通常情况下,mcu可以包括调试端口(例如,arm公司的sw调试端口)和复位端口。当需要对mcu进行调试时,可以将调试端口连接至外部的调试仿真器。当复位端口输入有效的外部复位电平时,mcu可进行复位。

图1是一示例性实施例提供的用于mcu的端口复用方法的流程图。其中,mcu包括复用端口。如图1所示,所述方法可以包括以下步骤。

在步骤s11中,判断mcu的复用端口的信号是否符合调试协议。

在步骤s12中,当判定复用端口的信号符合调试协议时,根据复用端口的信号控制mcu进行调试。

在步骤s13中,当判定复用端口的信号不符合调试协议时,根据复用端口的信号控制mcu进行复位。

其中,调试协议是指用于调试的信号所满足的逻辑条件。外部调试仿真器在对mcu进行调试时,对调试端口发送的信号符合调试协议。在本公开的实施例中,当复用端口的信号符合调试协议时,可以确定复用端口外部连接有调试仿真器,可以将调试仿真器传输至复用端口的信号输入mcu的cpu中,控制mcu进行调试;当复用端口的信号不符合调试协议时,可以确定复用端口外部未连接调试仿真器,mcu有可能正处于工作状态。当识别到有效的复位信号时,复用端口可以将复位信号传输至mcu内部的复位控制线路中,控制mcu进行复位。

具体地,复用端口可以分别与mcu内部的调试控制电路、复位控制电路直接地连接,或通过逻辑器件、开关器件间接地连接。

当复用端口的信号符合调试协议时,调试控制电路可以自动地被触发启动调试,或者通过逻辑器件触发开关器件将复用端口与调试控制电路导通,来控制调试控制电路启动调试。

当复用端口的信号不符合调试协议时,可以通过逻辑器件触发开关器件将复用端口与复位控制电路导通,一旦复用端口接收到复位信号,则传输至复位控制电路,控制mcu进行复位。同时,可以断开复用端口与调试控制电路的连接,或者在接收到的信号不符合调试协议时,调试控制电路自动地禁用调试功能。

通过上述技术方案,根据复用端口的信号是否符合调试协议,可以将复用端口用于调试功能或复位功能。也就是根据是否接收到外部的调试请求,来确定复用端口的功能。这样,实现了mcu的调试端口和复位端口的复用,节省了mcu的端口资源,提高了mcu的集成度,从而使应用开发更加简易。

如上所述,当复用端口的信号不符合调试协议时,可以确定复用端口此时不用于调试功能。而复用端口是否用于复位功能,可以进一步根据复用端口的信号来确定。即,复用端口在接收到复位信号时,可以执行复位功能。图2是另一示例性实施例提供的用于mcu的端口复用方法的流程图。如图2所示,在图1的基础上,当判定复用端口的信号不符合调试协议时,根据复用端口的信号控制mcu进行复位的步骤(步骤s13)可以包括以下步骤。

在步骤s131中,当判定复用端口的信号不符合调试协议时,判断复用端口的信号是否满足预定条件。

在步骤s132中,当判定复用端口的信号满足预定条件时,控制mcu进行复位。

其中,预定条件可以为复位信号所具有的特征条件。复用端口的信号满足预定条件,则可以确定复用端口的信号为复位信号。

在本公开的一示例性实施例中,以常用的sw调试端口作为复用端口。在该实施例中,复用端口可以包括时钟端口(swclk)和数据端口(swdat)。调试协议可以包括:时钟端口的信号为预定频率的脉冲信号;数据端口的信号为大于第一预定时长的高电平。

其中,根据sw的调试协议,swclk持续输入预定频率的脉冲信号的调试时钟。同时,swdat根据持续输入大于第一预定时长(例如,50个swclk时钟)的高电平。

当检测到时钟端口和数据端口的信号分别满足上述调试协议时,可以利用开关器件断开数据端口(或时钟端口)与复位控制电路的连接,使得复用端口只用于调试功能。

如前所述,所述预定条件可以是确定复位信号的条件。可以理解的是,所述预定条件与调试协议为不同的条件。在上述将sw调试端口作为复用端口的基础上,所述预定条件可以包括:时钟端口的信号为恒定的电平信号;数据端口的信号为大于第二预定时长的低电平。

其中,时钟端口的信号为恒定的电平信号,避免了电平沿的产生,以与调试协议相区别。此时,可以在数据端口的信号为大于第二预定时长(例如,1ms)的低电平(确定满足所述预定条件)时,通过开关器件将数据端口与复位控制电路导通,控制mcu进行复位。

为了保证调试状态的稳定性,在mcu中可以设置逻辑,使得在除mcu重新上电之外的其他情况下,都不能使mcu进行复位。图3是又一示例性实施例提供的用于mcu的端口复用方法的流程图。如图3所示,在图1的基础上,当判定复用端口的信号不符合调试协议时,根据复用端口的信号控制mcu进行复位的步骤(步骤s13)可以包括步骤s133。

在步骤s133中,当mcu重新上电,且判定复用端口的信号不符合调试协议时,根据复用端口的信号控制mcu进行复位。

具体地,可以在逻辑中增加锁存器,使得用于导通复用端口与复位控制电路的开关器件,在每次上电之后只能导通一次。也就是,在mcu的一次通电过程中,只能有一次复位状态向调试状态的转换,而不能由调试状态向复位状态转换。这样,使得调试之外的其他功能都无法打断mcu的调试状态,从而确保了调试的稳定性和可靠性。

本公开还提供一种用于mcu的端口复用装置。图4是一示例性实施例提供的用于mcu的端口复用装置的结构框图。所述mcu包括复用端口。如图4所示,所述用于mcu的端口复用装置10可以包括判断模块11、调试控制模块12、复位控制模块13。

判断模块11用于判断mcu的复用端口的信号是否符合调试协议。

调试控制模块12用于当判定复用端口的信号符合调试协议时,根据复用端口的信号控制mcu进行调试。

复位控制模块13用于当判定复用端口的信号不符合调试协议时,根据复用端口的信号控制mcu进行复位。

可选地,所述复位控制模块13可以包括判断子模块131和第一控制子模块132。

判断子模块131用于当复用端口的信号不符合调试协议时,判断复用端口的信号是否满足预定条件。

第一控制子模块132用于当判定复用端口的信号满足预定条件时,控制mcu进行复位。

可选地,复用端口可以包括时钟端口和数据端口,所述调试协议可以包括:所述时钟端口的信号为预定频率的脉冲信号;所述数据端口的信号为大于第一预定时长的高电平。

可选地,所述预定条件可以包括:所述时钟端口的信号为恒定的电平信号;所述数据端口的信号为大于第二预定时长的低电平。

可选地,所述复位控制模块13可以包括第二控制子模块133。

第二控制子模块133用于当所述mcu重新上电,且判定所述复用端口的信号不符合所述调试协议时,根据所述复用端口的信号控制所述mcu进行复位。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

通过上述技术方案,根据复用端口的信号是否符合调试协议,可以将复用端口用于调试功能或复位功能。也就是根据是否接收到外部的调试请求,来确定复用端口的功能。这样,实现了mcu的调试端口和复位端口的复用,节省了mcu的端口资源,提高了mcu的集成度,从而使应用开发更加简易。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1