一种基于SWD协议的芯片运行交互方法及通信系统与流程

文档序号:21817959发布日期:2020-08-11 21:31阅读:916来源:国知局
一种基于SWD协议的芯片运行交互方法及通信系统与流程

本发明涉及电子电路的运行控制技术领域,具体涉及一种基于swd协议的芯片运行交互方法及通信系统。



背景技术:

arm公司在经典处理器arm11以后的产品改用cortex命名,并分成a、r和m三类,旨在为各种不同的市场提供服务。armcortextm-a系列应用型处理器可向托管丰富os平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视和机顶盒到企业网络、打印机和服务器解决方案。armcortex-r系列应用型处理器能够实时处理器为要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。armcortextm-m系列应用型处理器是一系列可向上兼容的高能效、易于使用的处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要。这些需要包括以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。

cortex系列芯片虽然处理能力强大,但cortex芯片在处理自己的事务的过程中如果再接收数据,就会产生额外的开销,会明显影响上位机和cortex芯片之间正常的交互。



技术实现要素:

本发明旨在提供一种基于swd协议的芯片运行交互方法,该机制能够实现cortex系列芯片在处理自己的事务的过程中能够同时接收数据,不会因为接收数据产生任何额外的开销,能够确保数据传输的完整性,简化上位机与芯片的运行交互过程。本发明由以下技术方案实现:

一种基于swd协议的芯片运行交互机制,其特征在于:

上位机端执行的步骤包括:

(1)初始化swd总线;

(2)取出要发送给cortex芯片的命令;

(3)通过swd总线发送命令,包括:

(3-1)往cortex芯片中预设地址a发送写入长度和命令数据内容;

(3-2)往cortex芯片中预设地址b发送命令码;

(4)等待cortex芯片处理命令完毕,读取cortex芯片中预设地址c中保存的ack响应内容;

(5)重复步(2)至步骤(4),直到上位机所有命令发送完毕;

cortex芯片端执行的步骤包括:

①cortex芯片初始化;

②读取预设地址b中的命令码;

③读取预设地址a中的长度,并且读取对应长度数据;

④根据步骤②、③读取的数据,组成完整的命令,并且执行对应的命令;

⑤执行命令完毕,清除预设地址b中的命令码,以便接收下一个命令;

⑥往预设地址c写入ack响应内容;

⑦重复执行步骤②-步骤⑥。

作为具体的技术方案,所述步骤(4)中,如果未能读取cortex芯片中预设地址c中的ack响应内容,则反复进行读取,,直至读取到ack响应内容。

作为具体的技术方案,所述步骤②中,如果未能在cortex芯片中预设地址b中读取到命令码,则反复进行读取,直至读取到命令码。

本发明还提供一种通信系统,包括上位机和cortex芯片,其特征在于:所述上位机和cortex芯片配合执行上述基于swd协议的芯片运行交互方法。

本发明的有益效果在于:通过在cortex芯片内预设地址a、地址b、地址c及相应的存储空间,同时采用特定的命令交互方式,保证了上位机与cortex芯片运行交互正常,实现cortex芯片在处理自己的事务的过程中能够同时接收数据,不会因为接收数据产生任何额外的开销,能够确保数据传输的完整性,简化上位机与芯片的运行交互过程。

附图说明

图1为本发明实施例提供的基于swd协议的芯片运行交互机制的流程图。

具体实施方式

本实施例提供的通信系统,上位机与cortex芯片通过swd协议通信,由于swd协议通信能够实现异步数据传输,所以必须采用特定的命令交互方式才能保证上位机与cortex芯片运行交互正常。

结合图1所示,本实施例提供的基于swd协议的芯片运行交互方法,预先在cortex芯片预设有地址a、地址b、地址c及相应的存储空间。下文从上位机端和cortex芯片端分别进行说明,如下:

上位机端执行的步骤包括:

(1)初始化swd总线;

(2)取出要发送给cortex芯片的命令;

(3)通过swd总线发送命令,包括:

(3-1)往cortex芯片中预设地址a发送写入长度和命令数据内容;

(3-2)往cortex芯片中预设地址b发送命令码;

(4)等待cortex芯片处理命令完毕,读取cortex芯片中预设地址c中保存的ack(acknowledgement,即确认字符)响应内容;如果未能读取cortex芯片中预设地址c中保存的ack响应内容,则反复进行读取;

(5)重复步(2)至步骤(4),直到上位机所有命令发送完毕;

cortex芯片端执行的步骤包括:

①cortex芯片初始化;

②读取预设地址b中的内容,如果读取到命令码,则执行步骤③,否则执行步骤②;

③读取预设地址a中的长度,并且读取对应长度数据;

④根据步骤②、③读取的数据,组成完整的命令,并且执行对应的命令;

⑤执行命令完毕,清除预设地址b中的命令码,以便接收下一个命令;

⑥往预设地址c写入ack响应内容;

⑦重复执行步骤②-步骤⑥。

以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、无需经过创造性劳动即可等到的等效技术特征的替换,应当视为

本技术:
揭露的范围。



技术特征:

1.一种基于swd协议的芯片运行交互方法,其特征在于:

上位机端执行的步骤包括:

(1)初始化swd总线;

(2)取出要发送给cortex芯片的命令;

(3)通过swd总线发送命令,包括:

(3-1)往cortex芯片中预设地址a发送写入长度和命令数据内容;

(3-2)往cortex芯片中预设地址b发送命令码;

(4)等待cortex芯片处理命令完毕,读取cortex芯片中预设地址c中保存的ack响应内容;

(5)重复步(2)至步骤(4),直到上位机所有命令发送完毕;

cortex芯片端执行的步骤包括:

①cortex芯片初始化;

②读取预设地址b中的命令码;

③读取预设地址a中的长度,并且读取对应长度数据;

④根据步骤②、③读取的数据,组成完整的命令,并且执行对应的命令;

⑤执行命令完毕,清除预设地址b中的命令码,以便接收下一个命令;

⑥往预设地址c写入ack响应内容;

⑦重复执行步骤②-步骤⑥。

2.根据权利要求1所述的基于swd协议的芯片运行交互方法,其特征在于,所述步骤(4)中,如果未能读取cortex芯片中预设地址c中的ack响应内容,则反复进行读取,,直至读取到ack响应内容。

3.根据权利要求1所述的基于swd协议的芯片运行交互方法,其特征在于,所述步骤②中,如果未能在cortex芯片中预设地址b中读取到命令码,则反复进行读取,直至读取到命令码。

4.一种通信系统,包括上位机和cortex芯片,其特征在于:所述上位机和cortex芯片配合执行权利要求1至3任意一项所述的基于swd协议的芯片运行交互方法。


技术总结
本发明公开一种基于SWD协议的芯片运行交互方法及通信系统,通过在CORTEX芯片内预设地址A、地址B、地址C及相应的存储空间,同时采用特定的命令交互方式,保证了上位机与CORTEX芯片运行交互正常,实现CORTEX芯片在处理自己的事务的过程中能够同时接收数据,不会因为接收数据产生任何额外的开销,能够确保数据传输的完整性,简化上位机与芯片的运行交互过程。

技术研发人员:江华彬;黄立伟;李应浪;施奕洲
受保护的技术使用者:珠海泰芯半导体有限公司
技术研发日:2020.04.16
技术公布日:2020.08.11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1