JP2005165401A - Electronic device and method for obtaining code - Google Patents

Electronic device and method for obtaining code Download PDF

Info

Publication number
JP2005165401A
JP2005165401A JP2003399815A JP2003399815A JP2005165401A JP 2005165401 A JP2005165401 A JP 2005165401A JP 2003399815 A JP2003399815 A JP 2003399815A JP 2003399815 A JP2003399815 A JP 2003399815A JP 2005165401 A JP2005165401 A JP 2005165401A
Authority
JP
Japan
Prior art keywords
bios
code
buffer
kbc
keyboard controller
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
JP2003399815A
Other languages
Japanese (ja)
Inventor
Yoshihisa Suzuki
善久 鈴木
Toru Hanada
徹 花田
Hiroshi Terada
洋 寺田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003399815A priority Critical patent/JP2005165401A/en
Publication of JP2005165401A publication Critical patent/JP2005165401A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To accurately obtain the codes of keys depressed during a predetermined processing period. <P>SOLUTION: This electronic device has a memory 5 that stores a BIOS and a keyboard controller (KBC) 2. The KBC 2 has a first buffer 21 that is used to temporarily store the scan codes of the keys depressed and to transfer the scan codes to a register used by the BIOS, and a second buffer 22 that stores the scan codes of the keys depressed and outputs the scan codes when a dump list command is issued from the BIOS. The BIOS issues the dump list command after the initialization of the KBC 2 to obtain the scan codes stored in the second buffer 22. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、BIOSを備えた電子機器およびコード取得方法に関する。   The present invention relates to an electronic device including a BIOS and a code acquisition method.

コンピュータなどに備えられるBIOS(Basic Input/Output System)は、起動時に押下されたキーボード上のキーの判定を行うことにより、以下の機能を実現できるようになっている。   A BIOS (Basic Input / Output System) provided in a computer or the like can realize the following functions by determining a key on a keyboard pressed at the time of activation.

・BIOS及びKBC(Keyboard Controller)のファームウェアの書き換え処理を行うBIOS及びKBC書き換え機能
・ブートデバイスの選択を行うブートセレクト機能
・BIOSのセットアップ処理を行うBIOSセットアップ機能
押下されたキーの判定方法は、以下の通りである。
(1)BIOSは、POST(Power On Self Test)が行われている間、押下されたキーの有無をチェックする。
-BIOS and KBC rewrite function for rewriting BIOS and KBC (Keyboard Controller) firmware-Boot select function for selecting boot device-BIOS setup function for performing BIOS setup process The method of determining the pressed key is as follows: It is as follows.
(1) The BIOS checks whether there is a pressed key while POST (Power On Self Test) is being performed.

(2)押下されたキーがあることが判れば、スキャンコードを取得する。   (2) If it is found that there is a pressed key, a scan code is acquired.

(3)取得したスキャンコードを判別し、内部フラグにステータスを反映させる。   (3) The acquired scan code is determined, and the status is reflected in the internal flag.

(4)BIOS機能の実行要求の判定時には、上記内部フラグを参照し、押下されたキーがBIOS機能の実行を要求するキーであるかをチェックする。   (4) When determining the execution request of the BIOS function, the internal flag is referred to and it is checked whether the pressed key is a key requesting the execution of the BIOS function.

また、押下されたキーの有無のチェック及びスキャンコードの取得方法は、BIOSが行うKBCの初期化処理の前後で若干異なる。すなわち、KBCの初期化処理までは、ステータスレジスタ(I/O 64Hに相当)を参照することで押下されたキーの有無をチェックし、データレジスタ(I/O 60Hに相当)を参照することでスキャンコードを取得する。一方、KBCの初期化処理後は、キーボード割り込みプログラム(INT 09Hに相当)を使用して、スキャンコードを取得する。   In addition, the method of checking for the presence of a pressed key and the method of acquiring a scan code are slightly different before and after the KBC initialization process performed by the BIOS. In other words, until the KBC initialization process, the status register (corresponding to I / O 64H) is checked for presence of a pressed key, and the data register (corresponding to I / O 60H) is referred to. Get a scan code. On the other hand, after the KBC initialization process, a scan code is acquired using a keyboard interrupt program (corresponding to INT 09H).

なお、上記BIOSの技術とは直接関係しないが、特許文献1には、キーボード上の押下されたキーのコードを記憶部(RAM)に格納する構成により、過去のキー操作を見ることができるようにしたキーボード装置が開示されている。
特開平6−102981号公報
Although not directly related to the above-described BIOS technology, Patent Document 1 discloses that the key operation of the pressed key on the keyboard is stored in the storage unit (RAM) so that past key operations can be viewed. A keyboard device is disclosed.
JP-A-6-102981

しかしながら、上述した従来技術では、BIOSからKBCへのアクセスに関して以下に掲げるような欠点があり、システムの起動時間の増加やBIOSの容量オーバーを招くという問題がある。   However, the above-described prior art has the following disadvantages regarding access from the BIOS to the KBC, and there is a problem that the startup time of the system is increased and the capacity of the BIOS is exceeded.

(イ)押下されたキーを認識できない場合がある
BIOS−BKC間のインタフェースには、I/O (64H/60H)が使用される。BIOSは、このI/Oを介して、KBCへのコマンド送信、KBCからのコマンドレスポンス受信、KBCからのスキャンコード受信等を行う。KBCは、スキャンコードよりもコマンドレスポンスを優先させる。そのため、BIOSは、KBCの初期化処理においてKBCへコマンドを送信する際に、以下のような一連の処理が行われた場合には、押下されたキーを認識できない。
(A) The pressed key may not be recognized. I / O (64H / 60H) is used for the BIOS-BKC interface. The BIOS performs command transmission to the KBC, command response reception from the KBC, scan code reception from the KBC, and the like via this I / O. The KBC gives priority to the command response over the scan code. Therefore, the BIOS cannot recognize the pressed key when the following series of processing is performed when transmitting a command to the KBC in the KBC initialization processing.

1)BIOSは、押下されたキーが無いことを確認する。     1) The BIOS confirms that there is no pressed key.

2)KBCは、押下されたキーを認識し、スキャンコードをデータレジスタへ書き込む。     2) The KBC recognizes the pressed key and writes the scan code to the data register.

3)BIOSは、KBCへコマンドを送信する。     3) The BIOS sends a command to the KBC.

4)KBCは、コマンドに対するコマンドレスポンスをデータレジスタへ書き込む。     4) The KBC writes a command response to the command to the data register.

5)BIOSは、コマンドレスポンスを取得する。     5) The BIOS acquires a command response.

この場合、スキャンコードは、コマンドレスポンスに上書きされることになる。これは、上記2)の処理のタイミングで、KBCがスキャンコードをデータレジスタへ書き込むことによるものである。   In this case, the scan code is overwritten on the command response. This is because the KBC writes the scan code to the data register at the timing of the process 2).

(ロ)キー入力が誤動作する場合がある
KBCの初期化処理後、KBCからのスキャンコード取得の方法を、キーボード割り込みプログラムを使った方法に切り換える際に、以下のような一連の処理が行われた場合には、キー入力に関して誤動作が生じてしまう。
(B) Key input may malfunction. After the KBC initialization process, the following sequence of processes is performed when switching the scan code acquisition method from the KBC to the method using the keyboard interrupt program. In such a case, a malfunction occurs with respect to key input.

1)押下されたキーのスキャンコードを全て取得する前に、スキャンコードの取得方法を切り換える。     1) Change the scan code acquisition method before acquiring all the scan codes of the pressed key.

2)キーボード割り込みプログラムが、スキャンコード取得の途中から実行されることになるため、当該プログラムは間違った認識を行ってしまい、その影響で誤動作が起こる。     2) Since the keyboard interrupt program is executed in the middle of acquiring the scan code, the program performs wrong recognition, and malfunctions occur due to the recognition.

(ハ)システム起動が遅くなる場合がある
押下されたキーの取りこぼしを防ぐため、一般に、押下されたキーの有無が一定間隔でチェックされるようになっている。もしも、キーが押下され続けた場合には、スキャンコードが一定の間隔でKBCから送信されてくるため、BIOSは、押下されたキーが無いことを確認するまで次の処理を実行できない。その結果、システム起動が遅延してしまう。
(C) System startup may be delayed In order to prevent the key being pressed from being lost, generally, the presence or absence of the pressed key is checked at regular intervals. If the key is kept pressed, the scan code is transmitted from the KBC at regular intervals, and the BIOS cannot execute the next process until it is confirmed that there is no pressed key. As a result, system activation is delayed.

また、特許文献1のように、キーボード上の押下されたキーのコードを格納する記憶部を単に設けるだけでは、上記問題を解決することはできない。   Further, as in Patent Document 1, the above problem cannot be solved simply by providing a storage unit for storing the code of the pressed key on the keyboard.

本発明は上記実情に鑑みてなされたものであり、所定の処理期間中に押下されたキーのコードを間違えることなく確実に取得することができる電子機器およびコード取得方法を提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to provide an electronic device and a code acquisition method that can reliably acquire a code of a key pressed during a predetermined processing period without making a mistake. To do.

本発明に係る電子機器は、BIOS(Basic Input/Output System)を格納するメモリとキーボードコントローラとを備えた電子機器であって、前記キーボードコントローラは、押下されたキーのコードを一時記憶し、前記BIOSが使用するレジスタへ転送するために使用される第1のバッファと、押下されたキーのコードを記憶し、前記BIOSから所定のコマンドが発行された場合に当該コードを出力する第2のバッファとを具備し、前記BIOSは、前記キーボードコントローラの初期化処理後に、前記所定のコマンドを発行することにより、前記第2のバッファに記憶されているコードを取得する手段を具備することを特徴とする。   An electronic device according to the present invention is an electronic device including a memory for storing a BIOS (Basic Input / Output System) and a keyboard controller, wherein the keyboard controller temporarily stores a code of a pressed key, and A first buffer used for transferring to a register used by the BIOS, and a second buffer for storing a code of a pressed key and outputting the code when a predetermined command is issued from the BIOS And the BIOS includes means for acquiring the code stored in the second buffer by issuing the predetermined command after the initialization process of the keyboard controller. To do.

また、本発明に係るコード取得方法は、BIOS(Basic Input/Output System)を格納するメモリとキーボードコントローラとを備えた電子機器に適用されるコード取得方法であって、前記キーボードコントローラの側では、押下されたキーのコードを第1のバッファに一時記憶して前記BIOSが使用するレジスタへ転送すると共に、当該コードを第2のバッファに記憶しておき、前記BIOSの側では、前記キーボードコントローラの初期化処理後に、前記所定のコマンドを発行することにより、前記第2のバッファに記憶されているコードを取得することを特徴とする。   A code acquisition method according to the present invention is a code acquisition method applied to an electronic device including a memory for storing a BIOS (Basic Input / Output System) and a keyboard controller, and on the keyboard controller side, The code of the pressed key is temporarily stored in the first buffer and transferred to the register used by the BIOS, and the code is stored in the second buffer. On the BIOS side, the code of the keyboard controller is stored. The code stored in the second buffer is obtained by issuing the predetermined command after the initialization process.

所定の処理期間中に押下されたキーのコードを間違えることなく確実に取得することができる。   The code of the key pressed during the predetermined processing period can be reliably acquired without making a mistake.

図1は、本発明の一実施形態に係る電子機器の概略構成を示すブロック図である。
同図に示される電子機器は、例えばパーソナルコンピュータであり、キーボード1、キーボードコントローラ(以下、KBCと称す)2、ホストCPU3、メモリ4、BIOS−ROM5、レジスタ6等を備えている。
FIG. 1 is a block diagram showing a schematic configuration of an electronic apparatus according to an embodiment of the present invention.
The electronic device shown in the figure is a personal computer, for example, and includes a keyboard 1, a keyboard controller (hereinafter referred to as KBC) 2, a host CPU 3, a memory 4, a BIOS-ROM 5, a register 6, and the like.

キーボード1は、複数のキーを備えており、あるキーが押下された場合に該当する信号をKBC2に送る。   The keyboard 1 includes a plurality of keys, and sends a corresponding signal to the KBC 2 when a certain key is pressed.

KBC2は、RAM20、バスインタフェース23、CPU24、ROM25等を備えている。また、上記RAM20は、各種の情報を記憶するものであり、第1のバッファ(記録領域)21および第2のバッファ(記憶領域)22を有している。   The KBC 2 includes a RAM 20, a bus interface 23, a CPU 24, a ROM 25, and the like. The RAM 20 stores various types of information, and includes a first buffer (recording area) 21 and a second buffer (storage area) 22.

第1のバッファ21は、押下されたキーのスキャンコードを一時記憶するFIFOとして実現され、一時記憶したスキャンコードをBIOSが使用するレジスタ6へ転送するために使用されるものである。   The first buffer 21 is realized as a FIFO that temporarily stores the scan code of the pressed key, and is used to transfer the temporarily stored scan code to the register 6 used by the BIOS.

第2のバッファ22は、上記押下されたキーのスキャンコードを記憶し、BIOSから所定のコマンド(以下、ダンプリストコマンドと称す)が発行された場合に当該コードを出力するものである。   The second buffer 22 stores the scan code of the pressed key, and outputs the code when a predetermined command (hereinafter referred to as a dump list command) is issued from the BIOS.

バスインタフェース23は、BIOS−ROM5などが接続されるシステムバスとKBC2の内部バスとの間のインタフェース処理を行うものであり、I/O (64H/60H)などが使用される。このI/Oは、BIOSが、KBC2へコマンドを送信したり、KBC2からコマンドレスポンスを受信したり、KBC2からスキャンコードを受信したりするために使用される。   The bus interface 23 performs interface processing between the system bus to which the BIOS-ROM 5 or the like is connected and the internal bus of the KBC 2, and uses I / O (64H / 60H) or the like. This I / O is used by the BIOS to transmit a command to the KBC 2, receive a command response from the KBC 2, and receive a scan code from the KBC 2.

CPU24は、KBC2全体の動作を司るものである。このCPU24は、例えば、BIOSからKBC2に対してダンプリストコマンドが発行された場合に、第2のバッファ22に記憶されているスキャンコードのサイズを示す情報と当該スキャンコードとをバスインタフェース23を介してBIOSへ通知する機能などを備えている。また、上記CPU24は、システムの再起動が行われた場合に、第2のバッファ22に記憶されているスキャンコードを消去(クリア)する機能なども備えている。   The CPU 24 governs the overall operation of the KBC 2. For example, when a dump list command is issued from the BIOS to the KBC 2, the CPU 24 sends information indicating the size of the scan code stored in the second buffer 22 and the scan code via the bus interface 23. A function of notifying the BIOS. The CPU 24 also has a function of erasing (clearing) the scan code stored in the second buffer 22 when the system is restarted.

ROM25は、CPU24が使用するプログラムなどを格納するものである。   The ROM 25 stores programs used by the CPU 24.

ホストCPU3は、電子機器全体の動作を司るものであり、メモリ4やKBC2などを制御する。
メモリ4は、例えばRAMであり、各種のプログラムを常駐させ、ホストCPU3の作業エリアとして使用される。
The host CPU 3 controls the operation of the entire electronic device, and controls the memory 4 and the KBC 2.
The memory 4 is, for example, a RAM, and various programs are resident therein and used as a work area for the host CPU 3.

BIOS−ROM5は、BIOSを格納するものである。本実施形態におけるBIOSは、電源投入時に各種ハードウェアの診断や初期化処理などの一般的な処理を行うほか、特に、KBC2の初期化処理中においてキーの押下があった場合、第1のバッファ21からレジスタ6に転送されたコードを読み捨てると共に、KBC2の初期化処理後に、ダンプリストコマンドを発行することにより、第2のバッファ22に記憶されているスキャンコードをまとめて取得する機能を備えている。   The BIOS-ROM 5 stores the BIOS. The BIOS in the present embodiment performs general processing such as diagnosis of various hardware and initialization processing when the power is turned on. In particular, when a key is pressed during the initialization processing of the KBC 2, the first buffer 21. A function that reads and discards the code transferred from the register 21 to the register 6 and issues a dump list command after the initialization of the KBC 2 to collectively acquire the scan codes stored in the second buffer 22 ing.

また、本実施形態におけるBIOSは、通常のBIOSと同様に、システム起動時に押下されたキーボード上のキーの判定を行うことにより、以下の機能を実現できるようになっている。   In addition, the BIOS in the present embodiment can realize the following functions by determining a key on the keyboard that is pressed when the system is started, as in a normal BIOS.

・BIOS及びKBCのファームウェアの書き換え処理を行うBIOS及びKBC書き換え機能
・ブートデバイスの選択を行うブートセレクト機能
・BIOSのセットアップ処理を行うBIOSセットアップ機能
レジスタ6は、ステータスレジスタ(I/O 64Hに相当)やデータレジスタ(I/O 60Hに相当)を含み、第1のバッファから出力されるスキャンコードやそのサイズ情報、押下されたキーの有無などを示す各種ステータスをKBC2が書き込んだり、BIOSがこれらの情報を参照したりするために使用される。
-BIOS and KBC rewrite function for rewriting BIOS and KBC firmware-Boot select function for selecting boot device-BIOS setup function for BIOS setup process Register 6 is a status register (equivalent to I / O 64H) And the data register (corresponding to I / O 60H), the KBC2 writes various statuses indicating the scan code output from the first buffer, its size information, presence / absence of the pressed key, etc. Used to refer to information.

次に、図2を参照して、KBC2側でのキー入力処理の動作を説明する。
KBC2は、キーボード1上のキーの入力があるか否かを監視している(ステップA1)。ここで、キー入力があった場合には、押下されたキーのスキャンコードが第1のバッファ21に一時記憶され、バスインタフェース23を介してレジスタ6へ送られる(ステップA2)。但し、レジスタ6に送られたスキャンコードは、本実施形態においては使用されず、後に破棄されることになる。
Next, the operation of the key input process on the KBC 2 side will be described with reference to FIG.
The KBC 2 monitors whether there is an input of a key on the keyboard 1 (step A1). Here, when there is a key input, the scan code of the pressed key is temporarily stored in the first buffer 21 and sent to the register 6 via the bus interface 23 (step A2). However, the scan code sent to the register 6 is not used in the present embodiment, and is discarded later.

また、上記押下されたキーのスキャンコードが第2のバッファ22にも記憶(保存)できるか否かが判別される(ステップA3)。容量に余裕があり保存できる場合には、スキャンコードは第2のバッファ22に記憶(保存)される(ステップA4)。   Further, it is determined whether or not the scan code of the pressed key can be stored (saved) in the second buffer 22 (step A3). If the capacity is sufficient and can be saved, the scan code is stored (saved) in the second buffer 22 (step A4).

次に、図3を参照して、KBC2側でのダンプリストコマンド応答の動作を説明する。   Next, the dump list command response operation on the KBC 2 side will be described with reference to FIG.

KBC2は、システムバス上から当該KBC2へコマンドが発行されたか否かを監視している(ステップB1)。KBC2は、バスインタフェース23を通じて何らかのコマンドを受信した場合、そのコマンドがBIOSから発行されたダンプリストコマンドであるか否かを判別する(ステップB2)。該当する場合には、KBC2は、第2のバッファ22に記憶されているスキャンコードのサイズを示す情報と当該スキャンコードとを順にバスインタフェース23を介してレジスタ6へ送る(ステップB3)。これにより、BIOSはスキャンコードを取得することになる。   The KBC 2 monitors whether a command has been issued from the system bus to the KBC 2 (step B1). When the KBC 2 receives any command through the bus interface 23, the KBC 2 determines whether or not the command is a dump list command issued from the BIOS (step B2). If applicable, the KBC 2 sequentially sends information indicating the size of the scan code stored in the second buffer 22 and the scan code to the register 6 via the bus interface 23 (step B3). As a result, the BIOS acquires the scan code.

次に、図4を参照して、BIOS側での一連の動作を説明する。
BIOSは、電源投入があると、すぐにメモリ類を含むハードウェアの初期化を開始する(ステップC1)。このハードウェアの初期化においては、KBC2の初期化が行われる(ステップC2)。BIOSは、レジスタ6を参照することにより、KBC2の初期化処理中に押下されたキーの有無を調べる(ステップC3)。押下されたキーがある場合には、レジスタ6上の該当するスキャンコードを読み捨てる(ステップC4)。
Next, a series of operations on the BIOS side will be described with reference to FIG.
When the BIOS is turned on, the BIOS immediately starts to initialize the hardware including the memories (step C1). In this hardware initialization, KBC2 is initialized (step C2). The BIOS checks the presence or absence of the key pressed during the initialization process of the KBC 2 by referring to the register 6 (step C3). If there is a pressed key, the corresponding scan code on the register 6 is read and discarded (step C4).

BIOSは、KBC2の初期化処理が終了し(ステップC5)、残りのハードウェアの初期化処理も終了させると(ステップC6)、次に、KBC2に対してダンプリストコマンドを発行することにより、第2のバッファ22に記憶されているスキャンコードを取得する(ステップC7)。   When the initialization process of the KBC2 is finished (step C5) and the initialization process of the remaining hardware is finished (step C6), the BIOS then issues a dump list command to the KBC2. The scan code stored in the second buffer 22 is acquired (step C7).

ここで、BIOSは、前述した3つのBIOS機能のいずれかの実行要求が示されているか否かを判別する(ステップC8)。示されていれば、該当するBIOS機能を実行する(ステップC9)。   Here, the BIOS determines whether or not an execution request for any of the three BIOS functions described above is indicated (step C8). If indicated, the corresponding BIOS function is executed (step C9).

次に、図5を参照して、再起動があった場合の動作を説明する。
システムの再起動が行われた場合、BIOSは、KBC2に対してダンプリストクリアコマンドを発行する。このコマンドに基づいて、KBC2は、第2のバッファに確保されているスキャンコードをクリアする(ステップD1,D2)。
Next, with reference to FIG. 5, an operation when there is a restart will be described.
When the system is restarted, the BIOS issues a dump list clear command to the KBC 2. Based on this command, the KBC 2 clears the scan code secured in the second buffer (steps D1 and D2).

次に、BIOSは、すぐにメモリ類を含むハードウェアの初期化を開始する(ステップD3)。このハードウェアの初期化においては、KBC2の初期化が行われる(ステップD4)。BIOSは、レジスタ6を参照することにより、KBC2の初期化処理中に押下されたキーの有無を調べる(ステップD5)。押下されたキーがある場合には、レジスタ6上の該当するスキャンコードを読み捨てる(ステップD6)。   Next, the BIOS immediately starts to initialize the hardware including the memories (Step D3). In this hardware initialization, KBC2 is initialized (step D4). The BIOS checks the presence or absence of a key pressed during the initialization process of the KBC 2 by referring to the register 6 (step D5). If there is a pressed key, the corresponding scan code on the register 6 is read and discarded (step D6).

BIOSは、KBC2の初期化処理が終了し(ステップD7)、残りのハードウェアの初期化処理も終了させると(ステップD8)、次に、KBC2に対してダンプリストコマンドを発行することにより、第2のバッファ22に記憶されているスキャンコードを取得する(ステップD9)。   When the initialization process of the KBC2 is finished (step D7) and the initialization process of the remaining hardware is finished (step D8), the BIOS then issues a dump list command to the KBC2. The scan code stored in the second buffer 22 is acquired (step D9).

ここで、BIOSは、前述した3つのBIOS機能のいずれかの実行要求が示されているか否かを判別する(ステップD10)。示されていれば、該当するBIOS機能を実行する(ステップD11)。   Here, the BIOS determines whether or not an execution request for any of the three BIOS functions described above is indicated (step D10). If indicated, the corresponding BIOS function is executed (step D11).

このように、本実施形態によれば、BIOS側において各種ハードウェアの診断や初期化処理を行っているときにKBCから送信されてくるスキャンコードを意識する必要はなく、当該スキャンコードを読み捨て、初期化処理後にダンプリストコマンドを発行することにより所望のスキャンコードを間違いなく取得でき、正しく判定することができる。また、従来技術における種々な欠点を克服することができる。   As described above, according to the present embodiment, there is no need to be aware of the scan code transmitted from the KBC when performing various hardware diagnosis and initialization processing on the BIOS side, and the scan code is discarded. By issuing a dump list command after the initialization process, a desired scan code can be definitely acquired and determined correctly. In addition, various drawbacks in the prior art can be overcome.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本発明の一実施形態に係る電子機器の概略構成を示すブロック図。1 is a block diagram showing a schematic configuration of an electronic device according to an embodiment of the present invention. KBC側でのキー入力処理の動作を示すフローチャート。The flowchart which shows the operation | movement of the key input process by the KBC side. KBC側でのダンプリストコマンド応答の動作を示すフローチャート。The flowchart which shows the operation | movement of the dump list command response by the KBC side. BIOS側での一連の動作を示すフローチャート。The flowchart which shows a series of operation | movement by the BIOS side. 再起動があった場合の動作を示すフローチャート。The flowchart which shows operation | movement when there exists restart.

符号の説明Explanation of symbols

1…キーボード、2…キーボードコントローラ(KBC)、3…ホストCPU、4…メモリ、5…BIOS−ROM、6…レジスタ、20…RAM、21…第1のバッファ(記録領域)、22…第2のバッファ(記憶領域)、23…バスインタフェース、24…CPU、25…ROM。   DESCRIPTION OF SYMBOLS 1 ... Keyboard, 2 ... Keyboard controller (KBC), 3 ... Host CPU, 4 ... Memory, 5 ... BIOS-ROM, 6 ... Register, 20 ... RAM, 21 ... 1st buffer (recording area), 22 ... 2nd Buffer (storage area), 23 ... bus interface, 24 ... CPU, 25 ... ROM.

Claims (8)

BIOS(Basic Input/Output System)を格納するメモリとキーボードコントローラとを備えた電子機器であって、
前記キーボードコントローラは、
押下されたキーのコードを一時記憶し、前記BIOSが使用するレジスタへ転送するために使用される第1のバッファと、
押下されたキーのコードを記憶し、前記BIOSから所定のコマンドが発行された場合に当該コードを出力する第2のバッファとを具備し、
前記BIOSは、
前記キーボードコントローラの初期化処理後に、前記所定のコマンドを発行することにより、前記第2のバッファに記憶されているコードを取得する手段を具備することを特徴とする電子機器。
An electronic device including a memory for storing a BIOS (Basic Input / Output System) and a keyboard controller,
The keyboard controller is
A first buffer used to temporarily store the code of the pressed key and transfer it to a register used by the BIOS;
A second buffer for storing a code of a pressed key and outputting the code when a predetermined command is issued from the BIOS;
The BIOS is
An electronic apparatus comprising: means for acquiring a code stored in the second buffer by issuing the predetermined command after initialization processing of the keyboard controller.
前記BIOSは、前記キーボードコントローラの初期化処理中においてキーの押下があった場合、前記第1のバッファから前記レジスタに転送されたコードを読み捨てることを特徴とする請求項1記載の電子機器。   2. The electronic apparatus according to claim 1, wherein the BIOS reads and discards the code transferred from the first buffer to the register when a key is pressed during the initialization process of the keyboard controller. 前記キーボードコントローラは、前記BIOSから前記所定のコマンドが発行された場合に、前記第2のバッファに記憶されているコードのサイズを示す情報と当該コードとを前記BIOSへ通知する手段を有することを特徴とする請求項1記載の電子機器。   The keyboard controller has means for notifying the BIOS of information indicating the size of a code stored in the second buffer and the code when the predetermined command is issued from the BIOS. The electronic device according to claim 1, characterized in that: 前記キーボードコントローラは、システムの再起動が行われた場合に、前記第2のバッファに記憶されているコードを消去する手段を有することを特徴とする請求項1記載の電子機器。   2. The electronic apparatus according to claim 1, wherein the keyboard controller has means for erasing a code stored in the second buffer when the system is restarted. BIOS(Basic Input/Output System)を格納するメモリとキーボードコントローラとを備えた電子機器に適用されるコード取得方法であって、
前記キーボードコントローラの側では、押下されたキーのコードを第1のバッファに一時記憶して前記BIOSが使用するレジスタへ転送すると共に、当該コードを第2のバッファに記憶しておき、
前記BIOSの側では、前記キーボードコントローラの初期化処理後に、前記所定のコマンドを発行することにより、前記第2のバッファに記憶されているコードを取得する
ことを特徴とするコード取得方法。
A code acquisition method applied to an electronic device having a memory for storing a BIOS (Basic Input / Output System) and a keyboard controller,
On the keyboard controller side, the code of the pressed key is temporarily stored in the first buffer and transferred to the register used by the BIOS, and the code is stored in the second buffer,
On the BIOS side, after the initialization process of the keyboard controller, the code stored in the second buffer is acquired by issuing the predetermined command.
前記キーボードコントローラの初期化処理中においてキーの押下があった場合、前記第1のバッファから前記レジスタに転送されたコードを破棄することを特徴とする請求項5記載のコード取得方法。   6. The code acquisition method according to claim 5, wherein when a key is pressed during the initialization process of the keyboard controller, the code transferred from the first buffer to the register is discarded. 前記BIOSから前記所定のコマンドが発行された場合、前記第2のバッファに記憶されているコードのサイズを示す情報と当該コードとを前記BIOSへ通知することを特徴とする請求項5記載のコード取得方法。   6. The code according to claim 5, wherein when the predetermined command is issued from the BIOS, the BIOS is notified of information indicating a size of the code stored in the second buffer and the code. Acquisition method. システムの再起動が行われた場合に、前記第2のバッファに記憶されているコードを消去することを特徴とする請求項5記載のコード取得方法。   6. The code acquisition method according to claim 5, wherein the code stored in the second buffer is erased when the system is restarted.
JP2003399815A 2003-11-28 2003-11-28 Electronic device and method for obtaining code Pending JP2005165401A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003399815A JP2005165401A (en) 2003-11-28 2003-11-28 Electronic device and method for obtaining code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003399815A JP2005165401A (en) 2003-11-28 2003-11-28 Electronic device and method for obtaining code

Publications (1)

Publication Number Publication Date
JP2005165401A true JP2005165401A (en) 2005-06-23

Family

ID=34724259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003399815A Pending JP2005165401A (en) 2003-11-28 2003-11-28 Electronic device and method for obtaining code

Country Status (1)

Country Link
JP (1) JP2005165401A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204395A (en) * 2007-02-22 2008-09-04 Fujitsu Ltd Information processing device, control method for it, and control program
CN108880560A (en) * 2016-01-05 2018-11-23 湖南工业大学 A kind of matrix keyboard reversal process scanning circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204395A (en) * 2007-02-22 2008-09-04 Fujitsu Ltd Information processing device, control method for it, and control program
CN108880560A (en) * 2016-01-05 2018-11-23 湖南工业大学 A kind of matrix keyboard reversal process scanning circuit
CN108880560B (en) * 2016-01-05 2022-03-18 湖南工业大学 Matrix keyboard reversal method scanning circuit

Similar Documents

Publication Publication Date Title
US9004349B2 (en) IC card and IC card system having suspend/resume functions
CN109964215B (en) Flow control in remote direct memory access data communications with ring buffer mirroring
JP2009282599A (en) Information processor apparatus, information processing system, method of information processing, and computer program
US20060190637A1 (en) Control apparatus, information processing apparatus, and data transferring method
US9473273B2 (en) Memory system capable of increasing data transfer efficiency
JP2006190257A (en) Data transfer device and its method
US20050223207A1 (en) Method and apparatus for remote flashing of a bios memory in a data processing system
US20120327440A1 (en) Program executing apparatus, image processing apparatus and non-transitory computer readable medium
JPH06243083A (en) Io control method and information processor
JP2005165401A (en) Electronic device and method for obtaining code
JP5090591B2 (en) Electronic device control method, electronic device, and function recognition method of electronic device
CN111949585A (en) Data conversion processing method and device
JP2007334888A (en) Drive for multifunctional device
JP5286814B2 (en) Semiconductor device, portable electronic device, self-diagnosis method, self-diagnosis program
JP2007172096A (en) Information processor and start control method
JP3747213B1 (en) NAND flash memory device and controller for sequential ROM interface
JP4572138B2 (en) Server apparatus, server system, and system switching method in server system
JP6862807B2 (en) Image forming device and program
JP2004185419A (en) Portable electronic medium, issuing system of portable electronic medium, processing method, and issuing method
JP2000267951A (en) Data transfer control system and its method
KR100966999B1 (en) Apparatus and method for updating flash memory
JP4164473B2 (en) Functional memory access control system, functional memory device, control method therefor, and program
JP4494329B2 (en) Information processing device
JP2006268707A (en) Storage device
JP2000242594A (en) Information transmission system for terminal device