一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于以太网的DSP内部数据远程访问方法与流程

2023-02-02 02:31:58 来源:中国专利 TAG:

一种基于以太网的dsp内部数据远程访问方法
技术领域
1.本技术属于信号处理领域,特别涉及一种基于以太网的dsp内部数据远程访问方法。


背景技术:

2.基于专用仿真器对dsp内部数据访问方法需要拆除设备外围机械结构,通过jtag接口、专用仿真器和ide软件实现dsp内部数据的访问功能,在某些空间要求严格的应用场合,信号处理硬件平台外围机械结构的拆卸和仿真器设备的连接通常是受限的,另外在运动平台下,jtag口、仿真器和pc端之间信号连接的可靠性较难保证。不同厂商之间的仿真器型号之间不能通用也是制约调试灵活性的一个因素。
3.因此,需要一种灵活方便的方式实现对dsp内部数据的读取和修改,实现仿真器的功能。


技术实现要素:

4.要解决的技术问题
5.为了避免现有技术的不足之处,本发明提供一种基于以太网的dsp内部数据远程访问方法,充分利用上位机软件、.map文件、以太网和dsp设备,解决在不便接入仿真器条件下实现对dsp内部数据的通用读取和写入操作。
6.技术方案
7.一种基于以太网的dsp内部数据远程访问方法,其特征在于步骤如下:
8.步骤1:将存有dsp片外flash固化程序对应.map文件和上位机的pc端通过网线与被访问的dsp设备相连,上位机和dsp设备通过网络tcp协议进行通信;
9.步骤2:dsp设备上电,dsp从片外flash自动加载固化程序并运行,固化程序具备网络tcp协议通信功能,驻留的网络接收线程阻塞在数据接收状态,等待接收到数据后退出阻塞状态;
10.步骤3:在pc端运行上位机,上位机首先从pc端读取dsp内部固化程序对应.map文件,获取变量名在dsp内部程序中的唯一起始地址和空间占用情况,实现.map文件中所有变量名与变量起始地址的转化;
11.步骤4:在上位机中输入需要读取的变量名,从步骤3得到的所有变量名与变量起始地址一一对应关系中查找输入变量名所对应的起始地址;
12.步骤5:上位机根据步骤4获取的地址和指令生成发送命令,向dsp端发送数据读取或写入命令,数据读取命令包含三个部分:请求标识、数据读取起始地址、数据读取字节长度;数据写入命令包含四个部分:请求标识、数据写入起始地址、数据写入字节长度、写入数据;
13.步骤6:dsp端接收线程阻塞在网络接收状态,当网络接收到pc端发送命令后,对指令标识进行解析,如果收到的为写入命令,则从指令中提取出要写入数据的目的起始地址,
数据长度和待写入数据,然后利用通用内存拷贝函数将数据写入到指定地址;如果收到的为读取指令,则dsp端接收线程内将数据起始地址开始的数据通过网络分包发送给上位机。
14.所述的数据读取命令:请求标识的字符为r、请求数据起始地址为4字节、请求数据字节长度为4字节,共计9字节数据。
15.所述的数据读取命令:[

r’,0x8000_0000,128]。
[0016]
所述的数据写入命令:请求标识的字符为w、数据写入起始地址为4字节、数据写入字节长度为4字节,共计9字节数据和写入数据。
[0017]
所述的数据写入命令:[

w’,0x8000_0000,1025,xxx

xxx]。
[0018]
一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法。
[0019]
一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现上述的方法。
[0020]
有益效果
[0021]
本发明提供的一种基于以太网的dsp内部数据远程访问方法,利用dsp的ide软件编译后同时输出的可执行.out与.map两个文件的特征,使用pc端上位机和网络协议实现pc端对dsp内部数据的远程访问。本技术通过上位机联合dsp内部对应的.map文件实现对dsp内部数据的远程访问,提高系统调试灵活性。本发明可适用于ti和国产ft 6000系列dsp为核心的地面、机载、弹载、船舶嵌入式信号处理系统中。
附图说明
[0022]
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
[0023]
图1是本发明的结构框图;
[0024]
图2是本发明的一种基于以太网的dsp内部数据远程读取方法;
[0025]
图3是本发明的一种基于以太网的dsp内部数据远程写入方法。
具体实施方式
[0026]
为使本技术实施的目的、技术方案和优点更加清楚,下面将结合本技术实施方式中的附图,对本技术实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本技术的一部分实施方式,而不是全部实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。基于本技术中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本技术保护的范围。下面结合附图对本技术的实施方式进行详细说明。
[0027]
本发明的目的在于提供一种基于以太网的dsp内部数据远程访问方法,该方法利用ti和国产ft 6000系列dsp集成开发软件平台(ide),该ide是由ti提供发布的code compose studio(简称ccs)开发工具,利用ccs进行软件工程开发时,ccs编译工程输出可执行.out文件的同时会生成“工程名.map”文件,在.map文件中包含dsp程序中用到的数据、变
量和io空间的起始地址及占用情况等信息。
[0028]
ti和国产ft 6000系列的集成开发软件平台(ide)是ti提供的code compose studio(简称ccs),在利用ccs进行软件工程开发时,ccs编译工程输出.out文件的同时会生成“工程名.map”文件,在.map文件中包含dsp程序中用到的数据、变量和io空间的起始地址及占用情况等信息。
[0029]
图1为一种基于以太网的dsp内部数据远程访问方法的结构框图。pc端上位机根据输入指令组合数据读取命令或数据写入命令发送给远端dsp,同时接收来自远端dsp发送的读取数据。
[0030]
图2为本发明的第一方面提供一种基于以太网的dsp内部数据远程读取方法,包括以下步骤:
[0031]
步骤1:将存有dsp片外flash固化程序对应.map文件和上位机的pc端通过网线与被访问的dsp设备相连,上位机和dsp设备通过网络tcp协议进行通信;
[0032]
步骤2:dsp设备上电,dsp从片外flash自动加载固化程序并运行,固化程序具备网络tcp协议通信功能,驻留的网络接收线程阻塞在数据接收状态,等待接收到数据后退出阻塞状态;
[0033]
步骤3:在pc端运行上位机,上位机首先从pc端读取dsp内部固化程序对应.map文件,获取变量名在dsp内部程序中的唯一起始地址和空间占用情况,实现.map文件中所有变量名与变量起始地址的转化;
[0034]
步骤4:在上位机中输入需要读取的变量名,从步骤3得到的所有变量名与变量起始地址一一对应关系中查找输入变量名所对应的起始地址;
[0035]
步骤5:上位机根据步骤4获取的变量起始地址和读取指令生成发送命令,向远程dsp发送数据读取请求,数据请求命令包含三个部分:请求标识(字符

r’)、请求数据起始地址(4字节),请求数据字节长度(4字节)共计9字节数据(例如命令:[

r’,0x8000_0000,128],代表pc端上位机向dsp请求起始地址从0x8000_0000开始共计128字节数据);
[0036]
步骤6:dsp端通过网络接收线程接收到数据请求命令后,退出网络阻塞状态,对接收到的网络命令标识进行解析,解析标识符为

r’时,将数据起始地址开始的数据通过网络发送给上位机,发送过程中待发送数据按照每包字节数最多1024字节进行分包发送,不足1024字节数据按照实际长度发送,超过1024字节数据则将数据拆分成1024字节的数据包之后再发送;
[0037]
步骤7:上位机接收指定长度的dsp数据后写入文件,接收数据长度由请求命令中的数据长度确定,数据接收完成后关闭文件,该文件可用作分析dsp内部变量是否正常和内部数据特征的原始数据,然后根据变量的数据类型将接收到的网络字节数据转换为对应的数据类型(例如:浮点、整型、字节型、结构体)在上位机中显示;
[0038]
本实施例中,上位机可实现最大4gb字节数据的读取,dsp端运行tcp服务器,pc端上位机运行tcp客户端,由于tcp一包数据最大有效数据为1460字节,为了便于统计数据量,dsp端发送上位机发送数据按照1024字节进行拆包,在本实施例中由于只读取128字节数据,因此只发送一包数据。
[0039]
图3为本发明第二方面提供一种基于以太网的dsp内部数据远程写入方法,包括以下步骤:
[0040]
步骤1:将存有dsp片外flash固化程序对应.map文件和上位机的pc端通过网线与被访问的dsp设备相连,上位机和dsp设备通过网络tcp协议进行通信;上位机和dsp系统之间通过tcp进行可靠连接;
[0041]
步骤2:dsp设备上电,dsp从片外flash自动加载固化程序并运行,固化程序具备网络tcp协议通信功能,驻留的网络接收线程阻塞在数据接收状态,等待接收到数据后退出阻塞状态;
[0042]
步骤3:在pc端运行上位机,上位机首先从pc端读取dsp内部固化程序对应.map文件,获取变量名在dsp内部程序中的唯一起始地址和空间占用情况,实现.map文件中所有变量名与变量起始地址的转化;
[0043]
步骤4:在上位机中输入需要读取的变量名,从步骤3得到的所有变量名与变量起始地址一一对应关系中查找输入变量名所对应的起始地址;
[0044]
步骤5:上位机根据步骤4获取的地址和指令生成发送命令,向dsp端发送数据写入命令,数据写入命令包含四个部分:请求标识(字符

w’)、数据写入起始地址(4字节),数据写入字节长度(4字节)共计9字节帧头和写入数据(例如命令:[

w’,0x8000_0000,1025,xxx

xxx],代表pc端上位机向dsp端起始地址从0x8000_0000开始依次写入1025字节数据),写入数据在命令数据包的9字节帧头信息之后;
[0045]
步骤6:dsp端接收线程阻塞在网络接收状态,当网络接收到数据写入命令后,对指令标识进行解析,判断命令标识符是否为

w’,如果不是该标识符,则直接跳出接收线程当前循环,等待下次网络数据接收;如果标识符匹配,则从指令中提取出要写入数据的目的起始地址,数据长度和待写入数据,然后利用通用内存拷贝函数将数据写入到指定地址;
[0046]
步骤7:如果pc端写入数据长度超过1024字节,则写入数据在pc端上位机中需要对待写入数据进行拆包写入,拆包的原则是每次发送有效数据最多1024字节,目的起始地址根据已发送数据长度进行累加;
[0047]
步骤8:pc端判断是否所有数据发送完毕,如果还有数据未发送,则执行步骤5、步骤6和步骤7;
[0048]
步骤9:如果所有数据发送完毕,则退出本次数据远程写入;
[0049]
本实施例中,dsp运行tcp服务器,上位机运行tcp客户端,上位机要写入到远程dsp的数据长度为1025字节,则上位机将待发送数据分为2包进行发送,第一包网络数据发送数据前面1024字节到远程dsp接收线程,dsp接收完成后在线程中将数据写入起始地址0x8000_0000,第一包信息总长度为1033字节,第二包数据发送待发送数据的最后1字节,第二包数据的信息为[

w’,0x8000_0400,1,x],信息长度为10字节;
[0050]
综上所述,本技术提供了一种基于以太网的dsp内部数据远程访问方法,所述方法主要包括以下步骤:首先将pc端和dsp端通过网络互联;然后dsp端上电,加载启动dsp片外flash内的程序;pc端上位机解析与dsp端片外flash匹配的的.map文件,获取dsp程序中所有变量的起始地址和空间占用情况;根据用户输入的读取/写入指令生成网络发送命令;dsp端根据网络命令对接收的命令进行解析,读取数据时,dsp端将要读取起始地址开始数据通过网络数据包发送给pc端上位机,写入时,dsp端解析写入命令,将数据复制到待写入起始地址内存空间,从而实现数据的远程访问,本技术通过上位机联合dsp内部对应的.map文件实现对dsp内部数据的远程访问,提高系统调试灵活性。
[0051]
以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献