CN113360440B - 处理器通信控制方法及相关产品 - Google Patents
处理器通信控制方法及相关产品 Download PDFInfo
- Publication number
- CN113360440B CN113360440B CN202010152921.5A CN202010152921A CN113360440B CN 113360440 B CN113360440 B CN 113360440B CN 202010152921 A CN202010152921 A CN 202010152921A CN 113360440 B CN113360440 B CN 113360440B
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- debugging
- communication protocol
- debugger
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims description 79
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000012360 testing method Methods 0.000 description 6
- 239000000306 component Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 239000008358 core component Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种处理器通信控制方法及相关产品,应用于电子设备,电子设备包括第一处理器和第二处理器,第一处理器与第二处理器连接,并能够通过串行调试SWD协议通信,第一处理器运行目标应用程序,并通过串行调试SWD通信协议对第二处理器进行控制,具体地,对第二处理器进行调试或者资源升级,从而,可实现第一处理器通过SWD通信协议对第二处理器进行控制,提升在同一个电子设备中两个处理器之间的通信便捷性,同时,能够通过第一处理器对第二处理器进行调试或升级等控制,从而节省了一部分外部调试、资源升级设备,方便进行调试或资源升级。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种处理器通信控制方法及相关产品。
背景技术
现有的电子设备使用双核处理器,在双核设计的***中,一个处理器可用于处理用户界面(user interface,UI)等业务逻辑,另一个处理器一般是低功耗的微控制单元(microcontroller unit,MCU)处理器,可实现传感集线器sensor-hub功能,双核设计可保证UI业务流畅,还可降低功耗,提升电子设备的续航能力,但是,双核设计的***在双处理器的通信、控制,特别是调试、升级方面均存在问题。
例如,为节省接口或受接口数量限制,一般第二处理器没有与外部设备直接连接的通信接口,导致对该第二处理器进行调试或者升级非常不方便,若出现死机问题,对第二处理器的死机原因进行分析也很不方便。
发明内容
本申请实施例提供一种处理器通信控制方法及相关产品,能够实现双核处理器下,第一处理器通过SWD通信协议对第二处理器进行控制。
第一方面,本申请实施例提供一种处理器通信控制方法,应用于电子设备,所述电子设备包括第一处理器和第二处理器,所述第一处理器与所述第二处理器连接,并能够通过串行调试SWD协议通信,所述方法包括:
所述第一处理器运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制。
第二方面,本申请实施例提供一种处理器通信控制装置,所述处理器通信控制装置包括第一处理单元和第二处理单元,所述第一处理单元与所述第二处理单元连接,并能够通过SWD协议通信,其中,
所述第一处理单元,用于运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理单元进行控制。
第三方面,本申请实施例提供一种智能手表,包括第一处理器和第二处理器,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器和所述第二处理器连接,并能够通过串行调试SWD协议通信,其中,
所述第一处理器,用于运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制,所述目标应用程序包括以下一种或多种:调试器程序、资源升级程序。
第四方面,本申请实施例提供一种电子设备,所述电子设备包括第一处理器、第二处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行上述第一方面所述的方法中的步骤的指令。
第五方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第六方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例中的处理器通信控制方法及相关产品,应用于电子设备,电子设备包括第一处理器和第二处理器,第一处理器与第二处理器连接,并能够通过串行调试SWD协议通信,第一处理器运行目标应用程序,并通过串行调试SWD通信协议对第二处理器进行控制,具体地,对第二处理器进行调试或者资源升级,从而,可实现第一处理器通过SWD通信协议对第二处理器进行控制,提升在同一个电子设备中两个处理器之间的通信便捷性,同时,能够通过第一处理器对第二处理器进行调试或升级等控制,从而节省了一部分外部调试、资源升级设备,方便进行调试或资源升级。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种电子设备的结构示意图;
图1B是本申请实施例提供的一种处理器通信控制方法的流程示意图;
图1C是本申请实施例提供的一种设置调试模式的演示示意图;
图1D是本申请实施例提供的一种电子设备中第一处理器运行DAPLink固件的演示示意图;
图1E是本申请实施例提供的一种从电子设备的外部存储器中调取DAPLink固件的演示示意图;
图2是本申请实施例提供的另一种处理器通信控制方法的流程示意图;
图3A是本申请实施例提供的一种用于实施处理器通信控制方法的通信控制***的结构示意图;
图3B是本申请实施例提供的另一种处理器通信控制方法的流程示意图;
图4是本申请实施例提供的一种电子设备的结构示意图;
图5是本申请实施例提供的一种处理器通信控制装置的结构示意图;
图6是本申请实施例提供的一种智能手表的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
CoreSightTM是ARM设计的片上调试和跟踪技术,包括调试接口协议、调试总线协议、对调试组件的控制、安全特性、跟踪接口等。它使用标准方案来访问调试组件,收集跟踪信息,以及检测调试***的配置。它的调试功能用于观察或修改***的配置和状态,而跟踪功能则可以连续收集***信息,以便以后进行离线分析。这个功能在微控制单元(microcontroller unit,MCU)上都会支持,且一般MCU上都会支持如下功能:嵌入式跟踪宏单元(embedded trace macrocells,ETM);程序跟踪宏单元(program trace macrocells,PTM);***跟踪宏单元(system trace macrocell,STM);跟踪存储器控制器(trace memorycontroller,TMC)。
调试访问端口连接(debug access port link,DAPLink)固件是ARM公司官方开源的一款调试烧录器,DAPLink可支持以下功能:Arm-cortex芯片的调试和人机接口设备(human interface device,HID)烧录;自带虚拟串口,省去通用串行总线(universalserial bus,USB)转串口;拖拽式编程,模拟出u盘,hex或者bin拷贝进行完成烧录(MSC);WEB通用串行总线(universal serial bus,USB)功能。微控制器软件接口标准,(cortexmicrocontroller software interface standard-debug access port,CMSIS-DAP)调试接口是包含通过无驱动程序通用串行总线(universal serial bus,USB)连接设置的调试访问端口(debug access port,DAP)命令的抽象。它提供了一种通过USB访问MCU的DAP的标准化方法。
串行调试(serial wire debug,SWD)协议是ARM公司定义的标准双向有线协议,以高效且稳定的方式在调试器和目标***之间传递数据。并提供所有正常的联合测试工作组(joint test action group,JTAG)调试、测试功能以及对***内存的实时访问,而无需停止第二处理器且无需第二处理器中有任何代码即可实现第一处理器与第二处理器之间的通信。
本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备(如手机、平板电脑等)、车载设备、可穿戴设备(例如,智能手表)、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminal device)等等。
下面对本申请实施例进行详细介绍。
如图1A所示,图1A是本申请实施例提供的一种电子设备的结构示意图。该电子设备包括第一处理器、第二处理器、所述第一处理器与所述第二处理器通过串行调试SWD通信协议连接。
其中,所述第二处理器可包括内部存储器,内部存储器可包括随机存取存储器(randam access memory,RAM),电子设备还可包括外部存储器,外部存储器与第一处理器连接,外部存储器可包括外部闪存,第二处理器还可以包括内部闪存(flash),电子设备还可包括与第二处理器连接的外设模块,外设模块可包括触摸屏(touchpanel,TP)和全球定位***(global positioning system,GPS)定位模块等固件,电子设备还可包括非易失闪存(norflash),与所述第二处理器连接的传感器等。以上模块仅仅是一种举例,还可以是其他模块的组合方式。
其中,第一处理器可以是多模式处理器,第二处理器可以是低功耗处理器。
其中,第一处理器可集成应用处理器(application processor,AP)和调制解调处理器,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。其中,第一处理器可以是中央处理器(Central Processing Unit,CPU)或者图形处理器(GraphicsProcessing Unit,GPU)。CPU是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。而GPU又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时GPU所采用的核心技术有硬件T&L(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L技术可以说是GPU的标志。第二处理器可以是MCU,可实现传感集线器sensor-hub功能。所述第一处理器可以运行安卓等操作***,也可以运行实时操作***(Real-time operating system,RTOS)等。
其中,电子设备还可包括显示屏,显示屏与第一处理器连接,显示屏可以是液晶显示器(liquid crystal display,LCD)、有机或无机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体面板(active matrix/organic light emittingdiode,AMOLED)等。
请参阅图1B,图1B是本申请实施例提供的一种处理器通信控制方法的流程示意图,应用于电子设备,所述电子设备包括第一处理器和第二处理器,所述第一处理器与所述第二处理器连接,并能够通过串行调试SWD协议通信;本处理器通信控制方法包括:
101、第一处理器运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制。
串行调试(serial wire debug,SWD)协议是ARM公司定义的标准双向有线协议,以高效且稳定的方式在调试器和目标***之间传递数据。并提供所有正常的联合测试工作组(joint test action group,JTAG)调试、测试功能以及对***内存的实时访问,而无需停止第二处理器且无需第二处理器中有任何代码即可实现第一处理器与第二处理器之间的通信。
其中,第一处理器可以是通用处理器或者MCU,第二处理器可以是MCU,第一处理器通过SWD通信协议能在MCU没有任何代码的情况下与其MCU的***内存进行实时访问,即SWD能无条件访问MCU的***内存,因此,第一处理器通过串行调试SWD通信协议对第二处理器进行控制,具体地,可对第二处理器进行调试,或者第二处理器进行升级。
可选地,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器包括以下一种或多种模式:正常工作模式、低功耗工作模式、调试器模式、资源升级模式。从而第一处理器可以在不同模式上进行切换或者并行,以实现不同功能的复用,来解决对第二处理器的调试、资源升级等控制。
基于SWD通信的优越性,将其应用在电子设备的第一处理器和第二处理器的通信上可以提升通信效率,特别是应用于调试、资源升级等应用场景时,更能体现其优势。
可选地,所述目标应用程序为调试器程序,上述步骤101中,所述第一处理器运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制,可包括以下步骤:
11、当所述第一处理器检测到启动调试器指令时,所述第一处理器运行所述调试器程序,并通过所述SWD通信协议对所述第二处理器进行调试。
具体实施中,电子设备可通过设置物理按键或者触摸显示屏上的虚拟按键,然后接收用户通过该物理按键或者触摸显示屏上的虚拟按键触发的启动调试器指令。物理按键与第一处理器连接,触摸显示屏与第一处理器连接,从而,第一处理器在检测到启动调试器指令时,可将电子设备设置为调试模式,运行调试器程序,并通过SWD通信协议对第二处理器进行调试,从而,可通过SWD通信协议实现第一处理器对第二处理器进行调试。
可选地,所述电子设备还包括触摸显示屏和物理按键,所述方法还包括:
通过所述触摸显示屏接收触控指令,若所述触控指令为启动调试器指令,根据所述启动调试指令将所述电子设备设置为调试器模式;或者,
通过所述物理按键接收按压指令,根据所述按压指令为启动调试器指令,将所述电子设备设置为所述调试器模式。
请参阅图1C,图1C为本申请实施例提供的一种设置调试器模式的演示示意图,其中,电子设备可包括触摸显示屏和按键,用户可通过操作触摸屏设置调试器模式,从而,第一处理器通过所述触摸显示屏接收触控指令,根据触控指令将电子设备设置为调试器模式。或者,用户还可通过电子设备上的按键设置调试器模式,从而,第一处理器可通过按键接收按压指令,根据按压指令将第一处理器设置为调试器模式。在进入调试器模式后,第一处理器可对第二处理器进行调试。可选地,上述步骤11中,通过所述SWD通信协议对所述第二处理器进行调试,可包括以下步骤:
1101、所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第一数据;
1102、所述第一处理器根据所述第一数据对所述第二处理器进行第一调试;或者,
1103、所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据;
1104、所述第一处理器将所述第二数据发送给与所述第一处理器连接的外部设备以对所述第二处理器进行第二调试;或者,
1105、所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第三数据和第四数据;
1106、所述第一处理器根据所述第三数据对所述第二处理器进行第三调试并将所述第四数据发送给与所述第一处理器连接的所述外部设备以对所述第二处理器进行第四调试。
在第一处理器通过SWD通信协议对第二处理器进行调试的过程中,可以直接通过第一处理器上的***进行调试,比如安卓***,具体地,由第一处理器通过SWD通信协议从第二处理器读取第二处理器的第一数据;第一处理器根据第一数据对第二处理器进行第一调试,其中,第一调试可以是对第一数据进行解析等处理。本实施方式下,第一处理器可以单独进行第一调试,例如第一处理器运行的是安卓***,通过开启调试器应用程序对第二处理器进行调试,并可以在第一处理器控制的显示设备上进行显示,从而无需利用外部设备,如个人计算机(personal computer,PC)等,拓展了第一处理器的功能,极大的提升了调试的便捷性。
或者,也可以直接通过与电子设备连接的外部设备来完成调试,第一处理器仅作为读取等中转设备,具体地,由第一处理器通过SWD通信协议从第二处理器读取第二处理器的第二数据;第一处理器将第二数据发送给与第一处理器连接的外部设备以对第二处理器进行第二调试,其中,第二调试可以是对第二数据进行解析等处理,所述外部设备可以是PC等。而本方案,通过第一处理器读取第二处理器的数据,再由PC/电脑端来进行调试,通过拓展第一处理器的功能,节省了外部调试器,又利用电脑等运算和显示功能更强大的设备来进行解析和显示等,提升了调试的效率和便捷性。
又或者,可以一部分调试在电子设备上进行,一部分调试在与电子设备连接的外部设备上进行,具体地,由第一处理器通过SWD通信协议从第二处理器读取第二处理器的第三数据和第四数据;第一处理器根据第三数据对第二处理器进行第三调试,并将第四数据发送给与第一处理器连接的外部设备以对第二处理器进行第四调试,其中,第三调试可以是对第三数据进行解析等处理,其中,第四调试可以是对第四数据进行解析等处理。在一些调试中,可以根据调试需求来选择在PC端一些运算量较大的处理,用第一处理器来进行运算量较小的处理,从而方便在两端进行操作,进一步的可以在PC和第一处理器控制的显示屏上进行调试过程、结果的显示,使得调试方式更为灵活。
可选地,上述步骤11中,所述第一处理器运行所述调试器程序,可包括以下步骤:
1107、当所述第一处理器中存储有所述DAPLink固件时,所述第一处理器运行所述DAPLink固件;或者,
1108、当所述第一处理器中未存储有DAPLink固件时,所述第一处理器从所述电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行所述DAPLink固件。
其中,若与第一处理器中包括DAPLink固件,第一处理器可以运行所述DAPLink固件,如图1D所示,为图1D为电子设备中第一处理器运行DAPLink固件的演示示意图。
若第一处理器中未存储有DAPLink固件,第一处理器可以从电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行DAPLink固件,如图1E所示,为图1E为从电子设备的外部存储器中调取DAPLink固件的演示示意图。
可选地,所述第一处理器与外部设备之间进行连接;上述步骤1103之前,所述方法还可包括以下步骤:
A1、将所述DAPLink固件的驱动状态发送至所述外部设备;
A2、接收所述外部设备发送的第一读取命令,所述第一读取命令是由所述外部设备根据所述驱动状态确定所述DAPLink固件运行正常时发送的。
进一步的,所述步骤1103中,所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据,包括:
A3、根据所述第一读取命令所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据。
具体实施中,电子设备在调试模式下,第一处理器运行DAPLink固件时,第一处理器可以将DAPLink固件的驱动状态发送至外部设备,进而,外部设备可以开启编译调试器,通过编译调试器向电子设备发送第一读取命令,从而,第一处理器可响应于第一读取指令,通过SWD通信协议从第二处理器读取第二处理器的第二数据。需要说明的是,在连接外部设备的情况下,外部设备和第一处理器都可以向第二处理器发送调试命令、读取命令或者写入命令等,均通过SWD通信协议由第一处理器传输给第二处理器。
可选地,当所述第一处理器与外部设备连接时,若所述第二处理器处于死机状态,所述方法还可包括以下步骤:
B1、所述第一处理器接收所述外部设备通过所述编译调试器发送所述第二处理器对应的elf文件;
B2、所述第一处理器将所述elf文件加载到所述第二处理器中,以获得所述第二处理器的第五数据;
B3、所述第一处理器将所述第五数据发送至所述外部设备,所述第五数据用于所述外部设备的编译调试器对所述第二处理器的死机状态进行第五调试。
其中,所述第五数据可以为所述第二处理器的死机现场的数据,例如可包括寄存器的值和第二处理器RAM中的部分或全部数据。
其中,若第二处理器处于死机状态,外部设备可将第二处理器对应的elf文件,通过编译调试器发送至第一处理器,第一处理器将elf文件发送到第二处理器中,进而第一处理器可获取第二处理器在死机状态下的第五数据,进而将第五数据发送至外部设备的编译调试器,由编译调试器对第二处理器进行调试,得到调试结果。
可选地,所述电子设备还包括显示屏,所述方法还可包括以下步骤:
所述第一处理器控制所述显示屏显示以下任意一组数据:
所述第一数据或基于所述第一数据的调试结果;
所述第二数据或基于所述第二数据的调试结果;
所述第三数据、所述第四数据、基于所述第三数据的调试结果或基于所述第四数据的调试结果;
所述第五数据或基于所述第五数据的调试结果。
具体实施中,第一处理器可在通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第一数据之后,控制显示屏对第一数据进行显示,还可以在第一处理器根据第一数据对第二处理器进行第一调试之后,控制显示屏对基于第一数据的调试结果进行显示。
或者,第一处理器可在通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据之后,控制显示屏对第二数据进行显示,还可以在与所述第一处理器连接的外部设备对所述第二处理器进行第二调试之后,接收外部设备发送的基于第二数据的调试结果,并控制显示屏对基于第二数据的调试结果进行显示。
又或者,第一处理器可在通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第三数据和第四数据之后,控制显示屏对第三数据或者第四数据进行显示,还可以在第一处理器根据所述第三数据对所述第二处理器进行第三调试之后,控制显示屏对基于第三数据的调试结果进行显示,以及,在与所述第一处理器连接的外部设备对所述第二处理器进行第四调试之后,接收外部设备发送的基于第四数据的调试结果,并控制显示屏对基于第四数据的调试结果进行显示。
又或者,若第二处理器处于死机状态,第一处理器可在得到第二处理器的第五数据后,控制显示屏对第五数据进行显示,还可以外部设备的编译调试器对所述第二处理器的死机状态进行第五调试之后,接收外部设备发送的第五数据的调试结果,并控制显示屏将基于第五数据的调试结果进行显示。
可选地,所述目标应用程序为资源升级程序,上述步骤101中,所述第一处理器运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制,可包括以下步骤:
12、当所述第一处理器检测到启动升级指令时,所述第一处理器运行所述资源升级程序,并通过所述SWD通信协议对所述第二处理器进行升级。
具体实施中,当所述第一处理器检测到启动升级指令时,第一处理器可设置电子设备设置进入升级模式,然后第一处理器运行资源升级程序,并通过所述SWD通信协议对所述第二处理器进行升级。
具体地,第一处理器可确定待更新资源,以及获取待更新资源的更新数据;然后,第一处理器向第二处理器发送待更新资源和更新数据,以及向第二处理器发送控制命令集,所述控制命令集用于指示所述第二处理器更新数据对待更新资源进行升级。
其中,待更新资源可以包括以下至少一种:第二处理器中的内部闪存flash,还可包括与第二处理器连接的固件和非易失闪存norflash,固件例如为TP固件、GPS定位模块固件等,此处不作具体限定。
其中,控制命令集可包括初始化命令、写命令和校验命令,所述初始化命令用于指示第二处理器运行bin文件,进行初始化,并进入下载模式;写命令用于指示第二处理器在所述下载模式下,运行bin文件,将待更新资源的更新数据写入第二处理器的内部存储器中;校验命令用于指示第二处理器运行bin文件,对更新数据进行校验,以确保写入第二处理器的内部存储器中的更新数据写入正确无误。
可以看出,在本申请实施例中的处理器通信控制方法,应用于电子设备,电子设备包括第一处理器和第二处理器,第一处理器与第二处理器连接,并能够通过串行调试SWD协议通信,第一处理器运行目标应用程序,并通过串行调试SWD通信协议对第二处理器进行控制,具体地,对第二处理器进行调试或者资源升级,从而,可实现第一处理器通过SWD通信协议对第二处理器进行控制,提升在同一个电子设备中两个处理器之间的通信便捷性,同时,能够通过第一处理器对第二处理器进行调试或升级等控制,从而节省了一部分外部调试、资源升级设备,方便进行调试或资源升级。
请参阅图2,图2是本申请实施例提供的另一种处理器通信控制方法的流程示意图,应用于电子设备,所述电子设备包括第一处理器和第二处理器,所述第一处理器与所述第二处理器连接,并能够通过串行调试SWD协议通信;本处理器通信控制方法包括:
201、当所述第一处理器检测到启动调试器指令时,若所述第一处理器中存储有DAPLink固件,所述第一处理器运行所述DAPLink固件;若所述第一处理器中未存储有DAPLink固件,所述第一处理器从所述电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行所述DAPLink固件。
其中,第一处理器在检测到启动调试器指令时,可将电子设备设置为调试模式,在调试模式下,若与第一处理器中包括DAPLink固件,第一处理器可以运行DAPLink固件。若第一处理器中未存储有DAPLink固件,第一处理器可以从电子设备的外部存储器中调取或从网络中加载DAPLink固件,并运行DAPLink固件。
202、所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第一数据。
203、所述第一处理器根据所述第一数据对所述第二处理器进行第一调试。
204、所述第一处理器控制所述显示屏显示所述第一数据或基于所述第一数据的调试结果。
其中,上述步骤202-204的具体实现过程可参照步骤101中相应的描述,在此不再赘述。
可以看出,在本申请实施例中的处理器通信控制方法,可在第一处理器通过SWD通信协议对第二处理器进行调试的过程中,可以直接通过第一处理器上的***进行调试,由第一处理器通过SWD通信协议从第二处理器读取第二处理器的第一数据;第一处理器根据第一数据对第二处理器进行第一调试,其中,第一调试可以是对第一数据进行解析处理,从而实现第一处理器通过SWD通信协议对第二处理器进行调试,节省了一部分外部调试设备,方便进行调试或资源升级。
请参阅图3A,图3A为本申请实施例提供的一种用于实施处理器通信控制方法的通信控制***的结构示意图,通信控制***包括电子设备和外部设备,其中,电子设备包括第一处理器和第二处理器,所述第一处理器与所述第二处理器连接,并能够通过串行调试SWD协议通信,第一处理器与外部设备连接。
其中,第一处理器与外部设备之间可通过USB连接。
请参阅图3B,图3B为本申请实施例提供的另一种处理器通信控制方法的流程示意图,应用于电子设备,所述电子设备的第一处理器与外部设备连接,所述电子设备还包括第二处理器,所述第一处理器与所述第二处理器能够通过串行调试SWD协议通信;所述方法包括:
301、当所述第一处理器检测到启动调试器指令时,若所述第一处理器中存储有所述DAPLink固件,所述第一处理器运行所述DAPLink固件;若所述第一处理器中未存储有DAPLink固件,所述第一处理器从所述电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行所述DAPLink固件。
302、所述第一处理器将所述DAPLink固件的驱动状态发送至所述外部设备。
303、所述第一处理器接收所述外部设备发送的第一读取命令,所述第一读取命令是由所述外部设备根据所述驱动状态确定所述DAPLink固件运行正常时发送的。
304、响应于所述第一读取命令,所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据。
305、所述第一处理器将所述第二数据发送给与所述第一处理器连接的外部设备以对所述第二处理器进行第二调试。
306、所述第一处理器控制所述显示屏显示所述第二数据或基于所述第二数据的调试结果。
其中,上述步骤301-306的具体实现过程可参照步骤101中相应的描述,在此不再赘述。
可以看出,本申请实施例中,通过与电子设备连接的外部设备来完成调试,第一处理器仅作为读取中转设备,由第一处理器通过SWD通信协议从第二处理器读取第二处理器的第二数据;第一处理器将第二数据发送给与第一处理器连接的外部设备以对第二处理器进行第二调试,其中,第二调试可以是对第二数据进行解析处理等,从而实现第一处理器通过SWD通信协议对第二处理器进行调试。
与上述图1B、图2或图3B所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种电子设备的结构示意图,所述电子设备包括第一处理器、第二处理器、存储器、通信接口,以及一个或多个程序,所述处理器包括处理器,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,上述程序包括用于执行以下步骤的指令:
运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制。
在一个可能的示例中,所述目标应用程序为调试器程序,在所述运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制方面,上述程序包括具体用于执行以下步骤的指令:
当检测到启动调试器指令时,运行所述调试器程序,并通过所述SWD通信协议对所述第二处理器进行调试。
在一个可能的示例中,在所述通过所述SWD通信协议对所述第二处理器进行调试方面,上述程序还包括用于执行以下步骤的指令:
通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第一数据;
根据所述第一数据对所述第二处理器进行第一调试;或者,
通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据;
将所述第二数据发送给与所述第一处理器连接的外部设备以对所述第二处理器进行第二调试;或者,
通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第三数据和第四数据;
根据所述第三数据对所述第二处理器进行第三调试并将所述第四数据发送给与所述第一处理器连接的所述外部设备以对所述第二处理器进行第四调试。
在一个可能的示例中,所述调试器程序为DAPLink固件,在所述运行所述调试器程序方面,上述程序包括用于执行以下步骤的指令:
当所述第一处理器中存储有所述DAPLink固件时,运行所述DAPLink固件;或者,当中未存储有DAPLink固件时,从所述电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行所述DAPLink固件。
在一个可能的示例中,所述第一处理器与外部设备之间进行连接;在所述通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据之前,上述程序还包括用于执行以下步骤的指令:
将所述DAPLink固件的驱动状态发送至所述外部设备;
接收所述外部设备发送的第一读取命令,所述第一读取命令是由所述外部设备根据所述驱动状态确定所述DAPLink固件运行正常时发送的;
在所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据方面,上述程序包括用于执行以下步骤的指令:
所述第一处理器根据所述第一读取命令通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据。
在一个可能的示例中,当所述第一处理器与外部设备连接时,若所述第二处理器处于死机状态,上述程序还包括用于执行以下步骤的指令:
接收所述外部设备通过所述编译调试器发送所述第二处理器对应的elf文件;
将所述elf文件加载到所述第二处理器中,以获得所述第二处理器的第五数据;
将所述第五数据发送至所述外部设备,所述第五数据用于所述外部设备的编译调试器对所述第二处理器的死机状态进行第五调试。
在一个可能的示例中,所述电子设备还包括显示屏,上述程序还包括用于执行以下步骤的指令:
控制所述显示屏显示以下任意一组数据:
所述第一数据或基于所述第一数据的调试结果;
所述第二数据或基于所述第二数据的调试结果;
所述第三数据、所述第四数据、基于所述第三数据的调试结果或基于所述第四数据的调试结果;
所述第五数据或基于所述第五数据的调试结果。
在一个可能的示例中,所述目标应用程序为资源升级程序,在所述运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制方面,上述程序包括用于执行以下步骤的指令:
当所述第一处理器检测到启动升级指令时,所述第一处理器运行所述资源升级程序,并通过所述SWD通信协议对所述第二处理器进行升级。
在一个可能的示例中,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器包括以下一种或多种模式:正常工作模式、低功耗工作模式、调试器模式、资源升级模式。
本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。请参阅图5,图5是本申请实施例提供的一种处理器通信控制装置,所述处理器通信控制装置包括第一处理单元501和第二处理单元502,所述第一处理单元与所述第二处理单元连接,并能够通过SWD协议通信,其中,
所述第一处理单元501,用于运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理单元进行控制。
可选地,所述目标应用程序为调试器程序,在所述运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理单元进行控制方面,所述第一处理单元501具体用于:
当检测到启动调试器指令时,运行所述调试器程序,并通过所述SWD通信协议对所述第二处理单元进行调试。
可选地,在所述通过所述SWD通信协议对所述第二处理单元进行调试方面,所述第一处理单元501具体用于:
通过所述SWD通信协议从所述第二处理单元读取所述第二处理单元的第一数据;
根据所述第一数据对所述第二处理单元进行第一调试;或者,
通过所述SWD通信协议从所述第二处理单元读取所述第二处理单元的第二数据;
将所述第二数据发送给与所述第一处理单元连接的外部设备以对所述第二处理单元进行第二调试;或者,
通过所述SWD通信协议从所述第二处理单元读取所述第二处理单元的第三数据和第四数据;
根据所述第三数据对所述第二处理单元进行第三调试并将所述第四数据发送给与所述第一处理单元连接的所述外部设备以对所述第二处理单元进行第四调试。
可选地,所述调试器程序为DAPLink固件,在所述运行所述调试器程序方面,所述第一处理单元501具体用于:
当所述第一处理单元中存储有所述DAPLink固件时,运行所述DAPLink固件;或者,当中未存储有DAPLink固件时,从所述电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行所述DAPLink固件。
可选地,所述第一处理单元与外部设备之间进行连接;在所述通过所述SWD通信协议从所述第二处理单元读取所述第二处理单元的第二数据之前,所述第一处理单元501还用于:
将所述DAPLink固件的驱动状态发送至所述外部设备;
接收所述外部设备发送的第一读取命令,所述第一读取命令是由所述外部设备根据所述驱动状态确定所述DAPLink固件运行正常时发送的;
在所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据方面,所述第一处理单元501具体用于:
所述第一处理器根据所述第一读取命令通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据。
可选地,当所述第一处理单元与外部设备连接时,若所述第二处理单元处于死机状态,所述第一处理单元501还用于:
接收所述外部设备通过所述编译调试器发送所述第二处理单元对应的elf文件;
将所述elf文件加载到所述第二处理单元中,以得到所述第二处理单元的第五数据;
将所述第五数据发送至所述外部设备,所述第五数据用于所述外部设备的编译调试器对所述第二处理单元的死机状态进行第五调试。
可选地,所述电子设备还包括显示屏,所述第一处理单元501还用于:
控制所述显示屏显示以下任意一组数据:
所述第一数据或基于所述第一数据的调试结果;
所述第二数据或基于所述第二数据的调试结果;
所述第三数据、所述第四数据、基于所述第三数据的调试结果或基于所述第四数据的调试结果;
所述第五数据或基于所述第五数据的调试结果。
可选地,所述目标应用程序为资源升级程序,在所述运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理单元进行控制方面,所述第一处理单元501具体用于:
当所述第一处理单元检测到启动升级指令时,所述第一处理单元运行所述资源升级程序,并通过所述SWD通信协议对所述第二处理单元进行升级。
可选地,,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器包括以下一种或多种模式:正常工作模式、低功耗工作模式、调试器模式、资源升级模式。
可以看出,本申请实施例中的处理器通信控制装置,第一处理单元运行目标应用程序,并通过串行调试SWD通信协议对第二处理单元进行控制,具体地,对第二处理器进行调试或者资源升级,从而,可实现第一处理器通过SWD通信协议对第二处理器进行控制,提升在同一个电子设备中两个处理器之间的通信便捷性,同时,能够通过第一处理器对第二处理器进行调试或升级等控制,从而节省了一部分外部调试、资源升级设备,方便进行调试或资源升级。
请参阅图6,图6是本申请实施例提供的一种智能手表,包括第一处理器和第二处理器,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器和所述第二处理器连接,并能够通过串行调试SWD协议通信,其中,
所述第一处理器,用于运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制,所述目标应用程序包括以下一种或多种:调试器程序、资源升级程序。
可选地,所述目标应用程序为调试器程序,在所述运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制方面,所述第一处理器具体用于:
当检测到启动调试器指令时,运行所述调试器程序,并通过所述SWD通信协议对所述第二处理器进行调试。
可选地,在所述通过所述SWD通信协议对所述第二处理器进行调试方面,所述第一处理器具体用于:
通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第一数据;
根据所述第一数据对所述第二处理器进行第一调试;或者,
通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据;
将所述第二数据发送给与所述第一处理器连接的外部设备以对所述第二处理器进行第二调试;或者,
通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第三数据和第四数据;
根据所述第三数据对所述第二处理器进行第三调试并将所述第四数据发送给与所述第一处理器连接的所述外部设备以对所述第二处理器进行第四调试。
可选地,所述调试器程序为DAPLink固件,在所述运行所述调试器程序方面,所述第一处理器具体用于:
当所述第一处理器中存储有所述DAPLink固件时,运行所述DAPLink固件;或者,当中未存储有DAPLink固件时,从所述电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行所述DAPLink固件。
可选地,所述第一处理器与外部设备之间进行连接;在所述通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据之前,所述第一处理器还用于:
将所述DAPLink固件的驱动状态发送至所述外部设备;
接收所述外部设备发送的第一读取命令,所述第一读取命令是由所述外部设备根据所述驱动状态确定所述DAPLink固件运行正常时发送的;
在所述第一处理器通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据方面,所述第一处理器具体用于:
所述第一处理器根据所述第一读取命令通过所述SWD通信协议从所述第二处理器读取所述第二处理器的第二数据。
可选地,当所述第一处理器与外部设备连接时,若所述第二处理器处于死机状态,所述第一处理器还用于:
接收所述外部设备通过所述编译调试器发送所述第二处理器对应的elf文件;
将所述elf文件加载到所述第二处理器中,以得到所述第二处理器的第五数据;
将所述第五数据发送至所述外部设备,所述第五数据用于所述外部设备的编译调试器对所述第二处理器的死机状态进行第五调试。
可选地,所述电子设备还包括显示屏,所述第一处理器还用于:
控制所述显示屏显示以下任意一组数据:
所述第一数据或基于所述第一数据的调试结果;
所述第二数据或基于所述第二数据的调试结果;
所述第三数据、所述第四数据、基于所述第三数据的调试结果或基于所述第四数据的调试结果;
所述第五数据或基于所述第五数据的调试结果。
可选地,所述目标应用程序为资源升级程序,在所述运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制方面,所述第一处理器具体用于:
当所述第一处理器检测到启动升级指令时,所述第一处理器运行所述资源升级程序,并通过所述SWD通信协议对所述第二处理器进行升级。
可选地,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器包括以下一种或多种模式:正常工作模式、低功耗工作模式、调试器模式、资源升级模式。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:内部闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种处理器通信控制方法,其特征在于,应用于电子设备,所述电子设备包括第一处理器和第二处理器,所述第一处理器与所述第二处理器连接,并能够通过串行调试SWD通信协议通信,所述方法包括:
所述第一处理器运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制,所述目标应用程序为调试器程序,包括:当所述第一处理器检测到启动调试器指令时,所述第一处理器运行所述调试器程序,并通过所述串行调试SWD通信协议对所述第二处理器进行调试;
当所述第一处理器与外部设备连接时,若所述第二处理器处于死机状态,所述方法还包括:所述第一处理器接收所述外部设备通过编译调试器发送所述第二处理器对应的elf文件,所述第一处理器将所述elf文件加载到所述第二处理器中,以获得所述第二处理器的第五数据,所述第一处理器将所述第五数据发送至所述外部设备,所述第五数据用于所述外部设备的编译调试器对所述第二处理器的死机状态进行第五调试。
2.根据权利要求1所述的处理器通信控制方法,其特征在于,所述通过所述串行调试SWD通信协议对所述第二处理器进行调试,包括:
所述第一处理器通过所述串行调试SWD通信协议从所述第二处理器读取所述第二处理器的第一数据;
所述第一处理器根据所述第一数据对所述第二处理器进行第一调试;或者,
所述第一处理器通过所述串行调试SWD通信协议从所述第二处理器读取所述第二处理器的第二数据;
所述第一处理器将所述第二数据发送给与所述第一处理器连接的外部设备以对所述第二处理器进行第二调试;或者,
所述第一处理器通过所述串行调试SWD通信协议从所述第二处理器读取所述第二处理器的第三数据和第四数据;
所述第一处理器根据所述第三数据对所述第二处理器进行第三调试并将所述第四数据发送给与所述第一处理器连接的所述外部设备以对所述第二处理器进行第四调试。
3.根据权利要求2所述的处理器通信控制方法,其特征在于,所述调试器程序为DAPLink固件,所述第一处理器运行所述调试器程序,包括:
当所述第一处理器中存储有所述DAPLink固件时,所述第一处理器运行所述DAPLink固件;或者,当所述第一处理器中未存储有DAPLink固件时,所述第一处理器从所述电子设备的外部存储器中调取或从网络中加载所述DAPLink固件,并运行所述DAPLink固件。
4.根据权利要求3所述的处理器通信控制方法,其特征在于,所述第一处理器与外部设备之间进行连接;在所述第一处理器通过所述串行调试SWD通信协议从所述第二处理器读取所述第二处理器的第二数据之前,所述方法还包括:
将所述DAPLink固件的驱动状态发送至所述外部设备;
接收所述外部设备发送的第一读取命令,所述第一读取命令是由所述外部设备根据所述驱动状态确定所述DAPLink固件运行正常时发送的;
所述第一处理器通过所述串行调试SWD通信协议从所述第二处理器读取所述第二处理器的第二数据,包括:
所述第一处理器根据所述第一读取命令通过所述串行调试SWD通信协议从所述第二处理器读取所述第二处理器的第二数据。
5.根据权利要求2或4所述的处理器通信控制方法,所述电子设备还包括显示屏,其特征在于,所述方法还包括:
所述第一处理器控制所述显示屏显示以下任意一组数据:
所述第一数据或基于所述第一数据的调试结果;
所述第二数据或基于所述第二数据的调试结果;
所述第三数据、所述第四数据、基于所述第三数据的调试结果或基于所述第四数据的调试结果;
所述第五数据或基于所述第五数据的调试结果。
6.根据权利要求1所述的处理器通信控制方法,其特征在于,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器包括以下一种或多种模式:正常工作模式、低功耗工作模式、调试器模式、资源升级模式。
7.一种处理器通信控制装置,其特征在于,所述处理器通信控制装置包括第一处理单元和第二处理单元,所述第一处理单元与所述第二处理单元连接,并能够通过串行调试SWD通信协议通信,其中,
所述第一处理单元,用于运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理单元进行控制,所述目标应用程序为调试器程序,包括:当检测到启动调试器指令时,运行所述调试器程序,并通过所述串行调试SWD通信协议对所述第二处理单元进行调试;
当所述第一处理单元与外部设备连接时,若所述第二处理单元处于死机状态,所述第一处理单元用于:接收所述外部设备通过编译调试器发送所述第二处理单元对应的elf文件,将所述elf文件加载到所述第二处理单元中,以得到所述第二处理单元的第五数据,将所述第五数据发送至所述外部设备,所述第五数据用于所述外部设备的编译调试器对所述第二处理单元的死机状态进行第五调试。
8.一种智能手表,其特征在于,包括显示屏、第一处理器和第二处理器,所述第一处理器为多模式处理器,所述第二处理器为低功耗处理器,所述第一处理器和所述第二处理器连接,并能够通过串行调试SWD通信协议通信,其中,
所述第一处理器,用于运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制;
所述目标应用程序为调试器程序,在所述运行目标应用程序,并通过所述串行调试SWD通信协议对所述第二处理器进行控制方面,所述第一处理器具体用于:当检测到启动调试器指令时,运行所述调试器程序,并通过所述串行调试SWD通信协议对所述第二处理器进行调试;
当所述第一处理器与外部设备连接时,若所述第二处理器处于死机状态,所述第一处理器用于:接收所述外部设备通过编译调试器发送所述第二处理器对应的elf文件,将所述elf文件加载到所述第二处理器中,以得到所述第二处理器的第五数据,将所述第五数据发送至所述外部设备,所述第五数据用于所述外部设备的编译调试器对所述第二处理器的死机状态进行第五调试。
9.一种电子设备,其特征在于,包括第一处理器、第二处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行,以实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010152921.5A CN113360440B (zh) | 2020-03-06 | 2020-03-06 | 处理器通信控制方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010152921.5A CN113360440B (zh) | 2020-03-06 | 2020-03-06 | 处理器通信控制方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360440A CN113360440A (zh) | 2021-09-07 |
CN113360440B true CN113360440B (zh) | 2024-06-21 |
Family
ID=77524089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010152921.5A Active CN113360440B (zh) | 2020-03-06 | 2020-03-06 | 处理器通信控制方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360440B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12038801B2 (en) | 2022-12-14 | 2024-07-16 | Stmicroelectronics International N.V. | Supply current consumption acquisition synchronized with debug data trace |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528213A (zh) * | 2016-10-31 | 2017-03-22 | 中冶华天南京工程技术有限公司 | 嵌入式终端设备固件升级方法及*** |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930395A (zh) * | 2009-06-18 | 2010-12-29 | 炬才微电子(深圳)有限公司 | 一种交叉调试***、方法及调试器 |
US9405604B2 (en) * | 2014-04-15 | 2016-08-02 | Apple Inc. | Method and apparatus for connecting debug interface to processing circuits without sideband interface |
FR3021137B1 (fr) * | 2014-05-19 | 2016-07-01 | Keolabs | Dispositif d'interface utilisateur |
JP2017091456A (ja) * | 2015-11-17 | 2017-05-25 | 富士通株式会社 | 制御装置、制御プログラムおよび制御方法 |
US20170147422A1 (en) * | 2015-11-23 | 2017-05-25 | Alcatel-Lucent Canada, Inc. | External software fault detection system for distributed multi-cpu architecture |
CN105472083B (zh) * | 2015-12-08 | 2018-09-04 | 北京奇虎科技有限公司 | 无线终端的测试方法及*** |
CN109189429A (zh) * | 2018-09-11 | 2019-01-11 | 武汉正维电子技术有限公司 | 双核处理器amp模式下cpu0更新cpu1程序的方法 |
CN109710479B (zh) * | 2018-12-30 | 2021-05-18 | 联想(北京)有限公司 | 一种处理方法及第一设备、第二设备 |
CN110113323A (zh) * | 2019-04-20 | 2019-08-09 | 深圳瀚星翔科技有限公司 | 一种通信方法、电子设备及计算机可读存储介质 |
CN110377141B (zh) * | 2019-07-19 | 2021-04-13 | Oppo广东移动通信有限公司 | 应用处理方法、装置、电子设备以及存储介质 |
CN110475020B (zh) * | 2019-08-05 | 2021-09-24 | Oppo广东移动通信有限公司 | 设备控制方法及相关产品 |
-
2020
- 2020-03-06 CN CN202010152921.5A patent/CN113360440B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528213A (zh) * | 2016-10-31 | 2017-03-22 | 中冶华天南京工程技术有限公司 | 嵌入式终端设备固件升级方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113360440A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7669186B2 (en) | Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents | |
CN101344899B (zh) | 一种片上***的仿真测试方法及仿真测试*** | |
CN101706750B (zh) | 一种基于嵌入式模拟器的测试桩获取方法 | |
US11250193B1 (en) | Productivity platform using system-on-chip with programmable circuitry | |
CN102917242A (zh) | 一种多格式视频解码器的测试***和测试方法 | |
CN103345406A (zh) | 一种实现智能移动终端的云端虚拟移动终端的***和方法 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN104503898A (zh) | 一种嵌入式软件调试参数实时查看的方法及*** | |
CN113657069B (zh) | 片上***soc仿真验证方法、装置、验证服务器及存储介质 | |
CN103761129A (zh) | 一种在Bootloader层实现SDIO接口驱动的方法 | |
CN113360440B (zh) | 处理器通信控制方法及相关产品 | |
CN102346456B (zh) | 可编程智能终端运行方法 | |
US10430200B2 (en) | Slave processor within a system-on-chip | |
Borycki | Programming for the Internet of Things: Using Windows 10 IoT Core and Azure IoT Suite | |
US10474610B1 (en) | Hardware trace and introspection for productivity platform using a system-on-chip | |
CN202083931U (zh) | 一种可编程智能终端装置 | |
CN204680000U (zh) | 一种dsp程序代码无线更新器 | |
Cohen et al. | Android Application Development for the Intel Platform | |
CN105068835A (zh) | 移动终端及其调试信息显示方法 | |
JP2013020425A (ja) | オープンソースソフトウェアを利用したハードウェア・ソフトウェア協調検証方法 | |
CN101308648B (zh) | 自动化测试显示装置的方法及其*** | |
Mattoo et al. | Internet of Things: A progressive case study | |
JP5979709B2 (ja) | エミュレーション装置、エミュレーション方法、プログラム、および組み込み機器の開発支援システム | |
CN117130931A (zh) | 一种嵌入式软件调试方法及装置 | |
Peter et al. | A bare machine sensor application for an ARM processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |