CN105045718A - 基于Linux嵌入式系统的调试系统、方法及修改方法 - Google Patents
基于Linux嵌入式系统的调试系统、方法及修改方法 Download PDFInfo
- Publication number
- CN105045718A CN105045718A CN201510508926.6A CN201510508926A CN105045718A CN 105045718 A CN105045718 A CN 105045718A CN 201510508926 A CN201510508926 A CN 201510508926A CN 105045718 A CN105045718 A CN 105045718A
- Authority
- CN
- China
- Prior art keywords
- application program
- embedded system
- linux embedded
- root file
- file system
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,尤其涉及一种基于Linux嵌入式系统的调试系统及应用程序调试方法。将应用程序从根文件系统中分离出来,当需要对开发的应用程序进行调试时,将应用程序以可读写的方式挂载至根文件系统存储区的根文件系统中进行调试,无需对Linux嵌入式系统的整个镜像做处理,仅仅对待调试的应用程序做处理即可完成调试,调试效率较高,另外调试数据流较小,不需要占用系统太多资源,对Linux嵌入式系统运行效率影响较小。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Linux嵌入式系统的调试系统、方法及修改方法。
背景技术
嵌入式系统已经广泛应用在电子通信、自动控制等领域。随着嵌入式系统的发展,其运算速度越来越快,存储容量也越来越大,在嵌入式系统中运行的程序也越来越庞大且更加复杂,程序运行时出现错误或缺陷几乎是不可避免的。因此,嵌入式系统中运行的程序编写完毕后,需要进行调试,以便发现并消除缺陷。
如图1所示,Linux嵌入式系统的调试系统通常包括boot存储区,内核存储区,根文件系统存储区和配置参数存储区,在开发测试(以下称为调试)中,将程序下载到嵌入式系统后(即将boot,内核,根文件系统和配置参数打包,做成一个整体的镜像,烧录到对应存储区中),对嵌入式程序进行黑盒测试(也称作数据驱动测试),采用现有技术中的上述方法,即使只对一个函数进行了修改,也需要在重新编译后对整个程序进行下载(即烧录整个镜像文件),需要很长的时间,调试的效率很低。而且调试数据本身较大,必须占有较多的系统资源(如CPU时间和内存空间),大大降低了系统运行效率。尤其是当网络不稳定时,调试更加困难。
发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提供基于Linux嵌入式系统的调试系统、方法及修改方法。
为了解决上述问题,本发明提供一种基于Linux嵌入式系统的调试系统,其中,包括,
BOOT存储区,用以存储引导加载程序;
内核存储区,用以存储Linux内核;
根文件系统存储区,用以存储根文件系统;
应用程序存储区,用以存储开发的应用程序;
配置参数存储区,用以存储配置参数;
采用可读写方式将应用程序挂载到根文件系统上,所述应用程序与所述根文件系统分离存储,当修改应用程序时,将修改后的所述应用程序烧录至所述应用程序存储区以替换修改前的所述应用程序。
优选地,上述的基于Linux嵌入式系统的调试系统,其中,所述可读写方式为mount命令。
优选地,上述的基于Linux嵌入式系统的调试系统,其中,所述BOOT存储区、所述内核存储区、所述根文件系统存储区、所述应用程序存储区、所述配置参数存储区形成于同一存储器中,所述存储器为Flash。
优选地,上述的基于Linux嵌入式系统的调试系统,其中,所述引导加载程序包括BootLoader。
一种基于Linux嵌入式系统的应用程序调试方法,其中,包括上述的基于Linux嵌入式系统,还包括如下步骤:
步骤S1、将应用程序打包形成一个APP分区存储于所述应用程序存储区中;
步骤S2、启动所述Linux嵌入式系统;
步骤S3、于所述Linux嵌入式系统成功启动后,获取存储于所述应用程序存储区中的所述APP分区;
步骤S4、将所述APP分区挂载于所述根文件系统存储区中的所述根文件系统中,并运行所述应用程序。
优选地,上述基于Linux嵌入式系统的应用程序调试方法,其中,于所述步骤S4中,所述APP分区以可读写方式挂载于所述根文件系统中。
优选地,上述基于Linux嵌入式系统的应用程序调试方法,其中,于所述APP分区中包括有动态库状态下,于所述根文件系统中增加于所述动态库相匹配的搜索路径。
一种基于Linux嵌入式系统的应用程序修改方法,其中,包括上述的基于Linux嵌入式系统,还包括:
步骤S1、获取应用程序的修改包;
步骤S2、删除所述应用程序存储区中对应的所述应用程序;
步骤S3、将所述应用程序的修改包存储于所述应用程序存储区中。
优选地,上述基于Linux嵌入式系统的应用程序修改方法,其中所述修改包包括升级程序包。
与现有技术相比,本发明的优点在于:
(1)基于Linux嵌入式系统的调试系统,将应用程序从根文件系统中分离出来,当需要对开发的应用程序进行调试时,将应用程序以可读写的方式挂载至根文件系统存储区的根文件系统中进行调试,无需对Linux嵌入式系统的整个镜像做处理,仅仅对待调试的应用程序做处理即可完成调试,调试效率较高,另外调试数据流较小,不需要占用系统太多资源,对Linux嵌入式系统运行效率影响较小。
(2)基于Linux嵌入式系统的应用程序调试方法,将应用程序从根文件系统中分离出来,单独形成一个APP分区,当需要对开发的应用程序进行调试时,将APP分区以可读写的方式挂载至根文件系统存储区的根文件系统中进行调试,无需对Linux嵌入式系统的整个镜像做处理,仅仅对APP分区内的应用程序做处理即可完成调试,调试效率较高,另外调试数据流较小,不需要占用系统太多资源,对Linux嵌入式系统运行效率影响较小。
附图说明
图1为现有的Linux嵌入式系统的调试系统;
图2为本发明提供的一种基于Linux嵌入式系统的调试系统;
图3为本发明提供的一种基于Linux嵌入式系统的应用程序调试方法的流程示意图;
图4为本发明提供的一种基于Linux嵌入式系统的应用程序修改方法的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图2所示,一种基于Linux嵌入式系统的调试系统,其中,包括,
BOOT存储区,用以存储引导加载程序;
内核存储区,用以存储Linux内核;
根文件系统存储区,用以存储根文件系统;
应用程序存储区,用以存储开发的应用程序;
配置参数存储区,用以存储配置参数,
其中,采用可读写方式将应用程序挂载到根文件系统上,所述应用程序与所述根文件系统分离存储,当修改应用程序时,将修改后的所述应用程序烧录至所述应用程序存储区以替换修改前的所述应用程序,进一步地,所述可读写方式为mount命令。
上述的基于Linux嵌入式系统的调试系统,其工作原理为:将应用程序从根文件系统中分离出来,当需要对开发的应用程序进行调试时,将应用程序以可读写的方式挂载至根文件系统存储区的根文件系统中进行调试,无需对Linux嵌入式系统的整个镜像做处理,仅仅对待调试的应用程序做处理即可完成调试,调试效率较高,另外调试数据流较小,不需要占用系统太多资源,对Linux嵌入式系统运行效率影响较小。
作为进一步优选实施方案,上述的基于Linux嵌入式系统的调试系统,其中,所述BOOT存储区、所述内核存储区、所述根文件系统存储区、所述应用程序存储区、所述配置参数存储区形成于同一存储器中,所述存储器为Flash。有利于提高数据的读取速度,进一步提高其调试效率。
作为进一步优选实施方案,上述的基于Linux嵌入式系统的调试系统,其中,所述引导加载程序包括BootLoader。
如图3所示,本发明同时提供一种基于Linux嵌入式系统的应用程序调试方法,其中,包括上述的基于Linux嵌入式系统,还包括:
步骤S1、将应用程序打包形成一个APP分区存储于所述应用程序存储区中;所述应用程序可为游戏程序、浏览器程序、办公软件程序等。
步骤S2、启动所述Linux嵌入式系统;进一步地,所述APP分区以可读写方式挂载于所述根文件系统中;
步骤S3、于所述Linux嵌入式系统成功启动后,获取存储于所述应用程序存储区中的所述APP分区;
步骤S4、将所述APP分区挂载于所述根文件系统存储区中的所述根文件系统中,并运行所述应用程序。
上述的基于Linux嵌入式系统的应用程序调试方法,其为实施上述基于Linux嵌入式系统的调试系统的应用程序调试方法,将应用程序从根文件系统中分离出来,单独形成一个APP分区,当需要对开发的应用程序进行调试时,将APP分区以可读写的方式挂载至根文件系统存储区的根文件系统中进行调试,无需对Linux嵌入式系统的整个镜像做处理,仅仅对APP分区内的应用程序做处理即可完成调试,调试效率较高,另外调试数据流较小,不需要占用系统太多资源,对Linux嵌入式系统运行效率影响较小。
作为进一步优选实施方案,上述基于Linux嵌入式系统的应用程序调试方法,其中,于所述APP分区中包括有动态库,于所述根文件系统中增加于所述动态库相匹配的搜索路径。通过增加相应的搜索路径读取动态库信息。
列举一具体实施方式:
开发人员需要对某个应用程序进行调试时,发现应用程序中存在有待修复的缺陷,针对该缺陷对应用程序进行修改,将修改后的应用程序打包压缩形成一个APP分区,将修改后的APP分区挂载到根文件系统中编译运行即可完成调试,采用此种方式,只需要单独修改应用程序,修改数据量减少,大大地减少了程序烧录进存储单元的时间,极大地方便了应用程序的开发,调试。
如图4所示,本发明同时提出一种基于Linux嵌入式系统的应用程序修改方法,其中,包括上述的基于Linux嵌入式系统,还包括:
步骤S1、获取应用程序的修改包;
步骤S2、删除所述应用程序存储区中对应的所述应用程序;
步骤S3、将所述应用程序的修改包存储于所述应用程序存储区中。
作为进一步优选实施方案,上述基于Linux嵌入式系统的应用程序修改方法,其中所述修改包包括升级程序包。
基于Linux嵌入式系统的应用程序修改方法,在应用程序修改或者升级过程中,仅仅需要对应用程序存储区中对应的应用程序进行修改或升级即可,被修改的文件数据量大大减少,同时也大大减少了烧录时间。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (9)
1.一种基于Linux嵌入式系统的调试系统,其特征在于,包括
BOOT存储区,用以存储引导加载程序;
内核存储区,用以存储Linux内核;
根文件系统存储区,用以存储根文件系统;
应用程序存储区,用以存储开发的应用程序;
配置参数存储区,用以存储配置参数;
采用可读写方式将应用程序挂载到所述根文件系统上,所述应用程序与所述根文件系统分离存储,当修改应用程序时,将修改后的所述应用程序烧录至所述应用程序存储区以替换修改前的所述应用程序。
2.根据权利要求1所述的基于Linux嵌入式系统的调试系统,其特征在于,所述可读写方式为mount命令。
3.根据权利要求1所述的基于Linux嵌入式系统的调试系统,其特征在于,所述BOOT存储区、所述内核存储区、所述根文件系统存储区、所述应用程序存储区、所述配置参数存储区形成于同一存储器中,所述存储器为Flash。
4.根据权利要求1所述的基于Linux嵌入式系统的调试系统,其特征在于,所述引导加载程序包括BootLoader。
5.一种基于Linux嵌入式系统的应用程序调试方法,其特征在于,包括权利要求1所述的基于Linux嵌入式系统,还包括:
步骤S1、将应用程序打包形成一个APP分区存储于所述应用程序存储区中;
步骤S2、启动所述Linux嵌入式系统;
步骤S3、于所述Linux嵌入式系统成功启动后,获取存储于所述应用程序存储区中的所述APP分区;
步骤S4、将所述APP分区挂载于所述根文件系统存储区中的所述根文件系统中,并运行所述应用程序。
6.根据权利要求5所述的基于Linux嵌入式系统的应用程序调试方法,其特征在于,于所述步骤S4中,所述APP分区以可读写方式挂载于所述根文件系统中。
7.根据权利要求5所述的基于Linux嵌入式系统的应用程序调试方法,其特征在于,于所述APP分区中包括有动态库状态下,于所述根文件系统中增加于所述动态库相匹配的搜索路径。
8.一种基于Linux嵌入式系统的应用程序修改方法,其特征在于,包括权利要求1所述的基于Linux嵌入式系统,还包括:
步骤S1、获取应用程序的修改包;
步骤S2、删除所述应用程序存储区中对应的所述应用程序;
步骤S3、将所述应用程序的修改包存储于所述应用程序存储区中。
9.根据权利要求8所述的基于Linux嵌入式系统的应用程序修改方法,其特征在于,所述修改包包括升级程序包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510508926.6A CN105045718A (zh) | 2015-08-18 | 2015-08-18 | 基于Linux嵌入式系统的调试系统、方法及修改方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510508926.6A CN105045718A (zh) | 2015-08-18 | 2015-08-18 | 基于Linux嵌入式系统的调试系统、方法及修改方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105045718A true CN105045718A (zh) | 2015-11-11 |
Family
ID=54452281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510508926.6A Pending CN105045718A (zh) | 2015-08-18 | 2015-08-18 | 基于Linux嵌入式系统的调试系统、方法及修改方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105045718A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843690A (zh) * | 2016-03-14 | 2016-08-10 | 乐视移动智能信息技术(北京)有限公司 | 一种进行调试信息传输的方法及移动终端 |
CN106020884A (zh) * | 2016-05-20 | 2016-10-12 | 江苏华辉云控科技有限公司 | 网络摄像机系统在线升级方法 |
CN107943414A (zh) * | 2017-10-16 | 2018-04-20 | 积成电子股份有限公司 | 嵌入式Linux的文件系统分区及数据读写方法 |
CN112667314A (zh) * | 2020-12-23 | 2021-04-16 | 上海米哈游天命科技有限公司 | 游戏引擎编辑器启动方法、装置、电子设备和存储介质 |
CN113505074A (zh) * | 2021-07-15 | 2021-10-15 | 北京紫光展锐通信技术有限公司 | Linux系统调试方法及其装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10345468A1 (de) * | 2003-09-30 | 2005-05-25 | Infineon Technologies Ag | Verfahren zur sicheren Ausführung von Programmen |
CN101819552A (zh) * | 2010-01-04 | 2010-09-01 | 深圳市共进电子有限公司 | 提高系统开发过程中调试速度的方法 |
CN103677945A (zh) * | 2013-12-30 | 2014-03-26 | 深圳市捷顺科技实业股份有限公司 | 镜像文件的生成方法及装置 |
CN104317622A (zh) * | 2014-10-30 | 2015-01-28 | 深圳市捷顺科技实业股份有限公司 | 一种嵌入式设备程序烧录处理方法和系统 |
-
2015
- 2015-08-18 CN CN201510508926.6A patent/CN105045718A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10345468A1 (de) * | 2003-09-30 | 2005-05-25 | Infineon Technologies Ag | Verfahren zur sicheren Ausführung von Programmen |
CN101819552A (zh) * | 2010-01-04 | 2010-09-01 | 深圳市共进电子有限公司 | 提高系统开发过程中调试速度的方法 |
CN103677945A (zh) * | 2013-12-30 | 2014-03-26 | 深圳市捷顺科技实业股份有限公司 | 镜像文件的生成方法及装置 |
CN104317622A (zh) * | 2014-10-30 | 2015-01-28 | 深圳市捷顺科技实业股份有限公司 | 一种嵌入式设备程序烧录处理方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843690A (zh) * | 2016-03-14 | 2016-08-10 | 乐视移动智能信息技术(北京)有限公司 | 一种进行调试信息传输的方法及移动终端 |
CN106020884A (zh) * | 2016-05-20 | 2016-10-12 | 江苏华辉云控科技有限公司 | 网络摄像机系统在线升级方法 |
CN107943414A (zh) * | 2017-10-16 | 2018-04-20 | 积成电子股份有限公司 | 嵌入式Linux的文件系统分区及数据读写方法 |
CN107943414B (zh) * | 2017-10-16 | 2020-11-17 | 积成电子股份有限公司 | 嵌入式Linux的文件系统分区及数据读写方法 |
CN112667314A (zh) * | 2020-12-23 | 2021-04-16 | 上海米哈游天命科技有限公司 | 游戏引擎编辑器启动方法、装置、电子设备和存储介质 |
CN113505074A (zh) * | 2021-07-15 | 2021-10-15 | 北京紫光展锐通信技术有限公司 | Linux系统调试方法及其装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775723B (zh) | 基于Android平台的系统固件定制的方法和Android设备 | |
CN105045718A (zh) | 基于Linux嵌入式系统的调试系统、方法及修改方法 | |
CN107729083B (zh) | 一种加载驱动程序的方法及嵌入式设备 | |
CN106095620B (zh) | 一种嵌入式Linux存储分区的开发方法 | |
CN103970585B (zh) | 创建虚拟机的方法及装置 | |
CN104714788B (zh) | 一种软件安装包自动生成的方法及装置 | |
CN105487907A (zh) | 一种差分包的制作方法和装置 | |
CN105786537A (zh) | 一种热补丁的实现方法和装置 | |
CN102880498A (zh) | 在安卓系统的装置上虚拟sd卡的方法 | |
CN103577212A (zh) | 系统启动预加载方法及装置 | |
CN108829465B (zh) | 一种基于直接读写flash的本地动态加载系统及方法 | |
CN113238819B (zh) | 一种适用于U-Boot的驱动文件动态加载方法及系统 | |
CN106909480B (zh) | 一种嵌入式系统交叉调试方法和装置 | |
CN103605540A (zh) | 基于安卓系统的快速写入flash镜像的方法 | |
WO2017000567A1 (zh) | 一种实现bootrom升级的方法及装置 | |
CN102841802A (zh) | 移动终端的软件升级方法 | |
CN104461621A (zh) | 一种更新属性信息的方法及装置 | |
CN104536841A (zh) | 一种Android系统Data分区自修复方法及系统 | |
CN104866388A (zh) | 数据处理方法及装置 | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN103645888A (zh) | 一种自动构建操作系统的系统及方法 | |
CN102243587A (zh) | 嵌入式系统中对rom程序的升级方法 | |
WO2017107835A1 (zh) | 浏览器启动方法及装置 | |
CN102736974A (zh) | 程序除错系统及方法 | |
CN104298618A (zh) | 一种智能终端的命令处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151111 |