JP6821509B2 - 情報処理装置並びにその制御方法及び制御プログラム - Google Patents
情報処理装置並びにその制御方法及び制御プログラム Download PDFInfo
- Publication number
- JP6821509B2 JP6821509B2 JP2017103457A JP2017103457A JP6821509B2 JP 6821509 B2 JP6821509 B2 JP 6821509B2 JP 2017103457 A JP2017103457 A JP 2017103457A JP 2017103457 A JP2017103457 A JP 2017103457A JP 6821509 B2 JP6821509 B2 JP 6821509B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- bus
- unit
- information
- access destination
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
図1は、本実施の形態1にかかる情報処理装置1のハードウェア構成を説明するためのブロック図である。情報処理装置1は、マイクロコンピュータ(不図示)の仮想環境を実現するコンピュータシステムの一例である。情報処理装置1は、表示装置2及び入力装置3と接続される。表示装置2は、情報処理装置1からの指示により画面表示を行う。入力装置3は、情報処理装置1に対してユーザの指示の入力を行う。入力装置3は、例えば、ユーザから文字情報の入力を受け付けるキーボードや、表示装置2の画面上における任意の位置を指定し、その位置に表示されていたアイコン等に応じた指示の入力を受け付けるマウス等である。但し、情報処理装置1に接続される装置はこれらに限定されない。
所定の組込み機器用の組込みプログラムを実行する仮想環境を備える情報処理装置であって、
前記仮想環境は、
前記組込みプログラムの実行におけるバスアクセスを処理するアクセス処理部を有する仮想バス部を備え、
前記仮想バス部は、
前記バスアクセスのアクセス先が前記仮想環境内に定義されていない場合に、当該アクセス先に対応する記憶領域をスタブ領域として前記仮想バス部内に確保する領域確保部をさらに有する
情報処理装置。
これにより、仮想環境における未実装領域へのアクセスが発生した場合に適切なシミュレーション結果を返すことができる。
前記アクセス先が前記仮想バス部に接続されたスレーブである場合、当該バスアクセスにかかるアクセス命令を当該アクセス先に対して送信し、
前記アクセス先が前記スタブ領域である場合、前記アクセス命令に基づいて、前記スタブ領域に対して直接アクセスを行うことが望ましい。
これにより、確保されたスタブ領域に対するwriteアクセスが発生した場合には、write値が保持される。そのため、その後のスタブ領域へのreadアクセスにおいてwrite値が適切に読み出される。
また、スレーブとのソケット接続を介さずにバスアクセスを行うことができるため、仮想環境内にダミーメモリを構成する必要がない。そのため、例えば、デバッグ作業中に当該仮想環境の未実装領域へのアクセスが発覚した場合でも、ダミーメモリを構成するために仮想環境を再ビルドする必要がない。よって、デバッグ時間を短縮することができる。ここで、再ビルドには仮想環境の規模及びビルド環境により数時間を要する場合があるため、本実施形態による効果が顕著といえる。
前記仮想環境内に定義された複数の回路ブロックのアドレス情報を前記アクセス先として定義したバスマップを記憶する記憶部をさらに備え、
前記バスマップは、前記仮想環境内に定義されていないアクセス先のアドレス情報をスタブ情報としてさらに定義し、
前記領域確保部は、前記バスマップを参照し、前記スタブ情報に対応する記憶領域を前記スタブ領域として前記仮想バス部内に確保することが望ましい。
これにより、バスマップというテキストファイルに予めスタブ情報を記入しておくだけで、仮想環境の再ビルドの必要なく、スタブ領域を確保できる。
前記組込みプログラムの実行開始時に、前記バスマップを読み込み、
前記バスマップに定義されたアクセス先のうち、自己の仮想バス部に接続されたスレーブにおけるアドレス情報を、当該仮想バス部内のアクセス先リストへ登録し、
前記バスマップに前記スタブ情報が定義されていた場合、当該スタブ情報を、前記アクセス先リストへさらに登録し、
前記アクセス処理部は、
前記バスアクセスを受け付けた際に、前記アクセス先リストを参照して、前記アクセス先が前記スタブ領域であるか否かを判定すると良い。
これにより、バスアクセス時に仮想バス部内のアクセス先リストを参照するため、アクセス処理を高速化できる。
前記バスアクセスを受け付けた際に、前記アクセス先が前記バスマップに定義されていない場合、前記バスアクセスをエラーとして出力すると良い。
これにより、出力されたエラーについてユーザが不正アクセスか否かを判定し、未実装領域へのアクセスの場合、バスマップに容易に追加できる。つまり、仮想環境で定義していない周辺レジスタへのバスアクセスが発生した場合には、一旦、シミュレーションを停止し、ユーザに確認を促すため、不正アクセスを見逃さずに済む。
本実施の形態2は、上述した実施の形態1の改良例である。例えば、上述した実施の形態1では、エラー出力(S116)によりシミュレーションが停止(S117)した場合、ユーザが対象の組込み機器のハードウェア仕様書等を参照して、停止理由を判断する。そして、必要に応じてスタブ情報をバスマップに追加する必要がある。これに対して、本実施の形態2では、仮想環境が自動的にスタブ領域の要否を判定し、必要な場合にはスタブ領域を確保した上で、アクセスを行わせるものである。
前記組込みプログラムの実行における全てのアクセス先のアドレス情報を定義した全アドレス空間情報を記憶する記憶部をさらに備え、
前記領域確保部は、
前記バスアクセスのアクセス先のうち前記仮想環境内に定義されていないアクセス先が前記全アドレス空間情報に存在する場合、当該アクセス先に対応する記憶領域を前記スタブ領域として前記仮想バス部内に確保するものである。
これにより、未実装領域へのアクセスを事前に把握できない場合でも、自動的にスタブ領域を追加することができる。よって、デバッグ作業をより効率化できる。
前記確保したスタブ領域を示すスタブ情報を、アクセス先リストに登録し、
前記アクセス処理部は、
前記バスアクセスを受け付けた際に、前記アクセス先リストを参照して、前記アクセス先が前記スタブ領域である場合、当該バスアクセスにかかるアクセス命令に基づいて、前記スタブ領域に対して直接アクセスを行うと良い。
これにより、再度のスタブ領域の確保が不要となり、処理を効率化できる。
これにより、不正アクセスであることが確実であるため、ユーザの判断が必要なく、デバッグ作業におけるユーザの負担を軽減することができる。
上述した各実施の形態は、例えば、IEEE(Institute of Electrical and Electronics Engineers)-1666-2011におけるb_transport, nb_transport_fw, transport_dbgに対応することができる。
1a 情報処理装置
11 CPU
12 メインメモリ
13 ハードディスク
131 OS
132 仮想環境プログラム
132a 仮想環境プログラム
133 シミュレーション用データ
134 バスマップ
135 組込みプログラム
136 全アドレス空間情報
2 表示装置
3 入力装置
41 仮想CPU部
42 仮想バス部
42a 仮想バス部
42b 仮想バス部
421 アクセス先リスト
422 スタブ領域
423 領域確保部
424 アクセス処理部
43 周辺IP部
43a 周辺IP部
43b 周辺IP部
431 DMA
431a DMA_1
431b DMA_2
432 INTC
432a INTC_1
432b INTC_2
Claims (10)
- 所定の組込み機器用の組込みプログラムを実行する仮想環境を備える情報処理装置であって、
前記仮想環境は、
前記組込みプログラムの実行におけるバスアクセスを処理するアクセス処理部を有する仮想バス部を備え、
前記仮想バス部は、
前記バスアクセスのアクセス先が前記仮想環境内に実装されていない場合に、当該アクセス先に対応する記憶領域をスタブ領域として前記仮想バス部内に確保する領域確保部をさらに有する
情報処理装置。 - 前記アクセス処理部は、
前記アクセス先が前記仮想バス部に接続されたスレーブである場合、当該バスアクセスにかかるアクセス命令を当該アクセス先に対して送信し、
前記アクセス先が前記スタブ領域である場合、前記アクセス命令に基づいて、前記スタブ領域に対して直接アクセスを行う
請求項1に記載の情報処理装置。 - 前記情報処理装置は、
前記仮想環境内に定義された複数の回路ブロックのアドレス情報を前記アクセス先として定義したバスマップを記憶する記憶部をさらに備え、
前記バスマップは、前記仮想環境内に実装されていないアクセス先のアドレス情報をスタブ情報としてさらに定義し、
前記領域確保部は、前記バスマップを参照し、前記スタブ情報に対応する記憶領域を前記スタブ領域として前記仮想バス部内に確保する
請求項1に記載の情報処理装置。 - 前記領域確保部は、
前記組込みプログラムの実行開始時に、前記バスマップを読み込み、
前記バスマップに定義されたアクセス先のうち、自己の仮想バス部に接続されたスレーブにおけるアドレス情報を、当該仮想バス部内のアクセス先リストへ登録し、
前記バスマップに前記スタブ情報が定義されていた場合、当該スタブ情報を、前記アクセス先リストへさらに登録し、
前記アクセス処理部は、
前記バスアクセスを受け付けた際に、前記アクセス先リストを参照して、前記アクセス先が前記スタブ領域であるか否かを判定する
請求項3に記載の情報処理装置。 - 前記アクセス処理部は、
前記バスアクセスを受け付けた際に、前記アクセス先が前記バスマップに定義されていない場合、前記バスアクセスをエラーとして出力する
請求項3に記載の情報処理装置。 - 前記情報処理装置は、
前記組込みプログラムの実行における全てのアクセス先のアドレス情報を定義した全アドレス空間情報を記憶する記憶部をさらに備え、
前記領域確保部は、
前記バスアクセスのアクセス先のうち前記仮想環境内に実装されていないアクセス先が前記全アドレス空間情報に存在する場合、当該アクセス先に対応する記憶領域を前記スタブ領域として前記仮想バス部内に確保する
請求項1に記載の情報処理装置。 - 前記領域確保部は、
前記確保したスタブ領域を示すスタブ情報を、アクセス先リストに登録し、
前記アクセス処理部は、
前記バスアクセスを受け付けた際に、前記アクセス先リストを参照して、前記アクセス先が前記スタブ領域である場合、当該バスアクセスにかかるアクセス命令に基づいて、前記スタブ領域に対して直接アクセスを行う
請求項6に記載の情報処理装置。 - 前記アクセス処理部は、前記アクセス先が前記全アドレス空間情報に存在しないと判定した場合、前記バスアクセスを不正アクセスとして出力する
請求項6に記載の情報処理装置。 - 所定の組込み機器用の組込みプログラムを実行する仮想環境を備える情報処理装置の制御方法であって、
前記組込みプログラムの実行におけるバスアクセスのアクセス先が前記仮想環境内に実装されていない場合に、当該アクセス先に対応する記憶領域をスタブ領域として、前記仮想環境が有する仮想バス部内に確保し、
前記バスアクセスを処理する
制御方法。 - 所定の組込み機器用の組込みプログラムを実行する仮想環境を備える情報処理装置の制御プログラムであって、
前記組込みプログラムの実行におけるバスアクセスのアクセス先が前記仮想環境内に実装されていない場合に、当該アクセス先に対応する記憶領域をスタブ領域として、前記仮想環境が有する仮想バス部内に確保し、
前記バスアクセスを処理する
処理を前記情報処理装置に実行させる制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017103457A JP6821509B2 (ja) | 2017-05-25 | 2017-05-25 | 情報処理装置並びにその制御方法及び制御プログラム |
US15/917,605 US20180341601A1 (en) | 2017-05-25 | 2018-03-10 | Information processing apparatus, control method thereof, and control program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017103457A JP6821509B2 (ja) | 2017-05-25 | 2017-05-25 | 情報処理装置並びにその制御方法及び制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018200495A JP2018200495A (ja) | 2018-12-20 |
JP6821509B2 true JP6821509B2 (ja) | 2021-01-27 |
Family
ID=64401242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017103457A Active JP6821509B2 (ja) | 2017-05-25 | 2017-05-25 | 情報処理装置並びにその制御方法及び制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180341601A1 (ja) |
JP (1) | JP6821509B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565665B2 (en) * | 1998-09-09 | 2009-07-21 | Microsoft Corporation | Efficient linking and loading for late binding and platform retargeting |
US7752360B2 (en) * | 2007-05-16 | 2010-07-06 | Nuova Systems, Inc. | Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus |
DE102009016742B4 (de) * | 2009-04-09 | 2011-03-10 | Technische Universität Braunschweig Carolo-Wilhelmina | Mehrprozessor-Computersystem |
JP5779281B2 (ja) * | 2011-09-30 | 2015-09-16 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | コンピュータシステムにおける仮想化装置の制御 |
US9697150B2 (en) * | 2013-09-04 | 2017-07-04 | Jory Schwach | Real-time embedded system |
US10447676B2 (en) * | 2014-10-10 | 2019-10-15 | Adp, Llc | Securing application programming interfaces (APIS) through infrastructure virtualization |
-
2017
- 2017-05-25 JP JP2017103457A patent/JP6821509B2/ja active Active
-
2018
- 2018-03-10 US US15/917,605 patent/US20180341601A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2018200495A (ja) | 2018-12-20 |
US20180341601A1 (en) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7088897B2 (ja) | データアクセス方法、データアクセス装置、機器及び記憶媒体 | |
JP5976409B2 (ja) | ハードウェア抽象化を用いたソフトウェアアプリケーション実行の方法と装置 | |
US20120297099A1 (en) | Control over loading of device drivers for an individual instance of a pci device | |
CN110192178B (zh) | 程序打补丁的方法、装置、微控制单元和终端设备 | |
CN103677745B (zh) | 一种在龙芯主板中写入和读取设备标识的方法 | |
CN113504918A (zh) | 设备树配置优化方法、装置、计算机设备和存储介质 | |
CN114168196A (zh) | 寄存器控制方法、系统、装置、计算机设备和存储介质 | |
US9104472B2 (en) | Write transaction interpretation for interrupt assertion | |
CN110008758A (zh) | 一种id获取方法、装置、电子设备及存储介质 | |
CN107667346A (zh) | 基于熔断的固件块分派 | |
KR20100007719A (ko) | 캐시/tlb 간섭 및 진단 테스트를 위한 경량, 고수율의 테스트 케이스 생성 방법 | |
KR102392474B1 (ko) | 사물인터넷 모듈 | |
JP6821509B2 (ja) | 情報処理装置並びにその制御方法及び制御プログラム | |
US20190347194A1 (en) | Flash data compression decompression method and apparatus | |
JP2014170271A (ja) | 情報処理装置、初期化方法、前処理方法、及びプログラム | |
US9003364B2 (en) | Overriding system attributes and function returns in a software subsystem | |
CN107301037B (zh) | 操作系统内核的加载方法和装置 | |
US11307904B2 (en) | Configurable peripherals | |
EP3734491A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
US11768967B2 (en) | Address verification for direct memory access requests | |
US11003474B2 (en) | Semiconductor device for providing a virtualization technique | |
TWI684114B (zh) | 通用型輸入輸出埠的配置方法及系統 | |
US10482140B2 (en) | Method and system for providing retargeting search service | |
US20190279031A1 (en) | Method and system for replacing a processing engine | |
US9208282B1 (en) | Enabling IP execution on a simulation execution platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200708 |
|
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: 20201222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6821509 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |