JP7798331B2 - マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム - Google Patents

マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム

Info

Publication number
JP7798331B2
JP7798331B2 JP2021164664A JP2021164664A JP7798331B2 JP 7798331 B2 JP7798331 B2 JP 7798331B2 JP 2021164664 A JP2021164664 A JP 2021164664A JP 2021164664 A JP2021164664 A JP 2021164664A JP 7798331 B2 JP7798331 B2 JP 7798331B2
Authority
JP
Japan
Prior art keywords
object code
microcomputer
general
purpose computer
code
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
Application number
JP2021164664A
Other languages
English (en)
Other versions
JP2023055358A (ja
Inventor
浩二 泉屋
Original Assignee
株式会社アプリ
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 株式会社アプリ filed Critical 株式会社アプリ
Priority to JP2021164664A priority Critical patent/JP7798331B2/ja
Publication of JP2023055358A publication Critical patent/JP2023055358A/ja
Application granted granted Critical
Publication of JP7798331B2 publication Critical patent/JP7798331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

本発明は、マイクロコンピュータ制御プログラムのシミュレーション方法であって、特に、ターゲット用マイクロコンピュータで実行される制御プログラムのソースコードから生成するオブジェクトコードをマイクロコンピュータと異なる命令セットを有する汎用コンピュータで実行する方法に関する。
従来より、電化製品や自動車等の所定の製品(ターゲット)に搭載されたマイクロコンピュータの動作等を確認するために、マイクロコンピュータ制御プログラムのオブジェクトコードをソースコードに変換し、該ソースコードをマイクロコンピュータと異なる命令セットを有する汎用コンピュータのオブジェクトコードに変換(クロスコンパイル)することによりシミュレーションするシステムが知られている。例えば、特許文献1に開示されているシステムは、まず、車載マイクロコンピュータ制御プログラムのオブジェクトコードを逆アセンブルしてレジスタ操作コードを抽出する。次に、アセンブラコードを逆コンパイルして、制御プログラムのソースコードに変換する。該ソースコードに抽出したレジスタ操作コードを自動で付加する。最後に、レジスタ操作コード付加後のソースコードを汎用コンピュータのオブジェクトコードにクロスコンパイルする。これにより、車載マイクロコンピュータを含む模擬車両全体のシミュレーションを汎用コンピュータ上で行うことが可能となる。
特開2010-244377号公報
しかし、特許文献1では、「レジスタ操作コードの付加」をソースコードに行うため、ソースコードを改竄するリスクがある。また、ソースコードを変更するため、「オブジェクトコード→アセンブリコード→コンパイラコード(ソースコード)→オブジェクトコード」といった一連のコード変換を要するので、コード変換手続が煩雑である。
本発明は、斯かる点に鑑みてなされたものであり、その目的とするところは、所定の製品に搭載されたマイクロコンピュータで実行される制御プログラムのソースコードを変更することなく、ソースコードから生成するオブジェクトコードを、マイクロコンピュータと異なる命令セットを有する汎用コンピュータで簡単に実行する方法を提供することにある。
上記の目的を達成するために、本発明は、マイクロコンピュータ制御プログラムのシミュレーション方法に関し、シミュレーション実行時に、マイクロコンピュータのソースコードから生成するオブジェクトコードを読み込んだメモリ内部において、マイクロコンピュータ専用関数のオブジェクトコードを汎用コンピュータ用関数のオブジェクトコードに変更することにより、マイクロコンピュータ専用関数で記述される動作を汎用コンピュータで実行できるようにすることを特徴とする。
具体的には、マイクロコンピュータで実行される制御プログラムのソースコードから生成するオブジェクトコードを、メモリを備え且つ前記マイクロコンピュータと異なる命令セットを有する汎用コンピュータでシミュレーションする方法を対象とし、次のような解決手段を講じた。
すなわち、第1の発明では、前記制御プログラムのオブジェクトコードを前記シミュレーションの実行時に前記メモリに読み込むことと、前記メモリの内部において、マイクロコンピュータ専用関数で記述された動作を前記汎用コンピュータで実行できるように前記マイクロコンピュータ専用関数のオブジェクトコードを汎用コンピュータ用関数のオブジェクトコードに変更することと、前記汎用コンピュータによって、前記マイクロコンピュータ専用関数のオブジェクトコードが前記汎用コンピュータ用関数のオブジェクトコードに変更された前記制御プログラムのオブジェクトコードを実行することとを含むことを特徴とする。
第2の発明では、第1の発明において、前記変更は、前記マイクロコンピュータ専用関数が実行されると、前記汎用コンピュータ用関数のオブジェクトコードのアドレスにジャンプして前記汎用コンピュータ用関数のオブジェクトコードを実行するようにすることを特徴とする。
第3の発明では、第1から第2のいずれか1つの発明において、前記オブジェクトコードは、ダイナミックリンクライブラリ(DLL)を含むことを特徴とする。
第4の発明では、第3の発明において、前記オブジェクトコードの生成とともに生成されるデバッグシンボル(PDB)ファイルに基づいて、前記オブジェクトコードの変数にアクセスするための指定シンボル名のポインタ情報を取得するAPI(Application Program Interface)を生成することをさらに含むことを特徴とする。
第5の発明では、第1から第4のいずれか1つの発明において、前記オブジェクトコードを、実行される関数が無い場合に、前記汎用コンピュータのオペレーティングシステムに制御が戻るようにすることをさらに含むことを特徴とする。
また、本発明は、ソースコードから生成するオブジェクトコードの実行時に、読み込んだメモリ空間において、マイクロコンピュータ専用関数のオブジェクトコードを汎用コンピュータ用関数のオブジェクトコードに変更することにより、マイクロコンピュータ専用関数で記述される動作を汎用コンピュータで実行できるようにするシミュレーションシステムをも対象とし、次のような解決手段を講じた。
すなわち、第6の発明では、第1から第5のいずれか1つの発明に記載の方法を実行可能な汎用コンピュータを備えることを特徴とする。
第1及び第6の発明では、シミュレーションの実行時に、制御プログラムのソースコードから生成するオブジェクトコードを汎用コンピュータが備えるメモリに読み込む。読み込んだメモリの内部において、マイクロコンピュータ専用関数で記述される動作を汎用コンピュータで実行できるようにマイクロコンピュータ専用関数のオブジェクトコードを汎用コンピュータ用関数のオブジェクトコードに変更する。マイクロコンピュータ専用関数のオブジェクトコードが汎用コンピュータ用関数のオブジェクトコードに変更された制御プログラムのオブジェクトコードを汎用コンピュータによって実行する。シミュレーション実行時のメモリにおいてオブジェクトコード内のマイクロコンピュータ専用関数を変更することによって、マイクロコンピュータ専用関数で記述された動作を汎用コンピュータで実行するため、オブジェクトコードの実行時に制御プログラムのソースコードを変更する必要がないので、ソースコードを改竄するリスクが無い。また、煩雑なコード変換の必要もないので、マイクロコンピュータと異なる命令セットを有する汎用コンピュータでオブジェクトコードを簡単に実行できる。
第2の発明では、マイクロコンピュータ専用関数のオブジェクトコードの変更は、マイクロコンピュータ専用関数が実行されると、汎用コンピュータ用関数のオブジェクトコードのアドレスにジャンプして汎用コンピュータ用関数を実行するようにする。つまり、マイクロコンピュータ専用関数のオブジェクトコードと汎用コンピュータ用関数のオブジェクトコードとは別個の関数として実装されている。そのため、マイクロコンピュータ専用関数のオブジェクトコードと汎用コンピュータ用関数のオブジェクトコードを分離できるので、オブジェクトコードの保守管理性が高い。
第3の発明では、オブジェクトコードは、ダイナミックリンクライブラリ(DLL)を含む。DLLは、メモリへの読み込みの都度、内部変数が初期化されるので、シミュレーションにおいて、ターゲット用マイクロコンピュータの初期化を、DLLのメモリへの読み込みにより、簡単に実現することができる。
第4の発明では、オブジェクトコードととともに生成されるデバッグシンボル(PDB)ファイルに基づいて、オブジェクトコードの変数にアクセスするための指定シンボル名のポインタ情報を取得するAPIを生成する。そのため、オブジェクトコードの変数や関数にアクセスするために、該変数及び関数を予めオブジェクトコードにおいて入出力変数等として定義しておく必要がないので、シミュレーション実行時にオブジェクトコードの変数に簡単にアクセスできる。
第5の発明では、オブジェクトコードは、実行される関数が無い場合に、汎用コンピュータのオペレーティングシステムに制御が戻るようにされている。このオブジェクトコードにより、シミュレーション実行時に実行される関数が無い場合に汎用コンピュータのオペレーティングシステムに制御が戻るため、シミュレーションがオブジェクトコードの実行時に無限ループに陥り暴走することがないので、動作信頼性を向上させることができる。
図1は、本発明の一実施形態に係るシミュレーション方法のハードウェア構成について説明する図である。 図2は、本発明の一実施形態に係るシミュレーション方法のソフトウェア構成について説明する図である。 図3は、図2のマネージ部について説明する図である。 図4は、本発明の一実施形態に係るシミュレーション方法における実行フローを示す概略図である。 図5は、本発明の一実施形態に係るシミュレーション方法におけるコード注入機能について説明する図である。 図6は、本発明の一実施形態に係るシミュレーション方法におけるコード注入機能の動作について説明するフローチャートである。 図7は、本発明の一実施形態に係るシミュレーション方法における変数名解決機能について説明する図である。 図8は、本発明の一実施形態に係るシミュレーション方法におけるマネージ通知機能について説明する図である。 図9は、本発明の一実施形態に係るシミュレーション方法におけるマネージ通知機能の動作について説明する図である。 図10は、本発明の一実施形態に係るシミュレーション方法について説明するフローチャートである。 図11は、図10に対応する実行フローを示す概略図である。
以下、本発明の実施形態を図面に基づいて詳細に説明する。各実施形態では、同一又は対応する部分については同一の符号を付して説明を適宜省略する場合がある。また、図面は本実施形態を説明するために用いるものであり、実際の寸法とは異なる場合がある。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎない。
図1は、本発明の一実施形態に係るシミュレーション方法のハードウェア構成90を示す。ハードウェア構成90は汎用コンピュータであり、例えば一般に市販されているパーソナルコンピュータ(PC)を利用することができる。従って、ハードウェア構成90は、演算装置91と、主記憶装置(メモリ)92と、ディスプレイ装置93と、補助記憶装置94と、入力装置95と、これらを相互に接続するバス96とを有する。演算装置91の命令セットは、一般に、所定の製品に搭載されたターゲット用マイクロコンピュータと異なっている。入力装置95は、例えば、キーボードとマウスである。本実施形態において、以下に説明するシミュレーション方法を実現するためのソフトウェア構成10を補助記憶装置94に格納し、演算装置91がこれを主記憶装置92に読み出して実行する。
図2は、本発明の一実施形態に係るシミュレーション方法のソフトウェア構成10を示す。なお、本実施形態では複数のサブシステムから構成されるマイクロコンピュータシステムのシミュレーション方法について説明する。ソフトウェア構成10は、システム全体の構築、実行、及びテスト機能を有するシステム構築部11と、該システムを構成するサブシステムA、B、及びCを模擬するためにそれぞれに対して1プロセス毎に起動される実行ファイルであるAモジュール部12、Bモジュール部13、及びCモジュール部14とを備える。各モジュール部は、モジュール部毎のウィンドウ画面、後述するネイティブ部16の実行順序のオペレーション、及びモジュール部相互の通信機能を構成するマネージ部15と、機器制御ソフトのマイクロコンピュータコードのオブジェクトファイル33及びドライバ並びにマイクロコンピュータの模擬をするシミュレータコード35を含むネイティブ部16とを備える。なお、各モジュール部12、13、14は、例えば、マイクロソフト(登録商標)社の.NET Frameworkで動作するUI(User Interface)を有する実行ファイルである。
マネージ部15は、図3を参照して、例えば、マイクロソフト社Visual Studio(登録商標)2019で開発されており、マイクロソフト(登録商標)社が提供するC/C++版APIのDbgHelp.dll36をC♯版にしたSymbolLoader37と、PdbHelp40とを備える。
PdbHelp40は、オブジェクトファイル33の読み込み、SymbolLoader37を用いたPDBファイル34の解析を行うようになっている。また、PdbHelp40は、読み込んだオブジェクトファイル33の対象とする変数や関数のシンボル情報をキャッシュメモリ内に格納して、オブジェクトファイル33の他のファイルからシミュレーション動作中にオーバーヘッドや制約を発生させることなく該変数及び関数にアクセスできるよう指定シンボル名のポインタを取得するAPI(指定シンボル名ポインタ取得API)ライブラリ42を生成するようになっている。なお、PDBファイル34は、後述のオブジェクトファイル生成(ビルド)時に合わせて生成されるファイルである(図4の32)。
次に、本発明の一実施形態に係るマイクロコンピュータシステムシミュレーション方法の実行フローについて、図4を用いて説明する。
まず、ターゲット用マイクロコンピュータのソースコード31内のマイクロコンピュータ専用関数の動作をシミュレーション使用者が把握を行い、シミュレーション仕様を記述するためのシミュレータコード35を作成する。該シミュレータコード35において、ソースコード31内のマイクロコンピュータ専用関数で記述される動作が汎用コンピュータ用関数で実行されるよう記述されている。
該シミュレータコード35とソースコード31とから、汎用コンピュータであるシミュレーション用PCのオブジェクトファイルであるDLL33及びPDBファイル34を生成する(32)。
次に、DLL33及びPDBファイル34をシミュレーション用PCに読み込む(39)。
次に、シミュレータコード35で記述される以下に説明するコード注入機能を実行し、DLL33をシミュレーションする(43、44)。
<コード注入機能>
コード注入機能は、図5に示すように、DLL33内のマイクロコンピュータ(マイコン)専用関数Aを、シミュレータコード35に記述されているPC用関数Bのアドレスへのジャンプに変更する機能である。シミュレーション実行時に、DLL33をメモリに読み込んだ後、メモリ内部のマイクロコンピュータ専用関数Aのオブジェクトコードの呼び先を、マイクロコンピュータ専用関数Aで記述される動作を実行するPC用関数Bのオブジェクトコードのアドレスに変更する。つまり、メモリ内部のマイクロコンピュータ専用関数AのオブジェクトコードをPC用関数Bのオブジェクトコードが実行されるように変更する。
コード注入機能の動作例を図6に示す。ステップS61で、シミュレーションを起動する。ステップS62で、DLL33をシミュレーション用PCのメモリ92に読み込む。ステップS63において、メモリ92内部のマイクロコンピュータ専用関数Aのオブジェクトコードをシミュレータコード35に記述されているPC用関数Bのオブジェクトコードのアドレスへのジャンプに変更する。ステップS64において、変更されたDLL33を実行する。ステップS65において、変更されたDLL33の実行中にマイクロコンピュータ専用関数Aの呼び出しをYES(有り)と判断すると、ステップS67において、PC用関数Bのオブジェクトコードのアドレスにジャンプする。ステップS68において、PC用関数Bのオブジェクトコードを実行する。ステップS69において、ステップS65でマイクロコンピュータ専用関数Aの呼び出し元アドレスに戻り、ステップS64の実行を継続する。
このように、コード注入機能によると、シミュレーション実行時のメモリ92においてマイクロコンピュータ専用関数AのオブジェクトコードがPC用関数Bのオブジェクトコードに変更された制御プログラムのオブジェクトコードを汎用コンピュータによって実行する。マイクロコンピュータで実行される制御プログラムのソースコード31を変更することなく、ソースコード31から生成するオブジェクトコードを、マイクロコンピュータと異なる命令セットを有する汎用コンピュータで実行することができる。
また、オブジェクトコードであるDLL33の実行(S64)において、DLL33の他のファイルの変数や関数へのアクセス処理が発生する場合、以下に説明する変数名解決機能を使用することもできる。
<変数名解決機能>
変数名解決機能は、図7に示すように、シミュレータコード35にDLL33の変数や関数へのアクセスを記述するための該変数及び関数の構造体定義及び外部公開を不要とする機能である。
図7では、上記の指定シンボル名ポインタ取得関数APIライブラリ42を使用することにより、例えば、DLL33内「tagInfo」変数の基となる「構造体定義」を用意、及びexternなどによる該変数の「外部公開」を行うことなく、DLL33内「tagInfo」変数にアクセスできる。つまり、シミュレータコード35にDLL33内の任意の変数及び関数へのアクセスを記述するために、DLL33を生成するマイクロコンピュータのソースコード31を改変する必要がない。
さらに、オブジェクトファイル(DLL)生成32において、DLL33が実行時に無限ループに陥ることを防ぐため、以下に説明するマネージ通知機能を使用することもできる。
<マネージ通知機能>
マネージ通知機能は、DLL33において実行される関数が無い場合に、シミュレーション用PCのオペレーティングシステムに制御が戻るようにする機能である。該機能は、図8に示すように、特定のキーワードに対して、生成するDLL33の元の処理と、DLL33の実行順序のオペレーションをするマネージ部15に制御を移す処理とを行うように該キーワードの置換を行う。図8では、DLL33を含むネイティブ部16からマネージ部15に制御を移す際に使用するマネージ通知関数APIを使用している。
例えば、マイクロコンピュータのDLL33にwhile文が含まれている場合、そのまま実行するとマネージ部15に制御が戻らなくなる。これに対して、図8の例では、オブジェクトファイル(DLL)生成(ビルド)時に
#define while(X) while(マネージ通知関数)
とプリプロセス定義をし、DLL33を生成している。これにより、図9に示すように、「モジュール本体」の起動後、DLL33のwhile文を実行する時に、制御がマネージ部15に移るため、実行される関数の有無をマネージ部15において判断することができる。実行される関数が無い場合、シミュレーション用PCのオペレーティングシステムへ制御を戻すことができるので、DLL33の実行が無限ループに陥ることがない。
次に、上記の構成に基づく、コード注入機能、変数名解決機能及びマネージ通知機能を含む場合のシミュレーション方法について、図10及び11を用いて説明する。
ステップS11において、マイクロコンピュータのソースコード31に対して、マネージ通知機能を付加するプリプロセス処理と、オブジェクトファイル(DLL)生成をする(図11の32)。これにより、マネージ通知機能が付加された、シミュレーション用PCで実行可能なDLL33を生成する。
ステップS12において、シミュレーション用PCのシミュレーションを起動する。ステップS13において、生成されたDLL33をシミュレーション用PCのメモリ92に読み込む(図11の39)。ステップS14において、メモリ92内部のマイクロコンピュータ専用関数のオブジェクトコードをシミュレータコード35に記述されているPC用関数のオブジェクトコードのアドレスへのジャンプに変更する。つまり、メモリ92内部において、シミュレータコード35の記述されるマイクロコンピュータ専用関数のオブジェクトコードを、PC用関数のオブジェクトコードを実行するように変更する。ステップS15において、変更されたDLL33を実行する(図11の43)。
ステップS16及びS17において、マイクロコンピュータ専用関数に対してコード注入機能が実行される(図11の44)。ステップS18及びS19において、上記変更されたDLL33の他のファイルの変数や関数へのアクセス処理が発生する場合、指定シンボル名ポインタ取得関数APIライブラリ42を使用してDLL33内の情報にアクセスをする(図11の45)。ステップS15からS19の処理は、シミュレーションが終了するまで、繰り返される。
このように、本発明の一実施形態によると、シミュレーションの実行時に、制御プログラムのソースコード31から生成するオブジェクトコード(DLL)33を汎用コンピュータが備えるメモリ92に読み込む。読み込んだメモリ92の内部において、マイクロコンピュータ専用関数で記述される動作を汎用コンピュータで実行できるようにマイクロコンピュータ専用関数のオブジェクトコードを汎用コンピュータ用関数のオブジェクトコードに変更する。マイクロコンピュータ専用関数のオブジェクトコードが汎用コンピュータ用関数のオブジェクトコードに変更された制御プログラムのオブジェクトコードを汎用コンピュータによって実行する。シミュレーション実行時のメモリ92においてオブジェクトコード33内のマイクロコンピュータ専用関数を変更することによって、マイクロコンピュータ専用関数で記述された動作を汎用コンピュータで実行するため、オブジェクトコード33の実行時に制御プログラムのソースコード31を変更する必要がないので、ソースコード31を改竄するリスクが無い。また、煩雑なコード変換の必要もないので、マイクロコンピュータと異なる命令セットを有する汎用コンピュータでオブジェクトコード33を簡単に実行できる。
また、マイクロコンピュータ専用関数のオブジェクトコードの変更は、マイクロコンピュータ専用関数が実行されると、汎用コンピュータ用関数のオブジェクトコードのアドレスにジャンプして汎用コンピュータ用関数を実行するようにする。つまり、マイクロコンピュータ専用関数のオブジェクトコードと汎用コンピュータ用関数のオブジェクトコードとは別個の関数として実装される。そのため、マイクロコンピュータ専用関数のオブジェクトコードと汎用コンピュータ用関数のオブジェクトコードを分離配置できるので、オブジェクトコード33の保守管理性が高い。
また、オブジェクトコード33は、ダイナミックリンクライブラリ(DLL)である。DLL33は、メモリへの読み込みの都度、内部変数が初期化されるので、シミュレーションにおいて、ターゲット用マイクロコンピュータの初期化を、DLL33のメモリ92への読み込みにより、簡単に実現することができる。
また、オブジェクトコード33の生成とともに生成されるデバッグシンボル(PDB)ファイル34に基づいて、オブジェクトコード33の変数にアクセスするための指定シンボル名のポインタ情報を取得するAPIライブラリ42を生成する。そのため、オブジェクトコード33の変数や関数にアクセスするために、該変数及び変数を予めオブジェクトコード33において入出力変数等として定義しておく必要がないので、シミュレーション実行時にオブジェクトコード33の変数に簡単にアクセスできる。
また、オブジェクトコード33は、実行される関数が無い場合に、汎用コンピュータのオペレーティングシステムに制御が戻るように生成されている。このオブジェクトコード33により、シミュレーション実行時に実行される関数が無い場合に汎用コンピュータのオペレーティングシステムに制御が戻るため、シミュレーションがオブジェクトコード33の実行時に無限ループに陥り暴走することがないので、動作信頼性を向上させることができる。
10 ソフトウェア構成
15 マネージ部
16 ネイティブ部
31 マイクロコンピュータ制御プログラムのソースコード
33 オブジェクトコード、オブジェクトファイル(DLL)
34 PDBファイル
35 シミュレータコード
36 DbgHelp.dll
37 SymbolLoader
40 PdbHelp
42 指定シンボル名ポインタ取得関数APIライブラリ
90 ハードウェア構成
91 演算装置
92 主記憶装置(メモリ)
93 ディスプレイ装置
94 補助記憶装置
95 入力装置
96 バス

Claims (5)

  1. マイクロコンピュータで実行される制御プログラムのソースコードから生成されるオブジェクトコードを、メモリを備え且つ前記マイクロコンピュータと異なる命令セットを有する汎用コンピュータでシミュレーションする方法であって、
    前記制御プログラムのオブジェクトコードを前記シミュレーションの実行時に前記メモリに読み込むことと、
    前記メモリの内部において、マイクロコンピュータ専用関数で記述された動作を前記汎用コンピュータで実行できるように前記マイクロコンピュータ専用関数のオブジェクトコードを汎用コンピュータ用関数のオブジェクトコードに変更することと、
    前記汎用コンピュータによって、前記マイクロコンピュータ専用関数のオブジェクトコードが前記汎用コンピュータ用関数のオブジェクトコードに変更された前記制御プログラムのオブジェクトコードを実行することとを含み、
    前記制御プログラムのオブジェクトコードを、実行される関数が無い場合に、前記汎用コンピュータのオペレーティングシステムに制御が戻るようにすることをさらに含むことを特徴とする方法。
  2. 請求項1に記載の方法であって、前記変更は、
    前記マイクロコンピュータ専用関数が実行されると、前記汎用コンピュータ用関数のオブジェクトコードのアドレスにジャンプして前記汎用コンピュータ用関数のオブジェクトコードを実行するようにすることを特徴とする方法。
  3. 請求項1から2のいずれか1つに記載の方法であって、前記制御プログラムのオブジェクトコードは、ダイナミックリンクライブラリ(DLL)を含むことを特徴とする方法。
  4. 請求項3に記載の方法であって、前記制御プログラムのオブジェクトコードとともに生成されるデバッグシンボル(PDB)ファイルに基づいて、前記制御プログラムのオブジェクトコードの変数にアクセスするための指定シンボル名のポインタ情報を取得するAPIを生成することをさらに含むことを特徴とする方法。
  5. 請求項1からのいずれか1つに記載の方法を実行可能な汎用コンピュータを備えることを特徴とするシミュレーションシステム。
JP2021164664A 2021-10-06 2021-10-06 マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム Active JP7798331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021164664A JP7798331B2 (ja) 2021-10-06 2021-10-06 マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021164664A JP7798331B2 (ja) 2021-10-06 2021-10-06 マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム

Publications (2)

Publication Number Publication Date
JP2023055358A JP2023055358A (ja) 2023-04-18
JP7798331B2 true JP7798331B2 (ja) 2026-01-14

Family

ID=86004380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021164664A Active JP7798331B2 (ja) 2021-10-06 2021-10-06 マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム

Country Status (1)

Country Link
JP (1) JP7798331B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123917A (ja) 2003-07-15 2011-06-23 Internatl Business Mach Corp <Ibm> 対象プログラム・コードを目的プログラム・コードに変換するための方法、並びにコンピュータ・プログラム及びコンピュータ
US20170257287A1 (en) 2016-03-03 2017-09-07 Electronics And Telecommunications Research Institute Real-time quality of service monitoring apparatus and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01273144A (ja) * 1988-04-25 1989-11-01 Toshiba Corp ソフトウエア開発支援装置
JPH05346872A (ja) * 1992-06-15 1993-12-27 Toshiba Corp 異種計算機命令の疑似実行方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123917A (ja) 2003-07-15 2011-06-23 Internatl Business Mach Corp <Ibm> 対象プログラム・コードを目的プログラム・コードに変換するための方法、並びにコンピュータ・プログラム及びコンピュータ
US20170257287A1 (en) 2016-03-03 2017-09-07 Electronics And Telecommunications Research Institute Real-time quality of service monitoring apparatus and method

Also Published As

Publication number Publication date
JP2023055358A (ja) 2023-04-18

Similar Documents

Publication Publication Date Title
CN108027722B (zh) 在编译和部署中动态更新应用
US6898788B2 (en) System for modifying the functionality of compiled computer code at run-time
CN111985055B (zh) 一种模型封装方法、装置及电子设备
US10331425B2 (en) Automated source code adaption to inject features between platform versions
RU2459238C2 (ru) Управляемая среда выполнения для организации взаимодействия между программными приложениями
CN111880801A (zh) 应用程序动态化方法、装置、电子设备
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
US8201143B2 (en) Dynamic mating of a modified user interface with pre-modified user interface code library
CN113918195A (zh) 应用界面更新方法、装置、电子设备及可读存储介质
US20140157052A1 (en) Modifiers that customize presentation of tested values to constraints
JP2006107339A (ja) プログラム処理装置
US7366651B1 (en) Co-simulation interface
JP7798331B2 (ja) マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム
McGrath C# Programming in easy steps: Updated for Visual Studio 2019
US7634721B1 (en) Composite component architecture using javaserver pages (JSP) tags
JP2004118518A (ja) シミュレータ、そのシミュレータをコンピュータ読み取り可能に記録した記録媒体
JP3051438B2 (ja) 拡張グラフィック機能を与える方法
Cavarra et al. A framework to simulate UML models: moving from a semi-formal to a formal environment
CN113495727A (zh) 业务组件开发方法、装置、电子设备及介质
Ambler et al. Browserify
Böckenkamp roslaunch2: versatile, flexible and dynamic launch configurations for the robot operating system
Himschoot Introduction to Blazor
Jansen Learning TypeScript 2. x: Develop and maintain captivating web applications with ease
Kurniawan Java 7: A Comprehensive Tutorial
Himschoot Introduction to WebAssembly and Blazor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20251118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251218