System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及嵌入式设备交叉调试领域,具体涉及一种基于嵌入式设备的ftp文件系统软件交叉调试方法及系统。
技术介绍
1、当前嵌入式领域的交叉调试方法主要有以下四种方式:rom仿真、在线仿真、片上调试、调试桩和调试服务器。
2、(1)rom仿真
3、rom仿真是指将rom monitor小程序存储在作为目标机的嵌入式设备的rom或flash中,用户在开发运行在嵌入式设备上的嵌入式程序时,可以通过rom monitor获得开发过程中的辅助测试与调试功能。rom monitor也有缺点,比如需要占用单片机的程序空间和串口资源,当rom monitor占用cpu时,应用程序不响应外部的中断,因此不便调试有时间特性的程序。
4、(2)在线仿真(ice)
5、在线仿真器取代了目标机上的cpu进行工作,功能与目标机处理器完全一致,而且它能产生外部电路所需信号,并且捕获外部所有信号。满足用户查看处理器内部数据并控制cpu运行的需求。主机调试器通过在线仿真器控制目标机上的用户程序。在线仿真器具备许多优点,如不消耗目标系统资源和对硬件断点的支持等。同时,在线仿真器也存在着典型的缺陷,如开发成本高,价格昂贵,可扩展性差。在线仿真器通常提供固定的处理速度,在目标机处理器速度提高时,其速度很难扩展。
6、(3)片上调试(ocd)
7、片上调试通过在目标机微处理器内部嵌入控制模块,由该模块接管目标机的中断和异常处理,其调试形式与rom监控基本一致。用户可设置需要进入调试状态的中断和异常
8、(4)调试桩和调试服务器
9、调试桩(debugging stub)和调试服务器(debugging server)是一小段驻留在目标机上的代码。采用这种调试方式进行交叉调试需要在目标机上运行调试桩(或调试服务器)和被调试程序,宿主机的调试器和目标机的调试桩(或调试服务器)使用远程调试协议进行连接。
10、与rom monitor调试方式不同的是,rom monitor程序是驻留在目标机的rom中的,系统复位时首先被执行,然后下载被调试程序进行调试;而调试桩和调试服务器不是固化在目标机上的,需要先通过某种工具将它们下载到目标机中,因此调试桩和调试服务器的使用更加灵活,能够和系统启动过程解耦,对系统启动和系统运行的影响更小。
11、由于调试桩往往是被设计用来独立运行于目标板上的,不需要系统软件环境的支持,因此它必须与被调试程序编译、连接在一起运行,一般用于底层系统软件的调试;而调试服务器通常作为目标机系统上的一个应用程序运行,一般用于应用软件的调试。
12、对于嵌入式设备而言,软件交叉调试可以采用上述调试服务器的方式进行。由于嵌入式设备系统资源有限,因此大部分软件调试无法在目标设备上进行,需要采用交叉调试的方式尽可能确保开发者、测试者或使用者所调试的软件能够在目标设备上正常运行,同时减小调试过程对嵌入式设备及其系统的影响。调试服务器的使用需要嵌入式系统支持网络,需要嵌入式设备的系统能够支持对宿主机/上位机发送过来的调试命令的解析与处理。
13、现有的应用于应用软件调试的调试服务器,以gnu调试器gdb为例,其主要过程如下:
14、1)使用buildroot或其他工具编译gdb server服务和gdb应用;
15、2)通过网卡驱动适配等方式使嵌入式操作系统支持网络服务功能;
16、3)嵌入式设备上电,启动运行于嵌入式设备的嵌入式操作系统;
17、4)宿主机/上位机上电启动;
18、5)为成功启动嵌入式操作系统的嵌入式设备配置网络服务;
19、6)通过网络,将编译好的gdb server服务上传到嵌入式设备;
20、7)通过网络,将编译好的gdb上传到宿主机/上位机;
21、8)嵌入式设备,通过命令行等方式启动gdb server服务;
22、9)通过网络,上传待调试的应用程序到宿主机/上位机;
23、10)宿主机/上位机,通过命令行等方式启动gdb;
24、11)宿主机/上位机,通过gdb工具输入命令连接到嵌入式设备的gdb server服务端;
25、12)宿主机/上位机,通过命令行输入gdb调试命令发送至嵌入式设备的gdbserver服务端;
26、13)嵌入式设备,接收到来自宿主机/上位机的gdb调试命令,进行相应处理并返回处理结果;
27、14)宿主机/上位机收到嵌入式设备的gdb server返回的处理结果,调试完成,宿主机/上位机通过gdb命令断开与gdb server 的连接;
28、15)嵌入式设备,通过命令行关闭gdb server服务;宿主机/上位机退出gdb应用。
29、上述流程存在以下缺点:
30、(1)依赖目标嵌入式设备提供可用的网络服务,嵌入式设备使用gdb server服务之前,需要确保其网络服务可用,因此使用gdb server之前可能存在较大的网络协议栈开发工作;
31、(2)提供了网络服务的嵌入式设备的系统大多不具有强实时性,不适用于要求实时性的嵌入式场景;
32、(3) gdb server和gdb单独编译,并没有和嵌入式网络文件系统配套编译,可能存在与交叉编译相关的潜在问题,不能确保其可用性;
33、(4) gdb server和gdb单独编译,增加了交叉编译工具链的版本匹配与版本管理相关的工作。
34、综上所述,受限于嵌入式设备有限的资源条件和复杂的设备类型与应用场景,运行在嵌入式设备上的调试服务器的通用性、易用性与资源低占用就成为了调试服务器开发与适配工作的重点。
技术实现思路
1、针对现有技术中的上述不足,本专利技术提供的基于嵌入式设备的ftp文件系统软件交叉调试方法及系统解决了现有方法对嵌入式设备进行调试过程中的通用性和易用性较差的问题。
2、为了达到上述专利技术目的,本专利技术采用的技术方案为:
3、提供一种基于嵌入式设备的ftp文件系统软件交叉调试方法,其包括以下步骤:
4、s1、基于嵌入式实时操作系统提供的api接口,移植lwip网络协议栈;
5、s2、采用ydi接口标准,向嵌入式设备移植yaffs2文件系统作为flash文件系统;
6、s3、构建gdb组件;其中gdb组件包括gdb中断处理模块、gdb命令处理模块和gdb调试通信模块;
7、s4、向嵌入式设本文档来自技高网...
【技术保护点】
1.一种基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,步骤S1中移植LwIP网络协议栈包括移植LwIP网络协议栈的系统配置文件LwIP SystemConfig部分和移植LwIP的硬件驱动抽象层。
3.根据权利要求2所述的基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,移植LwIP网络协议栈的系统配置文件LwIP System Config部分的具体方法包括以下子步骤:
4.根据权利要求2所述的基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,移植LwIP的硬件驱动抽象层的具体方法为:
5.根据权利要求1所述的基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,步骤S2的具体方法包括以下子步骤:
6.根据权利要求1所述的基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,步骤S6的具体方法为:
7.根据权利要求6所述的基于嵌入式设备的FTP文件系统软件交叉调试
8.根据权利要求7所述的基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,通过GDB调试通信模块向嵌入式设备发送数据的过程为:
9.根据权利要求7所述的基于嵌入式设备的FTP文件系统软件交叉调试方法,其特征在于,嵌入式设备通过GDB调试通信模块接收数据的过程为:
10.一种基于权利要求1~9任一所述的基于嵌入式设备的FTP文件系统软件交叉调试方法的系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于嵌入式设备的ftp文件系统软件交叉调试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于嵌入式设备的ftp文件系统软件交叉调试方法,其特征在于,步骤s1中移植lwip网络协议栈包括移植lwip网络协议栈的系统配置文件lwip systemconfig部分和移植lwip的硬件驱动抽象层。
3.根据权利要求2所述的基于嵌入式设备的ftp文件系统软件交叉调试方法,其特征在于,移植lwip网络协议栈的系统配置文件lwip system config部分的具体方法包括以下子步骤:
4.根据权利要求2所述的基于嵌入式设备的ftp文件系统软件交叉调试方法,其特征在于,移植lwip的硬件驱动抽象层的具体方法为:
5.根据权利要求1所述的基于嵌入式设备的ftp文件系统软件交...
【专利技术属性】
技术研发人员:郑国玲,李沛文,王伟,
申请(专利权)人:成都菁蓉联创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。