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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Description
コード注入機能は、図5に示すように、DLL33内のマイクロコンピュータ(マイコン)専用関数Aを、シミュレータコード35に記述されているPC用関数Bのアドレスへのジャンプに変更する機能である。シミュレーション実行時に、DLL33をメモリに読み込んだ後、メモリ内部のマイクロコンピュータ専用関数Aのオブジェクトコードの呼び先を、マイクロコンピュータ専用関数Aで記述される動作を実行するPC用関数Bのオブジェクトコードのアドレスに変更する。つまり、メモリ内部のマイクロコンピュータ専用関数AのオブジェクトコードをPC用関数Bのオブジェクトコードが実行されるように変更する。
変数名解決機能は、図7に示すように、シミュレータコード35にDLL33の変数や関数へのアクセスを記述するための該変数及び関数の構造体定義及び外部公開を不要とする機能である。
マネージ通知機能は、DLL33において実行される関数が無い場合に、シミュレーション用PCのオペレーティングシステムに制御が戻るようにする機能である。該機能は、図8に示すように、特定のキーワードに対して、生成するDLL33の元の処理と、DLL33の実行順序のオペレーションをするマネージ部15に制御を移す処理とを行うように該キーワードの置換を行う。図8では、DLL33を含むネイティブ部16からマネージ部15に制御を移す際に使用するマネージ通知関数APIを使用している。
#define while(X) while(マネージ通知関数)
とプリプロセス定義をし、DLL33を生成している。これにより、図9に示すように、「モジュール本体」の起動後、DLL33のwhile文を実行する時に、制御がマネージ部15に移るため、実行される関数の有無をマネージ部15において判断することができる。実行される関数が無い場合、シミュレーション用PCのオペレーティングシステムへ制御を戻すことができるので、DLL33の実行が無限ループに陥ることがない。
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に記載の方法であって、前記変更は、
前記マイクロコンピュータ専用関数が実行されると、前記汎用コンピュータ用関数のオブジェクトコードのアドレスにジャンプして前記汎用コンピュータ用関数のオブジェクトコードを実行するようにすることを特徴とする方法。 - 請求項1から2のいずれか1つに記載の方法であって、前記制御プログラムのオブジェクトコードは、ダイナミックリンクライブラリ(DLL)を含むことを特徴とする方法。
- 請求項3に記載の方法であって、前記制御プログラムのオブジェクトコードとともに生成されるデバッグシンボル(PDB)ファイルに基づいて、前記制御プログラムのオブジェクトコードの変数にアクセスするための指定シンボル名のポインタ情報を取得するAPIを生成することをさらに含むことを特徴とする方法。
- 請求項1から4のいずれか1つに記載の方法を実行可能な汎用コンピュータを備えることを特徴とするシミュレーションシステム。
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)
| 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)
| 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 | 異種計算機命令の疑似実行方法および装置 |
-
2021
- 2021-10-06 JP JP2021164664A patent/JP7798331B2/ja active Active
Patent Citations (2)
| 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 |