CN108121627B - 一种VxWorks操作系统调试方法 - Google Patents
一种VxWorks操作系统调试方法 Download PDFInfo
- Publication number
- CN108121627B CN108121627B CN201711322368.XA CN201711322368A CN108121627B CN 108121627 B CN108121627 B CN 108121627B CN 201711322368 A CN201711322368 A CN 201711322368A CN 108121627 B CN108121627 B CN 108121627B
- Authority
- CN
- China
- Prior art keywords
- operating system
- debugging
- vxworks operating
- code
- initialization
- 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
Images
Classifications
-
- 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/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明揭示了一种VxWorks操作系统调试方法,包括以下步骤:在VxWorks操作系统的BSP代码中增加调试驱动,随VxWorks操作系统编译,在VxWorks操作系统的第一条C语言代码处,调用调试驱动的初始化模块完成其初始化;在需要调试的BSP代码后,增加调试驱动的错误定位模块,错误定位模块反应出相应BSP代码执行的结果;修改BSP代码中的错误,直至关闭所有错误,完成VxWorks操作系统的调试。本发明可应用于不同CPU类型的VxWorks操作系统的调试,方法简单。采用本发明不需要额外的仿真器开销,降低了设计成本。无须使用仿真器调试后,硬件单板可以减少JTAG接口的设计,有利于产品小型化发展。
Description
技术领域
本发明涉及一种系统调试方法,尤其涉及一种VxWorks操作系统调试方法,属于操作系统调试方法的技术领域。
背景技术
VxWorks是由风河公司推出的一款适用于所有主流CPU目标平台的高性能强实时嵌入式操作系统,具有出色的可伸缩、可裁剪和高可靠性,广泛应用于国内航空系统。VxWorks操作系统的开发调试一直是产品型号开发中的关键工作,由于VxWorks操作系统与底层硬件紧密关联,使得VxWorks操作系统的开发调试工作异常复杂困难。
风河公司提供专用仿真器用于VxWorks操作系统的调试,但仿真器使用有一定的局限性,首先,仿真器是专用的,不能适用于所有的硬件CPU平台;其次,风河仿真器使用比较复杂,需要配置一系列的配置文件,才能正常使用仿真器。
另一种VxWorks调试方法是通过硬件点灯,判断VxWorks的运行流程,定位底层驱动配置错误,达到调试VxWorks操作系统的目的,这种方法需要额外的硬件开销。对于没有点灯模块的硬件单板,显然,这种方法不适用。
发明内容
本发明的目的是解决上述现有技术的不足,传统的VxWorks操作系统调试需要采用专用仿真器或采用特定硬件单板的问题,提供一种VxWorks操作系统调试方法。
为了达到上述目的,本发明所采用的技术方案为:
一种VxWorks操作系统调试方法,其特征在于包括以下步骤:
步骤a,在VxWorks操作系统的BSP代码中增加调试驱动,随VxWorks操作系统编译,在VxWorks操作系统的第一条C语言代码处,调用调试驱动的初始化模块完成其初始化;
步骤b,在需要调试的BSP代码后,增加调试驱动的错误定位模块,错误定位模块反应出相应BSP代码执行的结果;
步骤c,修改BSP代码中的错误,直至关闭所有错误,完成VxWorks操作系统的调试。
进一步地,所述步骤a中,初始化模块完成硬件单板主CPU硬件模块的初始化,使之具有信息输出功能。
进一步地,所述步骤b中,错误定位模块根据BSP代码的执行结果,输出对应的错误信息。
进一步地,所述步骤b中,需要调试的BSP代码位于VxWorks操作系统的控制台初始化完毕代码之前,位于控制台初始化完毕之后的代码使用控制台输出信息,调试驱动完成控制台无法使用时的信息输出。
进一步地,所述步骤c中,关闭所有错误是指VxWorks操作系统启动过程中的软硬件配置达到预期目的。
本发明的有益效果主要体现在:
1. 可应用于不同CPU类型的VxWorks操作系统的调试,方法简单。
2. 采用本发明不需要额外的仿真器开销,降低了设计成本。
3. 无须使用仿真器调试后,硬件单板可以减少JTAG接口的设计,有利于产品小型化发展。
附图说明
图1是本发明一种VxWorks操作系统中调试驱动的结构示意图。
图2是本发明中调试驱动在VxWorks操作系统启动过程中的顺序位置示意图。
图3是本发明一种VxWorks操作系统中调试运行流程图。
具体实施方式
本发明提供一种VxWorks操作系统调试方法。以下结合附图对本发明技术方案进行详细描述,以使其更易于理解和掌握。
一种VxWorks操作系统调试方法,包括以下步骤:
步骤a,在VxWorks操作系统的BSP代码中增加调试驱动,随VxWorks操作系统编译,在VxWorks操作系统的第一条C语言代码处,调用调试驱动的初始化模块完成其初始化;
步骤b,在需要调试的BSP代码后,增加调试驱动的错误定位模块,错误定位模块反应出相应BSP代码执行的结果;
步骤c,修改BSP代码中的错误,直至关闭所有错误,完成VxWorks操作系统的调试。
其中,步骤a中,初始化模块完成硬件单板主CPU硬件模块的初始化,使之具有信息输出功能。
步骤b中,错误定位模块根据BSP代码的执行结果,输出对应的错误信息。
步骤b中,需要调试的BSP代码位于VxWorks操作系统的控制台初始化完毕代码之前,位于控制台初始化完毕之后的代码使用控制台输出信息,调试驱动完成控制台无法使用时的信息输出。
步骤c中,关闭所有错误是指VxWorks操作系统启动过程中的软硬件配置达到预期目的
如图1所示,调试驱动由初始化模块和错误定位模块组成,本实施例采用MPC8548为主 CPU,初始化模块完成UART0的硬件初始化,包括UART0的基本参数配置以及UART0的信息输出功能配置,基本参数包括波特率、数据位、校验等,基本参数及信息输出功能均通过配置寄存器实现;错误定位模块根据输入的代码执行状态,向UART0输出预定义的信息。如果造成系统复位,可以根据信息是否输出,判断造成VxWorks操作系统复位的代码位置。
如图2所示,初始化模块位于VxWorks操作系统入口后,在本实施例中,位于系统硬件初始化函数sysHwInit的第一条语句;错误定位模块位于每一句需要调试的代码后,当VxWorks操作系统控制台初始化完毕后,调试驱动的工作完成,操作系统的信息输出由控制台完成。
如图3所示,本实施例使用本发明的VxWorks操作系统调试运行,有如下步骤:
步骤301:硬件上电或复位,操作系统boot程序运行;
步骤302:操作系统运行,执行系统硬件初始化前的必要初始化,如关闭cache等;
步骤303:执行初始化模块,完成UART0的基本参数配置和信息输出功能配置;
步骤304:执行硬件驱动代码,如果是致命错误,将会引起系统复位,执行步骤301,没有致命错误,执行步骤305;
步骤305:错误定位模块通过UART0输出信息,重复执行步骤304,直至所有硬件驱动代码执行完毕后,执行步骤306;
步骤306:操作系统控制台初始化完毕。
需要指出的是,步骤304中的硬件驱动代码,泛指VxWorks操作系统控制台初始化完毕之前的所有代码,包含一些与具体硬件配置有关的必要代码。
VxWorks操作系统在控制台初始化完毕之前没有任何的信息输出方式,而由于VxWorks操作系统的特性,控制台初始化完毕位于整个系统靠后的位置,之前任意代码的错误都会导致系统无法启动或者复位,本发明的调试驱动覆盖了VxWorks操作系统信息输出的盲区,使得整个调试过程对软件设计者可控,降低了软件设计者操作系统开发调试的难度。本发明提出的方法可以应用于多种CPU的VxWorks操作系统调试。
以上对本发明的技术方案进行了充分描述,需要说明的是,本发明的具体实施方式并不受上述描述的限制,本领域的普通技术人员依据本发明的精神实质在结构、方法或功能等方面采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。
Claims (4)
1.一种VxWorks操作系统调试方法,其特征在于包括以下步骤:
步骤a,在VxWorks操作系统的BSP代码中增加调试驱动,随VxWorks操作系统编译,在VxWorks操作系统的第一条C语言代码处,调用调试驱动的初始化模块完成其初始化;
步骤b,在需要调试的BSP代码后,增加调试驱动的错误定位模块,错误定位模块反应出相应BSP代码执行的结果;
步骤c,修改BSP代码中的错误,直至关闭所有错误,完成VxWorks操作系统的调试;
所述步骤b中,需要调试的BSP代码位于VxWorks操作系统的控制台初始化完毕代码之前,用于控制台初始化完毕之后的代码使用控制台输出信息,调试驱动完成控制台无法使用时的信息输出。
2.根据权利要求1所述的一种VxWorks操作系统调试方法,其特征在于:
所述步骤a中,初始化模块完成硬件单板主CPU硬件模块的初始化,使之具有信息输出功能。
3.根据权利要求1所述的一种VxWorks操作系统调试方法,其特征在于:
所述步骤b中,错误定位模块根据BSP代码的执行结果,输出对应的错误信息。
4.根据权利要求1所述的一种VxWorks操作系统调试方法,其特征在于:
所述步骤c中,关闭所有错误是指VxWorks操作系统启动过程中的软硬件配置达到预期目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711322368.XA CN108121627B (zh) | 2017-12-13 | 2017-12-13 | 一种VxWorks操作系统调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711322368.XA CN108121627B (zh) | 2017-12-13 | 2017-12-13 | 一种VxWorks操作系统调试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121627A CN108121627A (zh) | 2018-06-05 |
CN108121627B true CN108121627B (zh) | 2021-03-09 |
Family
ID=62229715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711322368.XA Active CN108121627B (zh) | 2017-12-13 | 2017-12-13 | 一种VxWorks操作系统调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121627B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238898B (zh) * | 2021-04-30 | 2023-06-06 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多任务运行状态与通信接口协同监视调试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632745A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 运用ide接口的多个设备的文件系统操作方法 |
CN101170438A (zh) * | 2007-11-13 | 2008-04-30 | 中兴通讯股份有限公司 | 一种远程串口调试方法及其系统 |
CN101329631A (zh) * | 2007-06-21 | 2008-12-24 | 大唐移动通信设备有限公司 | 一种嵌入式系统自动检测和恢复启动的方法及装置 |
CN106648615A (zh) * | 2016-11-07 | 2017-05-10 | 中国航空无线电电子研究所 | 一种基于VxWorks的BSP代码开发系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754466B (zh) * | 2008-12-10 | 2012-09-05 | 运软网络科技(上海)有限公司 | 移动虚拟化的基础设施以及基础平台 |
WO2015153352A1 (en) * | 2014-03-31 | 2015-10-08 | Yext, Inc. | Beacon device for enhancing measurements of the effecitiveness of mobile notifications |
-
2017
- 2017-12-13 CN CN201711322368.XA patent/CN108121627B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632745A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 运用ide接口的多个设备的文件系统操作方法 |
CN101329631A (zh) * | 2007-06-21 | 2008-12-24 | 大唐移动通信设备有限公司 | 一种嵌入式系统自动检测和恢复启动的方法及装置 |
CN101170438A (zh) * | 2007-11-13 | 2008-04-30 | 中兴通讯股份有限公司 | 一种远程串口调试方法及其系统 |
CN106648615A (zh) * | 2016-11-07 | 2017-05-10 | 中国航空无线电电子研究所 | 一种基于VxWorks的BSP代码开发系统 |
Non-Patent Citations (1)
Title |
---|
《BSP如何调试?BSP到底是什么?》;mamamiya;《https://bbs.csdn.net/topics/350049316》;20100916;1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108121627A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109002290B (zh) | 一体化ecu嵌入式目标代码自动生成器及自动生成方法 | |
CN110865971B (zh) | Soc芯片的验证系统及其方法 | |
US9836384B2 (en) | Testing device for real-time testing of a virtual control unit | |
CN104699523B (zh) | 用于硬件平台所开发的应用程序的调试方法和系统 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN104750603A (zh) | 一种多核dsp软件仿真器及其物理层软件测试方法 | |
CN111400997B (zh) | 一种基于同步执行的处理器核验证方法、系统及介质 | |
JP5379862B2 (ja) | シミュレーション方法、システム及びプログラム | |
US20090089758A1 (en) | Testing and debugging of dynamic binary translation | |
US8140315B2 (en) | Test bench, method, and computer program product for performing a test case on an integrated circuit | |
Haberl et al. | Model-level debugging of embedded real-time systems | |
CN108121627B (zh) | 一种VxWorks操作系统调试方法 | |
CN115390809A (zh) | 一种仿真调度方法及系统 | |
CN102331961B (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN109144849B (zh) | 一种嵌入式软件调测方法 | |
CN116450431A (zh) | Cpu参考模型的指令功能测试系统及其方法、计算机设备和存储介质 | |
CN103365775B (zh) | 基于内部状态检查的单元测试方法 | |
CN111123084B (zh) | 一种基于tcl语言的数字电路快速测试方法 | |
CN111814415A (zh) | 用于芯片验证的高效回归测试方法 | |
CN112765021A (zh) | 一种引导程序的调试检验方法、装置、设备及存储介质 | |
Putrya | Method of free C++ code migration between SoC level tests and standalone IP-Core UVM environments | |
Orehek et al. | Model-based design of an ECU with data-and event-driven parts using auto code generation | |
CN108415839B (zh) | 多核SoC芯片的开发架构及多核SoC芯片的开发方法 | |
Chakraborty et al. | Timing and schedulability analysis for distributed automotive control applications | |
JPH07253909A (ja) | マイクロプログラム検証方法 |
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 |