JP2010039695A - Multitask operating system and debugging device - Google Patents

Multitask operating system and debugging device Download PDF

Info

Publication number
JP2010039695A
JP2010039695A JP2008200821A JP2008200821A JP2010039695A JP 2010039695 A JP2010039695 A JP 2010039695A JP 2008200821 A JP2008200821 A JP 2008200821A JP 2008200821 A JP2008200821 A JP 2008200821A JP 2010039695 A JP2010039695 A JP 2010039695A
Authority
JP
Japan
Prior art keywords
task
state
storage area
time
trace
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
Application number
JP2008200821A
Other languages
Japanese (ja)
Inventor
Yasutsugu Hasegawa
泰嗣 長谷川
Kenji Suzuki
健二 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008200821A priority Critical patent/JP2010039695A/en
Publication of JP2010039695A publication Critical patent/JP2010039695A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To measure time or fraction of a task state of each task operating on a multitask OS without imposing any labor on an operator, and to statistically and graphically display a result. <P>SOLUTION: A real time operating system includes a dispatcher being a mechanism for performing dispatch to switch a task to be executed by a processor, the dispatcher which detects the state change of the task in performing the dispatch. When detecting the state change of the task, the dispatcher calls a subroutine for managing the task state of each of the plurality of tasks in a prescribed storage region, and changes the state of the task to the changed state. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、複数のタスクの状態に係るトレース情報の取得及び表示を簡単な操作で任意に行えるようにしたマルチタスク・オペレーティング・システム及びデバッグ装置に関する。   The present invention relates to a multitask operating system and a debugging apparatus that can arbitrarily acquire and display trace information related to a plurality of task states with a simple operation.

従来より、マルチタスク・オペレーティング・システム(以下、マルチタスクOSという)上で動作するアプリケーション・ソフトウェアや、マルチタスクOSを利用した組み込みシステムのデバッグ作業において、各タスクが設計通りに動作しているか、効率良く動作しているかを、マルチタスクOS内で保持しているトレース情報からタスク毎のタスク状態をオペレータが取得して検証していた。   Conventionally, in the debugging work of application software that runs on a multitasking operating system (hereinafter referred to as a multitasking OS) or an embedded system that uses a multitasking OS, whether each task is operating as designed. The operator acquires the task state for each task from the trace information held in the multitasking OS and verifies whether it is operating efficiently.

例えば、プログラム内のタスク状態が格納してあるアドレスとタスク番号とをオペレータが入力し、そのアドレスに書き込みがあった場合にタスク状態を取得して表示させたり、タスクが停止時間の許容値を超えた場合に停止原因毎に表示したり、オペレータによって設定された時間以上で指定されたタスクが指定された状態であるか否かを検出したりするようにしてデバッグ作業を支援する技術が知られている。
特開昭60−037043号公報 特開平9−179754号公報 特開2000−215084号公報
For example, the operator inputs the address and task number where the task status in the program is stored, and when the address is written, the task status is acquired and displayed, or the task can set the allowable stop time. Technology that supports debugging work by displaying each stop cause when it exceeds the limit, or detecting whether the specified task is in the specified state over the time set by the operator is known. It has been.
Japanese Patent Application Laid-Open No. 60-037043 JP 9-179754 A JP 2000-215084 A

しかしながら、上述したような従来技術では、オペレータが検証したいタスク、タスク状態、検出するための条件などを設定する場合はオペレータによる種々の操作が必要となり、タスクの停止状態を監視する場合はタスクの実行状態と停止状態しか評価することができない。   However, in the prior art as described above, when an operator sets a task to be verified, a task state, a condition for detection, etc., various operations by the operator are required, and when monitoring a task stop state, Only the execution state and the stop state can be evaluated.

従って、トレース中のタスクがどのような状態にあったのか、動作全体における複数のタスクの状態は全体の動作バランスとして効率的であったのかを検証することができなかった。   Therefore, it was impossible to verify what state the task being traced was and whether the state of the plurality of tasks in the entire operation was efficient as the overall operation balance.

よって、本発明の目的は、マルチタスクOS上で動作するアプリケーション・ソフトウェアや、マルチタスクOSを用いた組込みシステムにおいて、タスク毎のタスク状態の時間や割合をオペレータの手間をかけずに測定し、その結果を統計的かつグラフィカルに表示することによりシステムの評価を容易に行えるようにすることである。   Therefore, the object of the present invention is to measure the time and ratio of task state for each task in application software running on the multitasking OS and the embedded system using the multitasking OS without taking the effort of the operator, The result is statistical and graphical display so that the system can be easily evaluated.

上記課題を解決するため、リアル・タイム・オペレーティング・システムに、プロセッサが実行するタスクを切替えるディスパッチを実現する機構であり、該ディスパッチの際に該タスクの状態変化を検出するディスパッチャを備え、前記ディスパッチャは、前記タスクの状態変化を検出すると、複数のタスク各々のタスク状態を所定記憶領域で管理するサブルーチンを呼び出して、該タスクの状態を変化後の状態に変更させるように構成する。   In order to solve the above-described problem, the real-time operating system is a mechanism for realizing dispatch for switching a task to be executed by a processor, and includes a dispatcher for detecting a state change of the task at the time of the dispatch. When a change in the state of the task is detected, a subroutine for managing the task state of each of the plurality of tasks in a predetermined storage area is called to change the state of the task to the changed state.

また、デバッグ装置に、ターゲットの所定記憶領域にメモリアクセス可能なデバッガと、オペレータによるトレース取得の操作に応じて前記デバッガにメモリアクセスを行わせることによって前記所定記憶領域に格納されている複数のタスクの状態変化に係るトレース情報を取得し、該トレース情報を用いてタスク毎の状態変化を統計的かつグラフィカルに表す表示画面を作成するアナライザとしてコンピュータに機能させるように構成する。   In addition, a debugger capable of memory access to a predetermined storage area of a target, and a plurality of tasks stored in the predetermined storage area by causing the debugger to perform memory access according to an operation of acquiring a trace by an operator Trace information related to the state change is acquired, and the computer is caused to function as an analyzer that creates a display screen that statistically and graphically represents the state change for each task using the trace information.

マルチタスクOSを用いた組込みシステムのタスクプログラムで、複数のタスク各々のタスク状態に係る情報を、オペレータの手間をかけずに取得及び表示させることが可能になる。   With a task program of an embedded system using a multitask OS, it is possible to acquire and display information related to the task status of each of a plurality of tasks without the operator's effort.

以下、本発明の実施の形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

マルチタスク・オペレーティング・システム(以下、マルチタスクOSという)において管理されるタスクの状態は、大きく、
・RUN状態(実行状態):プロセッサによって処理されている状態
・実行以外の状態:プロセッサによって処理されていない状態
とに分けられる。
The state of tasks managed in a multitasking operating system (hereinafter referred to as multitasking OS) is large.
RUN state (execution state): State processed by the processor State other than execution: State not processed by the processor

更に、この実行以外の状態として、
・READY状態(実行可能状態):いつでも実行することが可能な状態
・WAITING状態(待ち状態):一定時間停止している状態
・WAITING−SUSPEND状態(二重待ち状態):WAITING状態とSUSPEND状態の二つの待ち条件を満たしている状態
・SUSPEND状態(強制待ち状態):他のタスクによって強制的に待ちにされた状態
・DORMANT状態(休止状態):タスクとして実行開始できる状態
などがある。
Furthermore, as a state other than this execution,
-READY state (executable state): a state where it can be executed anytime-WAITING state (waiting state): a state where it has been stopped for a certain period of time-WAITING-SUPEND state (double waiting state): WAITING state and SUSPEND state State that satisfies two waiting conditions: SUSPEND state (forced wait state): state that is forcibly waited by another task DORMANT state (pause state): a state where execution can be started as a task.

本実施例では、動作中のマルチタスクOSにおける複数のタスクの各々の状態を所定の記憶領域(後述されるトレースメモリ)で管理し、タスクの状態が変化するタイミングでタスクの状態を取得して随時更新する。タスクの状態が変化するタイミングとして、ディスパッチャが呼ばれる時とカーネルの機能を呼び出すためのシステムコールが行われる時とに着目し、例えば、図1に示すような処理フローが実行される。図1は、タスクの状態の変化に応じた処理フローを示す図である。   In this embodiment, each state of a plurality of tasks in the operating multitasking OS is managed in a predetermined storage area (a trace memory described later), and the task state is acquired at the timing when the task state changes. Update from time to time. Focusing on when the task state changes, when the dispatcher is called and when the system call for calling the kernel function is performed, for example, the processing flow shown in FIG. 1 is executed. FIG. 1 is a diagram illustrating a processing flow according to a change in the state of a task.

図1において、タスクのディスパッチャが発生し、ディスパッチャが呼ばれると(a)、ディスパッチャ内でタスク状態に変化があるか否かをチェックする(b)。一方で、システムコールが呼ばれた場合(c)にも、システムコール内でタスク状態に変化があるか否かをチェックする(d)。   In FIG. 1, when a task dispatcher is generated and called (a), it is checked whether there is a change in the task state in the dispatcher (b). On the other hand, when a system call is called (c), it is checked whether there is a change in the task state in the system call (d).

タスク状態に変化を検出した場合、タスク状態の変更を通知するために備えられたサブルーチンにジャンプする(e)。そのタスク状態変更通知用のサブルーチン内で、タスク毎のタスク状態、システム時間などのデータをバッファリングする(f)。そして、バッファリングされたデータを、ターゲットのプロセッサをエミュレートするエミュレータを経由して取得し、デバッグ装置でデータの解析及び統計情報、それら結果に基づくグラフ表示などを行う(g)。エミュレータとして、例えばICE(登録商標)(InCircuit Emulator)等が用いられる。   When a change is detected in the task state, the process jumps to a subroutine provided for notifying the change of the task state (e). In the task status change notification subroutine, data such as task status and system time for each task is buffered (f). Then, the buffered data is acquired via an emulator that emulates the target processor, and the data is analyzed and statistical information is displayed on the debug device, and a graph is displayed based on the results (g). As the emulator, for example, ICE (registered trademark) (InCircuit Emulator) or the like is used.

このような処理を、マルチタスクOSを用いたアプリケーション・ソフトウェアや、マルチタスクOSを用いた組み込みシステムにおいて、タスク毎のタスク状態に係る情報表示をマルチタスクOSとデバッグ装置とを連携して行う。   Such processing is performed in cooperation with the multitasking OS and the debugging device in the application software using the multitasking OS or the embedded system using the multitasking OS in association with the task status for each task.

図2は、開発環境を実現する組み込みシステムの構成例を示すブロック図である。図2に示す組み込みシステム10は、プロセッサ1と、入力装置2と、モニタ3と、メモリ4と、デバッグ装置5とを有し、互いにバスで接続される。プロセッサ1は、メモリ4からプログラムコードを読み出して組み込みシステム10全体を制御する。入力装置2は、オペレータにタスク毎のタスク状態を取得するかどうかを選択させる。モニタ3は、デバッグ装置5で解析したデータから統計情報またはグラフを表示する。メモリ4は、マルチタスクOS、タスクプログラムなどが格納され、プロセッサ1に読み出されて実行される。デバッグ装置5は、マルチタスクOSでバッファリングしたトレース情報を解析し、タスク毎のタスク状態を取得する。   FIG. 2 is a block diagram illustrating a configuration example of an embedded system that realizes a development environment. An embedded system 10 shown in FIG. 2 includes a processor 1, an input device 2, a monitor 3, a memory 4, and a debug device 5, and are connected to each other via a bus. The processor 1 reads the program code from the memory 4 and controls the entire embedded system 10. The input device 2 causes the operator to select whether to acquire a task state for each task. The monitor 3 displays statistical information or a graph from the data analyzed by the debugging device 5. The memory 4 stores a multitask OS, a task program, etc., and is read out and executed by the processor 1. The debug device 5 analyzes the trace information buffered by the multitask OS, and acquires the task state for each task.

図3は、デバッグ装置の構成例を示すブロック図である。図3において、デバッグ装置5は、言語ツール21と、ロードモジュールファイル22と、統合開発環境(IDE:Integrated Development Environment)23と、アナライザ24と、RIM(RTOS Interface Module)25と、デバッガ26として機能する種々のプログラムを有し、これらプログラムがメモリ4に読み出され、プロセッサ1によって実行される。   FIG. 3 is a block diagram illustrating a configuration example of the debugging device. In FIG. 3, the debugging device 5 functions as a language tool 21, a load module file 22, an integrated development environment (IDE) 23, an analyzer 24, a RIM (RTOS Interface Module) 25, and a debugger 26. These programs are read into the memory 4 and executed by the processor 1.

言語ツール21には、マルチタスクOSとして動作するRTOS(Real Time Operating System)7aと、ターゲット1aを検証するためのデバッグモジュール7bと、ターゲット1aに組み込まれたユーザアプリケーション7cとが与えられる。そして、データ処理プログラムとしてのロードモジュールファイル22が作成される。RTOS7aが用いられる理由は、本実施例における開発環境を実現する組み込みシステム10では、例えば、オペレータがボタンを押した時点でオペレーティング・システム(OS)が処理する必要があり、そのためRTOS7aが用いられる。   The language tool 21 is provided with an RTOS (Real Time Operating System) 7a operating as a multitasking OS, a debug module 7b for verifying the target 1a, and a user application 7c incorporated in the target 1a. Then, a load module file 22 as a data processing program is created. The reason why the RTOS 7a is used is that, in the embedded system 10 that realizes the development environment in this embodiment, for example, the operating system (OS) needs to perform processing when the operator presses a button, and therefore the RTOS 7a is used.

ロードモジュールファイル22は、開発処理を進めるための統合開発環境(IDE)23に与えられる。このIDE23の内部には、アナライザ24とデバッガ26とが備えられ、その中間にはRTOSインターフェース・モジュール(RIM)25が備えられ、アナライザ24とRIM25とはRTOSアクセス・インターフェース(RIF)8aによって接続され、またRIM25とデバッガ26とはターゲット・アクセス・インターフェース(TIF)8bによって接続されている。アナライザ24、RIM25、デバッガ226は、例えばDLL(Dynamic Link Library)ファイルで備えられる。デバッガ26は、デバッガ26に備えられたメモリアクセス部によってICE6を介してターゲット1aの内部のトレースメモリ7dにアクセスすることができる。   The load module file 22 is given to an integrated development environment (IDE) 23 for proceeding with development processing. Inside the IDE 23, an analyzer 24 and a debugger 26 are provided, and an RTOS interface module (RIM) 25 is provided between them. The analyzer 24 and the RIM 25 are connected by an RTOS access interface (RIF) 8a. The RIM 25 and the debugger 26 are connected by a target access interface (TIF) 8b. The analyzer 24, RIM 25, and debugger 226 are provided as DLL (Dynamic Link Library) files, for example. The debugger 26 can access the trace memory 7d in the target 1a via the ICE 6 by a memory access unit provided in the debugger 26.

ターゲット1aは、例えば開発中のプロセッサであり、ターゲット1aに備えられたメモリ9内部にはRTOS7a、デバッグモジュール7b、ユーザアプリケーション7c、トレースメモリ7d等を格納するためのプログラム領域及びユーザメモリ領域を備えている。ターゲット1aは、所定のインターフェースによってICE6と接続され、ICE6は更に所定のインターフェースによって組み込みシステム1に接続されデバッガ26と通信する。   The target 1a is, for example, a processor under development, and includes a program area and a user memory area for storing an RTOS 7a, a debug module 7b, a user application 7c, a trace memory 7d, etc. in the memory 9 provided in the target 1a. ing. The target 1a is connected to the ICE 6 through a predetermined interface, and the ICE 6 is further connected to the embedded system 1 through a predetermined interface to communicate with the debugger 26.

次に、オペレータによるトレース開始要求に応じて、デバッグ装置5がターゲット1aのトレースメモリ7dを初期化するためのシーケンスフローについて説明する。図4は、トレースメモリを初期化するためのシーケンスフローを示す図である。   Next, a sequence flow for the debug device 5 to initialize the trace memory 7d of the target 1a in response to a trace start request from the operator will be described. FIG. 4 is a diagram showing a sequence flow for initializing the trace memory.

図4において、アナライザ24によってモニタ3に表示される画面31からオペレータが入力装置2を用いてトレース開始ボタン32を選択することによってトレース開始要求が発生すると、アナライザ24は、ターゲット1aのユーザメモリ領域にあるタスク情報などを読み出すために、RIM25にメモリ参照要求を発行する(S1)。メモリ参照要求に応じて、RIM25は、メモリ9の内容を読み出す指示がデバッガ26に与えられ(S2)、デバッガ26からメモリアクセス部によってICE6を介してターゲット1aのメモリ9が制御され、タスク情報などのデータを読み出すためにメモリ9に対するデータリードアクセスが成される(S3)。   In FIG. 4, when a trace start request is generated by an operator selecting a trace start button 32 from the screen 31 displayed on the monitor 3 by the analyzer 24 using the input device 2, the analyzer 24 displays the user memory area of the target 1 a. In order to read out task information and the like in memory, a memory reference request is issued to the RIM 25 (S1). In response to the memory reference request, the RIM 25 gives an instruction to read the contents of the memory 9 to the debugger 26 (S2), and the memory 9 of the target 1a is controlled from the debugger 26 via the ICE 6 by the memory access unit, task information, etc. In order to read the data, a data read access to the memory 9 is performed (S3).

読み出されたメモリ9の内容、すなわちタスク情報などのデータは、ICE6によってメモリアクセス部を介してデバッガ26に通知され(S4)、デバッガ26からRIM25に通知される(S5)。そして、RIM25によってアナライザ24が必要とするタスク情報などのデータがアナライザ24に通知されて(S6)、ターゲット1aのメモリ9に格納されているタスク情報などのデータの取得が完了する。   The contents of the read memory 9, that is, data such as task information, are notified to the debugger 26 by the ICE 6 via the memory access unit (S4), and from the debugger 26 to the RIM 25 (S5). Data such as task information required by the analyzer 24 is notified to the analyzer 24 by the RIM 25 (S6), and acquisition of data such as task information stored in the memory 9 of the target 1a is completed.

アナライザ24は、取得したタスク情報などのデータを初期化情報としてターゲット1aのトレースメモリ7dに書き込むために、RIM25にメモリ書き込み要求を行う(S7)。RIM25は、初期化情報をトレースメモリ7dに書き込む指示をデバッガ26に行い(S8)、デバッガ26からメモリアクセス部によってICE6を介してターゲット1aのトレースメモリ7dへのデータライトアクセスがなされて、トレースメモリ7dの初期化が終了する。トレースメモリ7dに書き込まれる初期化情報には、複数のタスク各々を識別するタスクIDとトレース開始時点のタスク状態とが対応させて示される。   The analyzer 24 makes a memory write request to the RIM 25 in order to write the acquired data such as task information as initialization information in the trace memory 7d of the target 1a (S7). The RIM 25 gives an instruction to write initialization information to the trace memory 7d to the debugger 26 (S8), and the data access to the trace memory 7d of the target 1a is performed from the debugger 26 via the ICE 6 by the memory access unit. 7d initialization is completed. In the initialization information written in the trace memory 7d, a task ID for identifying each of a plurality of tasks and a task state at the start of tracing are shown in correspondence with each other.

トレースメモリ7dに初期化情報が設定されると、トレース中は、図1に示すディスパッチャ又はシステムコールが呼ばれる毎に変化したタスク状態がトレースメモリ7dに格納され、タスク情報が逐次更新される。トレースメモリ7dの内容は、トレース取得要求によって読み出され、画面31にグラフ表示34にデータ処理されて表示される。   When the initialization information is set in the trace memory 7d, during the trace, the task state changed every time the dispatcher or system call shown in FIG. 1 is called is stored in the trace memory 7d, and the task information is sequentially updated. The contents of the trace memory 7d are read out by a trace acquisition request, and are processed and displayed on the screen 31 in the graph display 34.

図5は、トレース開始後にトレースを取得するシーケンスフローを示す図である。図5において、アナライザ24によってモニタ3に表示される画面31からオペレータが入力装置2を用いてトレース取得ボタン33を選択することによってトレース取得要求が発生すると、アナライザ24は、ターゲット1aのユーザメモリ領域にあるトレースメモリ9の内容を読み出すために、RIM25にトレースログの取得が要求される(S11)。   FIG. 5 is a diagram showing a sequence flow for acquiring a trace after the trace is started. In FIG. 5, when a trace acquisition request is generated by the operator selecting the trace acquisition button 33 from the screen 31 displayed on the monitor 3 by the analyzer 24 using the input device 2, the analyzer 24 displays the user memory area of the target 1a. In order to read out the contents of the trace memory 9 in (1), the RIM 25 is requested to acquire a trace log (S11).

そして、RIM25によってトレースメモリ7dの内容を読み出す指示がデバッガ26に与えられ(S12)、デバッガ26からメモリアクセス部によってICE6を介してターゲット1aのトレースメモリ7dの内容を読み出すためにメモリ9に対するデータリードアクセスが成される(S13)。   Then, an instruction to read the contents of the trace memory 7d is given to the debugger 26 by the RIM 25 (S12), and the data is read from the memory 9 to read the contents of the trace memory 7d of the target 1a from the debugger 26 via the ICE 6 by the memory access unit. Access is made (S13).

読み出されたトレースメモリ7dの内容、すなわちトレース情報は、ICE6を介してメモリアクセス部によってデバッガ26に通知され(S14)、デバッガ26からRIM25に通知される(S15)。そして、RIM25によってアナライザ24が必要とするトレース情報がアナライザ24に通知されて(S16)、ターゲット1aのトレースメモリ7dに格納されているトレース情報の取得が完了する。   The content of the read trace memory 7d, that is, the trace information is notified to the debugger 26 by the memory access unit via the ICE 6 (S14), and is notified from the debugger 26 to the RIM 25 (S15). Then, the RIM 25 notifies the analyzer 24 of the trace information required by the analyzer 24 (S16), and the acquisition of the trace information stored in the trace memory 7d of the target 1a is completed.

次に、ターゲット1aのRTOS7aによって提供される各種処理について説明する。図6は、ディスパッチャ処理のフローチャート図である。図6に示すディスパッチャ処理は、図1の(a)、(b)及び(e)に対応する。図6において、タスクのディスパッチャが発生し、ディスパッチャが呼び出され、ディスパッチ処理を行うディスパッチャに処理が移る(S21)。ディスパッチャ内でタスクの状態が変化するか否かをチェックし(S22)、タスクの状態が変化している場合は、タスク変更通知用のサブルーチンが呼び出される(S23)。一方、タスクの状態が変化しない場合はタスク変更通知用のサブルーチンを呼び出すことなく処理を終了する。ディスパッチャは、切り替える前のタスクのタスクID及びタスク状態と、切り替えた後のタスクのタスクID及びタスク状態とを、タスク変更通知用のサブルーチンを呼び出す際に通知する。   Next, various processes provided by the RTOS 7a of the target 1a will be described. FIG. 6 is a flowchart of the dispatcher process. The dispatcher process shown in FIG. 6 corresponds to (a), (b), and (e) of FIG. In FIG. 6, a task dispatcher is generated, the dispatcher is called, and the process moves to the dispatcher that performs the dispatch process (S21). It is checked whether or not the task state changes in the dispatcher (S22). If the task state has changed, a task change notification subroutine is called (S23). On the other hand, if the task state does not change, the process is terminated without calling a task change notification subroutine. The dispatcher notifies the task ID and task status of the task before switching and the task ID and task status of the task after switching when calling a subroutine for task change notification.

図7は、システムコール処理のフローチャート図である。図7に示すシステムコール処理は、図1の(c)、(d)及び(e)に対応する。図7において、システムコールが呼び出されると(S31)、システムコール内でタスクの状態が変化するか否かをチェックし(S32)、タスクの状態が変化している場合は、タスク変更通知用のサブルーチンが呼び出される(S33)。一方、タスクの状態が変化しない場合はタスク変更通知用のサブルーチンを呼び出すことなく処理を終了する。システムコールは、処理対象となったタスクのタスクID及びタスク状態を、タスク変更通知用のサブルーチンを呼び出す際に通知する。   FIG. 7 is a flowchart of the system call process. The system call process shown in FIG. 7 corresponds to (c), (d), and (e) in FIG. In FIG. 7, when a system call is called (S31), it is checked whether or not the state of the task changes in the system call (S32). A subroutine is called (S33). On the other hand, if the task state does not change, the process is terminated without calling a task change notification subroutine. The system call notifies the task ID and task state of the task to be processed when calling a task change notification subroutine.

図8は、タスク状態通知用のサブルーチンが行う処理のフローチャート図である。図8に示すサブルーチンによる処理は、図1の(e)、(f)及び(g)に対応する。図8において、ディスパッチが発生した場合又はシステムコールが呼び出された場合で、かつ、タスクの状態が変更された場合、タスク状態変更通知用のサブルーチンが呼び出され、サブルーチンに処理が移る(S40)。   FIG. 8 is a flowchart of processing performed by the task status notification subroutine. The processing by the subroutine shown in FIG. 8 corresponds to (e), (f), and (g) in FIG. In FIG. 8, when dispatch occurs or when a system call is called and when the task state is changed, a task state change notification subroutine is called, and the process proceeds to the subroutine (S40).

タスク状態変更通知用のサブルーチンは、トレースメモリ7dを参照して、呼び出された際に通知されたタスクIDに対応する変更前のタスク状態とシステム時刻とから、変更前のタスク状態の経過時間を計算し、そのタスク状態の累積時間としてトレースメモリ7dにバッファリングする(S41)。また、呼び出された際に通知されたタスク状態を変更後のタスク状態として現在のシステム時刻と共にそのタスクIDに対応させてトレースメモリ7dにバッファリングを行う(S42)。そして、サブルーチンでの処理を終了する。   The subroutine for task state change notification refers to the trace memory 7d and calculates the elapsed time of the task state before the change from the task state before the change corresponding to the task ID notified when the task is called and the system time. The calculated time is buffered in the trace memory 7d as the accumulated time of the task state (S41). Further, the task state notified at the time of calling is buffered in the trace memory 7d in association with the task ID together with the current system time as the changed task state (S42). Then, the processing in the subroutine ends.

上述したようなタスク状態通知用のサブルーチンをシステムコール及びディスパッチャから呼び出すように構成することで、タスクの状態変化を随時トレースメモリ7dに保存し管理することができる。このようなサブルーチンは、RTOS7aに備えるようにしてもよいし、例えば、システムコール及びディスパッチャから関数コール可能なライブラリに備えるようにしてもよい。また、上述したサブルーチンによって複数のタスクの状態変化が逐次管理されるため、アナライザ24からのトレース取得要求に応じて、トレース開始からの現在の複数のタスクの各々の状態を示すトレース情報を提供することが可能となる。   By configuring the subroutine for task status notification as described above to be called from the system call and dispatcher, it is possible to save and manage task status changes in the trace memory 7d as needed. Such a subroutine may be provided in the RTOS 7a, or may be provided in a library in which a function call can be made from a system call and a dispatcher, for example. In addition, since the state changes of a plurality of tasks are sequentially managed by the above-described subroutine, trace information indicating the current states of the plurality of tasks from the start of the trace is provided in response to a trace acquisition request from the analyzer 24. It becomes possible.

図9は、トレースメモリに格納されるトレース情報の例を示す図である。図9において、トレースメモリ7d内に格納されるトレース情報は、タスクIDに対応させて、現在のタスク状態、タスク状態が変更された時のシステム時刻、RUN状態の累積時間、READY状態の累積時間、WAITING状態の累積時間、WAITING−SUSPEND状態の累積時間、SUSPEND状態の累積時間、DORMANT状態の累積時間などの項目で構成される。   FIG. 9 is a diagram illustrating an example of trace information stored in the trace memory. In FIG. 9, the trace information stored in the trace memory 7d includes the current task state, the system time when the task state is changed, the accumulated time of the RUN state, and the accumulated time of the READY state in association with the task ID. , WAITING state accumulation time, WAITING-SUSPEND state accumulation time, SUSPEND state accumulation time, DORMANT state accumulation time, and the like.

例えば、トレース情報として、タスクID「IDLE」に対応させて、現在のタスク状態「READY」、タスク状態が変更された時のシステム時刻「20」、RUN状態の累積時間「10」、READY状態の累積時間「90」、WAITING状態の累積時間「0」、WAITING−SUSPEND状態の累積時間「0」、SUSPEND状態の累積時間「0」、DORMANT状態の累積時間「0」のように項目値が格納される。   For example, as trace information, the current task state “READY”, the system time “20” when the task state is changed, the accumulated time “10” of the RUN state, and the READY state are associated with the task ID “IDLE”. Item values are stored such as accumulated time “90”, accumulated time “0” in the WAITING state, accumulated time “0” in the WAITING-SUSPEND state, accumulated time “0” in the SUSPEND state, and accumulated time “0” in the DORMANT state. Is done.

また、このトレース情報では、タスクがタスクID「TASK−1」、「TASK−2」、「TASK−3」のように存在する場合を示している。従って、タスクID「TASK−1」に対応させて、現在のタスク状態「RUN」、タスク状態が変更された時のシステム時刻「80」、RUN状態の累積時間「50」、READY状態の累積時間「20」、WAITING状態の累積時間「10」、WAITING−SUSPEND状態の累積時間「0」、SUSPEND状態の累積時間「0」、DORMANT状態の累積時間「20」のように項目値が格納される。   The trace information shows a case where tasks exist as task IDs “TASK-1”, “TASK-2”, and “TASK-3”. Accordingly, in association with the task ID “TASK-1”, the current task state “RUN”, the system time “80” when the task state is changed, the accumulated time “50” of the RUN state, and the accumulated time of the READY state Item values are stored such as “20”, WAITING state cumulative time “10”, WAITING-SUSPEND state cumulative time “0”, SUSPEND state cumulative time “0”, and DORMANT state cumulative time “20”. .

また、タスクID「TASK−2」に対応させて、現在のタスク状態「READY」、タスク状態が変更された時のシステム時刻「50」、RUN状態の累積時間「0」、READY状態の累積時間「50」、WAITING状態の累積時間「40」、WAITING−SUSPEND状態の累積時間「0」、SUSPEND状態の累積時間「0」、DORMANT状態の累積時間「10」のように項目値が格納される。   Further, in association with the task ID “TASK-2”, the current task state “READY”, the system time “50” when the task state is changed, the RUN state accumulated time “0”, and the READY state accumulated time. Item values are stored such as “50”, WAITING state cumulative time “40”, WAITING-SUSPEND state cumulative time “0”, SUSPEND state cumulative time “0”, and DORMANT state cumulative time “10”. .

更に、タスクID「TASK−3」に対応させて、現在のタスク状態「READY」、タスク状態が変更された時のシステム時刻「50」、RUN状態の累積時間「10」、READY状態の累積時間「10」、WAITING状態の累積時間「10」、WAITING−SUSPEND状態の累積時間「10」、SUSPEND状態の累積時間「10」、DORMANT状態の累積時間「50」のように項目値が格納される。   Further, in correspondence with the task ID “TASK-3”, the current task state “READY”, the system time “50” when the task state is changed, the accumulated time “10” of the RUN state, and the accumulated time of the READY state Item values are stored such as “10”, WAITING state cumulative time “10”, WAITING-SUSPEND state cumulative time “10”, SUSPEND state cumulative time “10”, and DORMANT state cumulative time “50”. .

図10は、アナライザによって表示されるトレース情報のグラフ表示例を示す図である。図10において、アナライザ24は、図5に示すシーケンスによって図9に示すようなトレース情報をターゲット1aのトレースメモリ7dから取得すると、そのトレース情報で示されるタスク毎のトレース開始からトレース取得までの各タスク状態の累積時間に基づいて、タスク状態の割合を算出して、グラフ表示34のような表示画面を作成してモニタ3に表示する。   FIG. 10 is a diagram illustrating a graph display example of the trace information displayed by the analyzer. In FIG. 10, when the analyzer 24 acquires the trace information as shown in FIG. 9 from the trace memory 7d of the target 1a by the sequence shown in FIG. 5, each of the tasks from the start of the trace for each task indicated by the trace information to the acquisition of the trace. A task state ratio is calculated based on the task state accumulated time, and a display screen such as a graph display 34 is created and displayed on the monitor 3.

グラフ表示34では、複数のタスクのトレース情報が示され、各タスクのタスクIDに対応させて、グラフで示した算出したタスク状態の割合と、各タスク状態の累積時間とが示される。タスク状態には、図9に示すトレースメモリ7d内のトレース情報のタスク状態の累積時間の項目に応じた、RUN状態、READY状態、WAITING状態、WAITING−SUSPEND状態、SUSPEND状態、そしてDORMANT状態があり、各々の累積時間が示される。   In the graph display 34, trace information of a plurality of tasks is shown, and the calculated task state ratio shown in the graph and the accumulated time of each task state are shown in correspondence with the task ID of each task. The task state includes a RUN state, a READY state, a WAITING state, a WAITING-SUSPEND state, a SUSPEND state, and a DORMANT state according to the accumulated time items of the task state of the trace information in the trace memory 7d shown in FIG. , Each accumulated time is indicated.

ターゲット1aを検証するオペレータは、タスク毎に操作することなく、簡単な操作で複数のタスクの状態に係るトレース情報の取得を任意に行うことができる。また、複数のタスクの状態を示すグラフ表示34によって、開発中のユーザアプリケーション7bの全体的な動作状況を検証することができる。例えば、タスク「TASK−2」のREADY状態が、他のタスク「TASK−1」の20%及び「TASK−3」の10%と比べて50%と高い割合を示すことから、何らかの要因でタスク「TASK−2」の実行が延期されている可能性があるため、プログラムを最適化することにより性能の向上を見込むことができる。   The operator who verifies the target 1a can arbitrarily acquire trace information related to the states of a plurality of tasks with a simple operation without operating each task. Further, the overall operation status of the user application 7b under development can be verified by the graph display 34 showing the states of a plurality of tasks. For example, since the READY state of the task “TASK-2” shows a higher rate of 50% than 20% of the other tasks “TASK-1” and 10% of “TASK-3”, the task is caused by some factor. Since the execution of “TASK-2” may be postponed, performance improvement can be expected by optimizing the program.

以上の説明に関し、更に以下の項を開示する。
(付記1)
プロセッサが実行するタスクを切替えるディスパッチを実現する機構であり、該ディスパッチの際に該タスクの状態変化を検出するディスパッチャを有し、
前記ディスパッチャは、前記タスクの状態変化を検出すると、複数のタスク各々のタスク状態を所定記憶領域で管理するサブルーチンを呼び出して、該タスクの状態を変化後の状態に変更させるリアル・タイム・オペレーティング・システム。
(付記2)
前記ディスパッチャ内で呼び出された前記サブルーチンによって、変化した前記タスクの状態と該タスクの状態が変化した時の時間とが該タスクのタスクIDに対応させて前記所定記憶領域にバッファリングする機能が実行されることにより、前記記憶領域には前記複数のタスクがタスク単位でその状態が管理される付記1記載のリアル・タイム・オペレーティング・システム。
(付記3)
カーネルの機能を呼び出すために使用される機構であり、呼び出された際に前記プロセッサが実行するタスクの状態変化を検出するシステムコールを有し、
前記システムコールは、前記タスクの状態変化を検出すると、前記サブルーチンを呼び出して、該タスクの状態を変化後の状態に変更させる付記1記載のリアル・タイム・オペレーティング・システム。
(付記4)
前記システムコール内で呼び出された前記サブルーチンによって、変化した前記タスクの状態と該タスクの状態が変化した時の時間とが該タスクのタスクIDに対応させて前記所定記憶領域にバッファリングする機能が実行されることにより、前記記憶領域には前記複数のタスクがタスク単位でその状態が管理される付記3記載のリアル・タイム・オペレーティング・システム。
(付記5)
前記サブルーチンによって、前記所定記憶領域から前記タスクIDに対応させて記憶されている前記タスクの状態が変化した時の前回の時間を取得して該状態の累積時間を算出し、該算出した値で前記所定記憶領域内の前記タスクIDに対応する該状態の累積時間を更新する付記2又は4記載のリアル・タイム・オペレーティング・システム。
(付記6)
前記サブルーチンによって、前記所定記憶領域にタスク毎に複数の状態の累積時間が管理され、該複数の状態には、実行可能状態、待ち状態、二重待ち状態、停止状態、及び休止状態が含まれる付記1乃至6のいずれか一項記載のリアル・タイム・オペレーティング・システム。
(付記7)
ターゲットの所定記憶領域にメモリアクセス可能なデバッガと、
オペレータによるトレース取得の操作に応じて前記デバッガにメモリアクセスを行わせることによって前記所定記憶領域に格納されている複数のタスクの状態変化に係るトレース情報を取得し、該トレース情報を用いてタスク毎の状態変化を統計的かつグラフィカルに表す表示画面を作成するアナライザとしてコンピュータに機能させるデバッグ装置。
(付記8)
前記アナライザは、タスク毎に、複数の状態各々の累積時間を統計情報として示し、全体の累積時間に対する各状態の累積時間の割合をグラフ表示させた前記表示画面を作成する付記7記載のデバッグ装置。
(付記9)
前記アナライザは、前記オペレータによるトレース開始の操作に応じて前記デバッガに前記ターゲットのユーザメモリ領域に格納されているタスク情報を読み出させ、該タスク情報を用いて該デバッガに前記所定記憶領域を初期設定させる付記8記載のデバッグ装置。
(付記10)
前記タスク情報には、前記複数のタスク各々を識別するタスクIDとタスクの現在の状態とが含まれる付記9記載のデバッグ装置。
(付記11)
前記複数の状態には、実行可能状態、待ち状態、二重待ち状態、停止状態、及び休止状態が含まれる付記8乃至10のいずれか一項記載のデバッグ装置。
Regarding the above description, the following items are further disclosed.
(Appendix 1)
A mechanism that implements a dispatch for switching a task to be executed by a processor, and has a dispatcher that detects a state change of the task at the time of the dispatch
When the dispatcher detects a change in the state of the task, the dispatcher calls a subroutine for managing the task state of each of the plurality of tasks in a predetermined storage area, and changes the state of the task to the changed state. system.
(Appendix 2)
The subroutine called in the dispatcher performs a function to buffer the changed task state and the time when the task state is changed in correspondence with the task ID of the task in the predetermined storage area. The real time operating system according to appendix 1, wherein the state of the plurality of tasks is managed in units of tasks in the storage area.
(Appendix 3)
A mechanism used to call a kernel function, and has a system call that detects a change in the state of a task executed by the processor when called.
The real-time operating system according to claim 1, wherein when the system call detects a change in the state of the task, the subroutine is called to change the state of the task to a state after the change.
(Appendix 4)
A function for buffering the task state changed by the subroutine called in the system call and the time when the task state changed in the predetermined storage area in correspondence with the task ID of the task; 4. The real time operating system according to appendix 3, wherein the state of the plurality of tasks is managed in units of tasks in the storage area by being executed.
(Appendix 5)
The subroutine obtains the previous time when the state of the task stored in association with the task ID is changed from the predetermined storage area, calculates the accumulated time of the state, and uses the calculated value. The real time operating system according to appendix 2 or 4, wherein the accumulated time of the state corresponding to the task ID in the predetermined storage area is updated.
(Appendix 6)
The subroutine manages the accumulated time of a plurality of states for each task in the predetermined storage area, and the plurality of states include an executable state, a waiting state, a double waiting state, a stopped state, and a dormant state. The real time operating system according to any one of appendices 1 to 6.
(Appendix 7)
A debugger capable of memory access to a predetermined storage area of the target;
Trace information relating to a state change of a plurality of tasks stored in the predetermined storage area is acquired by causing the debugger to perform memory access in accordance with an operation of acquiring a trace by an operator, and each task is acquired using the trace information. A debugging device that allows a computer to function as an analyzer that creates a display screen that statistically and graphically represents changes in the state of a computer.
(Appendix 8)
8. The debugging device according to appendix 7, wherein the analyzer generates, for each task, the accumulated time of each of a plurality of states as statistical information, and creates the display screen in which the ratio of the accumulated time of each state to the total accumulated time is displayed in a graph. .
(Appendix 9)
The analyzer causes the debugger to read task information stored in the target user memory area in response to an operation of starting trace by the operator, and uses the task information to initialize the predetermined storage area to the debugger. The debugging device according to appendix 8, which is set.
(Appendix 10)
The debugging device according to appendix 9, wherein the task information includes a task ID for identifying each of the plurality of tasks and a current state of the task.
(Appendix 11)
The debugging device according to any one of appendices 8 to 10, wherein the plurality of states include an executable state, a wait state, a double wait state, a stop state, and a dormant state.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

タスクの状態の変化に応じた処理フローを示す図である。It is a figure which shows the processing flow according to the change of the state of a task. 開発環境を実現する組み込みシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the embedded system which implement | achieves a development environment. デバッグ装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of a debugging apparatus. トレースメモリを初期化するためのシーケンスフローを示す図である。It is a figure which shows the sequence flow for initializing a trace memory. トレース開始後にトレースを取得するシーケンスフローを示す図である。It is a figure which shows the sequence flow which acquires a trace after a trace start. ディスパッチャ処理のフローチャート図である。It is a flowchart figure of a dispatcher process. システムコール処理のフローチャート図である。It is a flowchart figure of a system call process. タスク状態通知用のサブルーチンが行う処理のフローチャート図である。It is a flowchart figure of the process which the subroutine for task state notification performs. トレースメモリに格納されるトレース情報の例を示す図である。It is a figure which shows the example of the trace information stored in a trace memory. アナライザによって表示されるトレース情報のグラフ表示例を示す図である。It is a figure which shows the example of a graph display of the trace information displayed by an analyzer.

符号の説明Explanation of symbols

1 プロセッサ
1a ターゲット
2 入力装置
3 モニタ
4 メモリ
5 デバッグ装置
6 ICE
7a RTOS
7b デバッグモジュール
7c ユーザアプリケーション
9 メモリ
10 組込みシステム
21 言語ツール
22 ロードモジュール
23 IDE
24 アナライザ
25 RIM
26 デバッガ
1 processor 1a target 2 input device 3 monitor 4 memory 5 debug device 6 ICE
7a RTOS
7b Debug module 7c User application 9 Memory 10 Embedded system 21 Language tool 22 Load module 23 IDE
24 analyzer 25 RIM
26 Debugger

Claims (10)

プロセッサが実行するタスクを切替えるディスパッチを実現する機構であり、該ディスパッチの際に該タスクの状態変化を検出するディスパッチャを有し、
前記ディスパッチャは、前記タスクの状態変化を検出すると、複数のタスク各々のタスク状態を所定記憶領域で管理するサブルーチンを呼び出して、該タスクの状態を変化後の状態に変更させるリアル・タイム・オペレーティング・システム。
A mechanism that implements a dispatch for switching a task to be executed by a processor, and has a dispatcher that detects a state change of the task at the time of the dispatch
When the dispatcher detects a change in the state of the task, the dispatcher calls a subroutine for managing the task state of each of the plurality of tasks in a predetermined storage area, and changes the state of the task to the changed state. system.
前記ディスパッチャ内で呼び出された前記サブルーチンによって、変化した前記タスクの状態と該タスクの状態が変化した時の時間とが該タスクのタスクIDに対応させて前記所定記憶領域にバッファリングする機能が実行されることにより、前記記憶領域には前記複数のタスクがタスク単位でその状態が管理される請求項1記載のリアル・タイム・オペレーティング・システム。   The subroutine called in the dispatcher performs a function to buffer the changed task state and the time when the task state is changed in correspondence with the task ID of the task in the predetermined storage area. The real time operating system according to claim 1, wherein the state of the plurality of tasks is managed in units of tasks in the storage area. カーネルの機能を呼び出すために使用される機構であり、呼び出された際に前記プロセッサが実行するタスクの状態変化を検出するシステムコールを有し、
前記システムコールは、前記タスクの状態変化を検出すると、前記サブルーチンを呼び出して、該タスクの状態を変化後の状態に変更させる請求項1記載のリアル・タイム・オペレーティング・システム。
A mechanism used to call a kernel function, and has a system call that detects a change in the state of a task executed by the processor when called.
2. The real time operating system according to claim 1, wherein when the system call detects a change in the state of the task, the system call calls the subroutine to change the state of the task to a state after the change.
前記システムコール内で呼び出された前記サブルーチンによって、変化した前記タスクの状態と該タスクの状態が変化した時の時間とが該タスクのタスクIDに対応させて前記所定記憶領域にバッファリングする機能が実行されることにより、前記記憶領域には前記複数のタスクがタスク単位でその状態が管理される請求項3記載のリアル・タイム・オペレーティング・システム。   A function for buffering the task state changed by the subroutine called in the system call and the time when the task state changed in the predetermined storage area in correspondence with the task ID of the task; 4. The real time operating system according to claim 3, wherein the state of the plurality of tasks is managed in the storage area in units of tasks by being executed. 前記サブルーチンによって、前記所定記憶領域から前記タスクIDに対応させて記憶されている前記タスクの状態が変化した時の前回の時間を取得して該状態の累積時間を算出し、該算出した値で前記所定記憶領域内の前記タスクIDに対応する該状態の累積時間を更新する請求項2又は4記載のリアル・タイム・オペレーティング・システム。   The subroutine obtains the previous time when the state of the task stored in association with the task ID is changed from the predetermined storage area, calculates the accumulated time of the state, and uses the calculated value. 5. The real time operating system according to claim 2, wherein the accumulated time of the state corresponding to the task ID in the predetermined storage area is updated. 前記サブルーチンによって、前記所定記憶領域にタスク毎に複数の状態の累積時間が管理され、該複数の状態には、実行状態、実行可能状態、待ち状態などの状態が含まれる請求項1乃至5のいずれか一項記載のリアル・タイム・オペレーティング・システム。   6. The accumulated time of a plurality of states is managed for each task in the predetermined storage area by the subroutine, and the plurality of states include states such as an execution state, an executable state, and a wait state. A real time operating system according to any one of the preceding claims. ターゲットの所定記憶領域にメモリアクセス可能なデバッガと、
オペレータによるトレース取得の操作に応じて前記デバッガにメモリアクセスを行わせることによって前記所定記憶領域に格納されている複数のタスクの状態変化に係るトレース情報を取得し、該トレース情報を用いてタスク毎の状態変化を統計的に表す表示画面を作成するアナライザとしてコンピュータに機能させるデバッグ装置。
A debugger capable of memory access to a predetermined storage area of the target;
Trace information relating to a state change of a plurality of tasks stored in the predetermined storage area is acquired by causing the debugger to perform memory access in accordance with an operation of acquiring a trace by an operator, and each task is acquired using the trace information. A debugging device that causes a computer to function as an analyzer that creates a display screen that statistically represents changes in the state of a computer.
前記アナライザは、タスク毎に、複数の状態各々の累積時間を統計情報として示し、全体の累積時間に対する各状態の累積時間の割合をグラフ表示させた前記表示画面を作成する請求項7記載のデバッグ装置。   8. The debugging according to claim 7, wherein the analyzer generates, for each task, the display screen that shows a cumulative time of each of a plurality of states as statistical information, and displays a graph of a ratio of the cumulative time of each state to the total cumulative time. apparatus. 前記アナライザは、前記オペレータによるトレース開始の操作に応じて前記デバッガに前記ターゲットのユーザメモリ領域に格納されているタスク情報を読み出させ、該タスク情報を用いて該デバッガに前記所定記憶領域を初期設定させる請求項8記載のデバッグ装置。   The analyzer causes the debugger to read task information stored in the target user memory area in response to an operation of starting trace by the operator, and uses the task information to initialize the predetermined storage area to the debugger. The debugging device according to claim 8 to be set. 前記タスク情報には、前記複数のタスク各々を識別するタスクIDとタスクの現在の状態とが含まれる請求項9記載のデバッグ装置。   The debugging device according to claim 9, wherein the task information includes a task ID for identifying each of the plurality of tasks and a current state of the task.
JP2008200821A 2008-08-04 2008-08-04 Multitask operating system and debugging device Pending JP2010039695A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008200821A JP2010039695A (en) 2008-08-04 2008-08-04 Multitask operating system and debugging device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008200821A JP2010039695A (en) 2008-08-04 2008-08-04 Multitask operating system and debugging device

Publications (1)

Publication Number Publication Date
JP2010039695A true JP2010039695A (en) 2010-02-18

Family

ID=42026100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008200821A Pending JP2010039695A (en) 2008-08-04 2008-08-04 Multitask operating system and debugging device

Country Status (1)

Country Link
JP (1) JP2010039695A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013120524A (en) * 2011-12-08 2013-06-17 Renesas Electronics Corp Multiprocessor device and control method of multiprocessor device
CN103744772A (en) * 2014-01-28 2014-04-23 北京经纬恒润科技有限公司 Method and system for detecting task running performance
JP2015534688A (en) * 2012-09-29 2015-12-03 中▲興▼通▲訊▼股▲フン▼有限公司 Application development, compilation, and debugging method and apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013120524A (en) * 2011-12-08 2013-06-17 Renesas Electronics Corp Multiprocessor device and control method of multiprocessor device
JP2015534688A (en) * 2012-09-29 2015-12-03 中▲興▼通▲訊▼股▲フン▼有限公司 Application development, compilation, and debugging method and apparatus
CN103744772A (en) * 2014-01-28 2014-04-23 北京经纬恒润科技有限公司 Method and system for detecting task running performance

Similar Documents

Publication Publication Date Title
US7383538B2 (en) Storing and restoring snapshots of a computer process
US7992042B2 (en) Debug support device, and program for directing computer to perform debugging method
US9244815B2 (en) Integrated debugger and code coverage tool
US8136097B2 (en) Thread debugging device, thread debugging method and information storage medium
US20140372986A1 (en) Timed API Rules for Runtime Verification
US8255203B2 (en) Method of debugging an executable computer program having instructions for different computer architectures
US8756583B2 (en) Thread-specific event management in a non-stop debugging environment
CN111176869B (en) Timeout detection method, device, equipment and storage medium
JP2006277115A (en) Abnormality detection program and abnormality detection method
US8701094B2 (en) Event management in a non-stop debugging environment
US9361205B2 (en) Code coverage framework
JP2010039695A (en) Multitask operating system and debugging device
KR101027005B1 (en) Visual debugging apparatus and method thereof
JP5542643B2 (en) Simulation apparatus and simulation program
CN115454686A (en) Information processing method and device and storage medium
JP2013206061A (en) Information processing device and method, and program
Kaur et al. Testing of Linux Performance Monitoring Tools on ARM Based Raspberry Pi
JP2912269B2 (en) Debug system and method
Walcott-Justice Exploiting Hardware Monitoring in Software Engineering
JP2004102324A (en) Interrupt program module, recording medium storing the module and computer capable of interrupt processing
Hölscher Nested Preemption Fixed-Priority Scheduler for EV3OSEK
JP3075359B2 (en) Program debugging start processing method
JP2003263340A (en) Debug device
JP5125786B2 (en) Information processing system, stack overflow occurrence detection method and program
JP2002055845A (en) Method and device of parallel processing type for general-purpose debug for multitask system and storage medium with multitask system parallel processing type general debugging program stored therein