System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,特别涉及一种基于串口指令的ec调试方法。
技术介绍
1、随着计算机技术的不断发展,嵌入式控制器(embedded controller,简称ec)在现代计算机系统中扮演着越来越重要的角色。ec通过连接电源管理、热量管理、键盘控制等多个子系统,负责计算机的整体协调和控制。ec的正常工作直接影响到整机的可靠性和稳定性。因此,在计算机设计和生产过程中,ec的调试是一个不可或缺的关键环节。
2、目前,ec调试主要通过jtag、i2c等标准接口进行。调试人员利用各种仿真器、调试器通过这些接口连接到ec,并利用仿真器、调试器提供的调试功能对ec进行控制和调试。然而,这种调试方式存在着诸多局限性:首先,基于标准接口的调试方式可扩展性差。由于jtag、i2c等标准接口的调试指令集固定,无法灵活新增调试指令。当ec芯片更新换代或者调试需求变化时,现有的调试指令往往难以满足需求,需要对调试器进行升级甚至重新设计,可扩展性差;此外,通过标准接口调试ec还面临着接口资源有限、与其他调试对象互斥等问题。一个ec芯片上的jtag、i2c接口数量有限,当多个对象需要调试时,必须进行接口切换,影响调试效率。而且,当其他器件也需要使用这些标准接口时,会与ec调试产生冲突,干扰ec的正常调试。
技术实现思路
1、针对现有技术中存在的ec调试可扩展性差的问题,本申请提供了一种基于串口指令的ec调试方法,它可以实现灵活可扩展的ec调试功能,便于新增或修改调试指令,适应不同的ec调试需求。
>2、本申请的目的通过以下技术方案实现。
3、本申请提供一种基于串口指令的ec调试方法,包括:s1,将串口的发送端口和接收端口分别从ec端连接到调试设备的接收端口和发送端口,并设置ec端和调试设备的串口参数;其中,串口参数包含波特率、数据位、停止位和校验位;具体的,通过串口连接线将ec端的串口发送端口(tx)连接到调试设备的串口接收端口(rx),将ec端的串口接收端口(rx)连接到调试设备的串口发送端口(tx),实现ec端与调试设备之间的双向数据通信通道的建立;在ec端和调试设备上分别配置串口通信参数:通过设置串口的波特率参数,使ec端和调试设备的串口通信波特率保持一致,确保数据传输的速率匹配;通过设置串口的数据位参数,使ec端和调试设备的串口通信数据位长度保持一致,确保单次传输的数据长度匹配;通过设置串口的停止位参数,使ec端和调试设备的串口通信停止位长度保持一致,确保数据传输的时序同步;通过设置串口的校验位参数,使ec端和调试设备的串口通信校验方式保持一致,确保数据传输的完整性和准确性;ec端和调试设备根据配置的串口参数,分别初始化各自的串口控制器:将波特率、数据位、停止位和校验位的配置值写入串口控制器的相应寄存器,启动串口控制器;使能串口控制器的发送和接收功能,并配置相应的中断,为数据传输做好准备;ec端与调试设备通过串口连接和参数配置,建立起统一的数据传输标准和控制时序,为后续的指令数据交互奠定通信基础。
4、s2,调试设备通过串口向ec端发送指令数据;s3,ec端通过串口中断机制判断指令数据是否接收完成;s4,ec端获取接收到的完整指令数据后,采用kmp算法将获取的指令数据与指令集数组中预定义的指令名称进行匹配;其中,指令集数组为ec端内部的一个常量数组;s5,ec端根据指令匹配结果,判断接收到的指令数据是否为打开串口打印信息指令,以及指令数据对应的标志位是否处于低电平:如果接收到的指令为打开串口打印指令,且对应的标志位为低电平,ec端进一步判断串口打印开关标志位的状态,如果串口打印开关标志位为关闭状态,ec端将串口打印信息标志位置于高电平,打开串口打印功能;ec端内部通过优先级任务周期性地轮询检测串口打印信息标志位的状态,如果标志位为高电平,则每隔预设时间间隔,通过串口打印ec端的acpi信息和电池信息;当ec端接收到停止打印指令后,将串口打印信息标志位置于低电平,以关闭串口打印功能。
5、其中,ec(embedded controller):ec是笔记本电脑或其他嵌入式系统中的一个微控制器。调试设备是一个用于与ec进行通信和交互的外部设备。它可以是一台计算机、单片机开发板或其他具有串口通信功能的设备。调试设备通过串口向ec发送指令数据,并接收ec返回的信息,以实现对ec的调试和监控。指令数据是调试设备通过串口发送给ec的一段数据。它包含了特定的指令名称和相关参数,用于控制ec的行为或获取ec的状态信息。指令数据的格式和内容由ec和调试设备之间的通信协议所定义。
6、其中,kmp算法是一种用于字符串匹配的算法。它利用已经匹配的信息来避免重复比较,提高字符串匹配的效率。在ec调试方法中,kmp算法用于将接收到的指令数据与指令集数组中预定义的指令名称进行匹配。打开串口打印信息指令是一种特定的指令数据,用于控制ec的串口打印功能。当ec接收到该指令时,如果指令数据对应的标志位为低电平,且串口打印开关标志位为关闭状态,ec会将串口打印信息标志位置于高电平,打开串口打印功能。acpi信息(advanced configuration and power interface information):acpi是一种标准的电源管理接口规范。acpi信息包括电源状态、电源管理事件、电源按键状态等与系统电源管理相关的信息。在ec调试方法中,当串口打印功能打开时,ec会通过串口打印acpi信息,以便调试和监控系统的电源管理状态。电池信息包括电池电量、电池温度、充放电状态等与笔记本电脑电池相关的信息。ec负责监测和管理电池的状态,并将电池信息报告给系统。在ec调试方法中,当串口打印功能打开时,ec会通过串口打印电池信息,以便调试和监控电池的状态。
7、进一步的,s4,ec端获取接收到的完整指令数据后,采用kmp算法将获取的指令数据与指令集数组中预定义的指令名称进行匹配,包括:根据指令集数组中各指令名称的特征,预先构建kmp算法的部分匹配表pmt,部分匹配表pmt中存储各指令名称前缀和后缀的最长公共元素的长度,用于在匹配过程中加速匹配和避免重复匹配;将接收到的完整指令数据作为主字符串,指令集数组中的指令名称作为模式字符串,采用hash算法对主字符串和模式字符串进行筛选,得到候选匹配对;利用部分匹配表pmt对候选匹配对进行匹配;如果匹配成功,则输出匹配成功的指令名称。
8、其中,部分匹配表pmt(partial match table):部分匹配表是kmp算法中用于加速字符串匹配的一种数据结构。它存储了模式字符串的前缀和后缀的最长公共元素的长度。在匹配过程中,通过查询部分匹配表,可以快速确定下一次匹配的位置,避免了重复匹配的情况。
9、进一步的,预先构建部分匹配表pmt,包括:设置最大匹配长度阈值max_len,将指令集数组中长度超过最大匹配长度阈值max_len的指令名称划分为多个子模式,子模式的长度小于等于阈值max_len;对指令集数组中的每一个指令名本文档来自技高网...
【技术保护点】
1.一种基于串口指令的EC调试方法,包括:
2.根据权利要求1所述的基于串口指令的EC调试方法,其特征在于:
3.根据权利要求2所述的基于串口指令的EC调试方法,其特征在于:
4.根据权利要求3所述的基于串口指令的EC调试方法,其特征在于:
5.根据权利要求4所述的基于串口指令的EC调试方法,其特征在于:
6.根据权利要求2至5任一所述的基于串口指令的EC调试方法,其特征在于:
7.根据权利要求6所述的基于串口指令的EC调试方法,其特征在于:
8.根据权利要求7所述的基于串口指令的EC调试方法,其特征在于:
9.根据权利要求8所述的基于串口指令的EC调试方法,其特征在于:
10.根据权利要求9所述的基于串口指令的EC调试方法,其特征在于:
【技术特征摘要】
1.一种基于串口指令的ec调试方法,包括:
2.根据权利要求1所述的基于串口指令的ec调试方法,其特征在于:
3.根据权利要求2所述的基于串口指令的ec调试方法,其特征在于:
4.根据权利要求3所述的基于串口指令的ec调试方法,其特征在于:
5.根据权利要求4所述的基于串口指令的ec调试方法,其特征在于:
6.根据权...
【专利技术属性】
技术研发人员:梁小健,刘立杉,
申请(专利权)人:深圳市艾宝科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。