JP3918434B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP3918434B2 JP3918434B2 JP2001000385A JP2001000385A JP3918434B2 JP 3918434 B2 JP3918434 B2 JP 3918434B2 JP 2001000385 A JP2001000385 A JP 2001000385A JP 2001000385 A JP2001000385 A JP 2001000385A JP 3918434 B2 JP3918434 B2 JP 3918434B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- storage area
- program
- address
- information processing
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
- Memory System (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置に関する。特には、不揮発性メモリに記憶されたデータを書き換えることができる情報処理装置に関する。
【0002】
【従来の技術】
従来より、情報処理装置において、プログラム及びデータを記憶するフラッシュメモリが搭載されていた。
【0003】
【発明が解決しようとする課題】
しかし、このような従来の情報処理装置では、CPU(Central Processing Unit)の同一アドレス空間にプログラム及びデータが混在することになる。そのため、フラッシュメモリ内のデータのみを書き換えることが困難であった。
【0004】
また、フラッシュメモリ内のデータを書き換える場合以外の場合に、プログラムのバグ等によりCPUが暴走してフラッシュメモリ内のプログラムを破壊してしまうことがあるという問題があった。
【0005】
本発明はこのような問題点に鑑みてなされたもので、その目的は、フラッシュメモリなどの不揮発性メモリ内のデータ記憶領域を書き換える場合に不揮発性メモリ内のデータ記憶領域を書き換えるプログラムを記憶したROMがCPUのアドレス空間にマッピングされるようにし、その他の場合はROMがCPUのアドレス空間にマッピングされないようにすることにより、不揮発性メモリ内のデータ記憶領域の書き換えを容易にし、不揮発性メモリ内のデータ記憶領域を書き換える場合以外の場合にCPUの暴走などにより不揮発性メモリ内のプログラム記憶領域が書き換えられないようにすることにより、信頼性の高い情報処理装置を提供することである。
【0006】
【課題を解決するための手段】
上記課題を解決するため、 本発明の情報処理装置は、 CPU(Central Processing Unit)と、前記CPUが実行する第1及び第2のプログラムを記憶するプログラム記憶領域及び前記CPUがアクセスするデータを記憶するデータ記憶領域を含む書き換え可能な不揮発性メモリと、前記CPUが実行する第3のプログラムを記憶するROM(Read Only Memory)と、前記CPUのアドレス空間内の第1のアドレス範囲にマッピングされたRAM(Random Access Memory)と、フラグレジスタを備え、前記フラグレジスタが第1の状態の時に、前記不揮発性メモリを前記CPUのアドレス空間内の第2のアドレス範囲にマッピングし、前記ROMを前記CPUのアドレス空間から排除し、前記フラグレジスタが前記不揮発性メモリのデータ記憶領域を書き換え可能な第2の状態の時に、前記ROMを前記CPUのアドレス空間内の第2のアドレス範囲にマッピングするとともに前記不揮発性メモリのデータ記憶領域を前記CPUのアドレス空間内の第3のアドレス範囲にマッピングし、前記不揮発性メモリのプログラム領域を前記CPUのアドレス空間から排除するアドレスデコーダと、を備え、前記不揮発性メモリに記憶された前記第1のプログラムが、前記不揮発性メモリに記憶された前記第2のプログラムを前記RAMへ転送し、前記RAMへ転送された前記第2のプログラムの先頭アドレスへ分岐するルーチンを含み、前記不揮発性メモリに記憶された前記第2のプログラムが、前記アドレスデコーダの前記フラグレジスタを第2の状態に設定し、前記ROMに記憶された前記第3のプログラムをサブルーチンコールし、前記アドレスデコーダの前記フラグレジスタを第1の状態に設定するルーチンを含み、前記ROMに記憶された前記第3のプログラムが、前記RAM中のデータを前記第3のアドレス範囲にマッピングされた前記不揮発性メモリのデータ記憶領域へ書き込むためのルーチンを含む、ことを特徴とする。
【0007】
ここで、情報処理装置は、シングルチップマイクロコンピュータとすることができる。
【0008】
不揮発性メモリ内のデータ記憶領域を書き換える場合に不揮発性メモリ内のデータ記憶領域を書き換えるプログラムを記憶したROMがCPUのアドレス空間にマッピングされるようにし、その他の場合はROMがCPUのアドレス空間にマッピングされないようにすることにより、不揮発性メモリ内のデータ記憶領域の書き換えを容易にし、不揮発性メモリ内のデータ記憶領域を書き換える場合以外の場合にCPUの暴走などにより不揮発性メモリ内のプログラム記憶領域が書き換えられないようにすることができる。
【0009】
【発明の実施の形態】
以下、本発明の情報処理装置について、図面を参照しつつ詳細に説明する。
図1は、本発明の情報処理装置の実施の一形態を示す概略図である。以下、図1を用いて、本実施形態に係る情報処理装置について、説明する。
【0010】
図1において、本実施形態に係る情報処理装置10は、バスBによって相互に接続されたCPU1と、RAM2と、アドレスデコーダ3と、を備えている。また、情報処理装置10は、アドレスデコーダ3に接続されたフラッシュメモリ4及びマスクROM5と、を備えている。
【0011】
RAM2は、CPU1のアドレス空間内のアドレスD800H〜F7FFHにマッピングされている。
【0012】
フラッシュメモリ4は、CPU1が実行するプログラムを記憶するプログラム記憶領域と、CPU1がアクセスするデータを記憶するデータ記憶領域と、を含んでいる。
【0013】
マスクROM5は、CPU1が実行するプログラムを記憶している。
【0014】
アドレスデコーダ3は、自己プログラミングフラグレジスタを内蔵している。この自己プログラミングフラグレジスタは、CPU1のアドレス空間内のアドレスFFEFHにマッピングされており、CPU1によって1又は0が設定される。
【0015】
アドレスデコーダ3は、自己プログラミングフラグレジスタの値が1の場合、フラッシュメモリ4をCPU1のアドレス空間内のアドレス0000H〜7FFFHにマッピングする。図2は、自己プログラミングフラグレジスタの値が1の場合のCPU1のメモリマップである。通常、自己プログラミングフラグレジスタの値は、1に設定されている。
【0016】
また、アドレスデコーダ3は、自己プログラミングフラグレジスタが0の場合、マスクROM5をCPU1のアドレス空間内のアドレス0000H〜0FFFHに、フラッシュメモリ4のデータ記憶領域をCPU1のアドレス空間内のアドレスFFF0H〜FFF6H(以下、単に「フラッシュ制御レジスタ」ともいう)に、夫々マッピングする。図3は、自己プログラミングフラグレジスタの値が0の場合のCPU1のメモリマップである。
【0017】
次に、本実施形態に係る情報処理装置10のフラッシュメモリ4内のデータ記憶領域に記憶されたデータの書き換え動作について、説明する。図4は、フラッシュメモリ4内のデータ記憶領域に記憶されたデータを書き換えるための情報処理装置10の処理の概略を示すフローチャートである。図5は、図4で示した処理のうち書き換えプログラム実行処理を示すフローチャートである。図6は、図5で示した処理のうちフラッシュ転送プログラム実行処理を示すフローチャートである。以下、図4〜図6を用いて、フラッシュメモリ4内のデータ記憶領域に記憶されたデータを書き換えるための情報処理装置10の動作について、説明する。
【0018】
通常、自己プログラミングフラグレジスタの値は1に設定されており、CPU1はフラッシュメモリ4内のプログラム記憶領域に記憶された制御プログラムなどを実行している。そして、フラッシュメモリ4内のデータ記憶領域に記憶されたデータを書き換える必要が生じると、CPU1は、図4〜図6の処理を開始する。
【0019】
図4の処理を開始すると、CPU1は、フラッシュメモリ4内のプログラム記憶領域に記憶された書換プログラムとフラッシュメモリ4内のデータ記憶領域に記憶されたデータとを、RAM2へコピーする(ステップS101)。
【0020】
次に、CPU1は、ステップS101にてRAM2内へコピーされた書換プログラムをサブルーチンコールする(ステップS102)。
【0021】
書換プログラムをサブルーチンコールすると、CPU1は、図5の処理を開始する。
【0022】
書換プログラムの実行処理を開始すると、CPU1は、自己プログラミングフラグレジスタの値を0に設定する(ステップS201)。自己プログラミングフラグの値が0に設定されることにより、CPU1のメモリマップは図2から図3へ移る。
【0023】
次に、CPU1は、マスクROM5内のフラッシュ転送プログラムをサブルーチンコールする(ステップS202)。
【0024】
フラッシュ転送プログラムをサブルーチンコールすると、CPU1は、図6の処理を開始する。
【0025】
フラッシュ転送プログラムの実行処理を開始すると、CPU1は、RAM2内の所定のアドレスのデータを、CPU1のアドレス空間内のアドレスFFF0H〜FFF6Hを介して、フラッシュメモリ4のデータ記憶領域へ書き込む(ステップS301)。その後、CPU1はフラッシュ転送プログラム処理を終了し、ステップS202へリターンする。
【0026】
フラッシュ転送プログラムからリターンすると、CPU1は、自己プログラミングフラグの値を1に設定する(ステップS203)。自己プログラミングフラグの値が1に設定されることにより、CPU1のメモリマップは図3から図2へ移る。その後、CPU1は書換プログラム処理を終了し、ステップS102へリターンする。
【0027】
書換プログラムからリターンすると、CPU1は、全ての処理を終了する。
【0028】
以上のようにして、フラッシュメモリ4内のデータ記憶領域に記憶されたデータの書き換えが行われる。
【0029】
このように、本実施形態に係る情報処理装置10によれば、フラッシュメモリ4内のデータ記憶領域を書き換える場合にフラッシュメモリ4内のデータ記憶領域を書き換えるプログラムを記憶したマスクROM5がCPU1のアドレス空間にマッピングされるようにし、その他の場合はマスクROM5がCPU1のアドレス空間にマッピングされないようにすることにより、フラッシュメモリ4内のデータ記憶領域の書き換えを容易にし、フラッシュメモリ4内のデータ記憶領域を書き換える場合以外の場合にプログラムのバグ等によりCPU1が暴走してもフラッシュメモリ4内のプログラム記憶領域が書き換えられないようにすることができる。
【0030】
以上、本発明の情報処理装置の形態例を示したが、情報処理装置10をシングルチップマイクロコンピュータとすることができる。
【0031】
【発明の効果】
以上述べた通り、本発明の情報処理装置によれば、不揮発性メモリ内のデータ記憶領域を書き換える場合に不揮発性メモリ内のデータ記憶領域を書き換えるプログラムを記憶したROMがCPUのアドレス空間にマッピングされるようにし、その他の場合はROMがCPUのアドレス空間にマッピングされないようにすることにより、不揮発性メモリ内のデータ記憶領域の書き換えを容易にし、不揮発性メモリ内のデータ記憶領域を書き換える場合以外の場合にCPUの暴走などにより不揮発性メモリ内のプログラム記憶領域が書き換えられないようにすることができるようになった。
【図面の簡単な説明】
【図1】本発明による情報処理装置の実施の一形態を示す概略図である。
【図2】本発明による情報処理装置の第1のメモリマップを示す図である。
【図3】本発明による情報処理装置の第2のメモリマップを示す図である。
【図4】本発明による情報処理装置の動作を示すフローチャートである。
【図5】本発明による情報処理装置の動作を示すフローチャートである。
【図6】本発明による情報処理装置の動作を示すフローチャートである。
【符号の説明】
10 情報処理装置
1 CPU
2 RAM
3 アドレスデコーダ
4 フラッシュメモリ
5 マスクROM
B バス
Claims (2)
- CPU(Central Processing Unit)と、
前記CPUが実行する第1及び第2のプログラムを記憶するプログラム記憶領域及び前記CPUがアクセスするデータを記憶するデータ記憶領域を含む書き換え可能な不揮発性メモリと、
前記CPUが実行する第3のプログラムを記憶するROM(Read Only Memory)と、
前記CPUのアドレス空間内の第1のアドレス範囲にマッピングされたRAM(Random Access Memory)と、
フラグレジスタを備え、前記フラグレジスタが第1の状態の時に、前記不揮発性メモリを前記CPUのアドレス空間内の第2のアドレス範囲にマッピングし、前記ROMを前記CPUのアドレス空間から排除し、前記フラグレジスタが前記不揮発性メモリのデータ記憶領域を書き換え可能な第2の状態の時に、前記ROMを前記CPUのアドレス空間内の第2のアドレス範囲にマッピングするとともに前記不揮発性メモリのデータ記憶領域を前記CPUのアドレス空間内の第3のアドレス範囲にマッピングし、前記不揮発性メモリのプログラム領域を前記CPUのアドレス空間から排除するアドレスデコーダと、を備え、
前記不揮発性メモリに記憶された前記第1のプログラムが、前記不揮発性メモリに記憶された前記第2のプログラムを前記RAMへ転送し、前記RAMへ転送された前記第2のプログラムの先頭アドレスへ分岐するルーチンを含み、
前記不揮発性メモリに記憶された前記第2のプログラムが、前記アドレスデコーダの前記フラグレジスタを第2の状態に設定し、前記ROMに記憶された前記第3のプログラムをサブルーチンコールし、前記アドレスデコーダの前記フラグレジスタを第1の状態に設定するルーチンを含み、
前記ROMに記憶された前記第3のプログラムが、前記RAM中のデータを前記第3のアドレス範囲にマッピングされた前記不揮発性メモリのデータ記憶領域へ書き込むためのルーチンを含む、
ことを特徴とする情報処理装置。 - 前記情報処理装置が、シングルチップマイクロコンピュータであることを特徴とする請求項1記載の情報処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001000385A JP3918434B2 (ja) | 2001-01-05 | 2001-01-05 | 情報処理装置 |
US10/038,536 US6772314B2 (en) | 2001-01-05 | 2002-01-02 | Data processing device |
KR10-2002-0000399A KR100458100B1 (ko) | 2001-01-05 | 2002-01-04 | 정보 처리 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001000385A JP3918434B2 (ja) | 2001-01-05 | 2001-01-05 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002207640A JP2002207640A (ja) | 2002-07-26 |
JP3918434B2 true JP3918434B2 (ja) | 2007-05-23 |
Family
ID=18869181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001000385A Expired - Fee Related JP3918434B2 (ja) | 2001-01-05 | 2001-01-05 | 情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6772314B2 (ja) |
JP (1) | JP3918434B2 (ja) |
KR (1) | KR100458100B1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030033463A1 (en) * | 2001-08-10 | 2003-02-13 | Garnett Paul J. | Computer system storage |
US20050144408A1 (en) * | 2003-12-24 | 2005-06-30 | Kenji Ejima | Memory protection unit, memory protection method, and computer-readable record medium in which memory protection program is recorded |
US7533240B1 (en) * | 2005-06-01 | 2009-05-12 | Marvell International Ltd. | Device with mapping between non-programmable and programmable memory |
US7910001B2 (en) * | 2007-12-13 | 2011-03-22 | Mote Marine Laboratory | Arrangement of denitrification reactors in a recirculating aquaculture system |
US8219802B2 (en) * | 2008-05-07 | 2012-07-10 | International Business Machines Corporation | System, method and program product for consolidated authentication |
JP5328020B2 (ja) * | 2009-01-15 | 2013-10-30 | セイコーインスツル株式会社 | メモリ装置及びメモリアクセス方法 |
KR102108838B1 (ko) | 2013-06-18 | 2020-05-11 | 삼성전자주식회사 | 임베디드 메모리 장치 및 그것을 포함한 메모리 컨트롤러 |
CN106649136B (zh) * | 2015-11-03 | 2022-09-23 | 西安中兴新软件有限责任公司 | 一种数据存储方法和存储装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01232447A (ja) * | 1988-03-11 | 1989-09-18 | Mitsubishi Electric Corp | シングル・チップ・マイクロコンピュータ |
JP3292864B2 (ja) * | 1995-02-07 | 2002-06-17 | 株式会社日立製作所 | データ処理装置 |
JPH08263281A (ja) | 1995-03-28 | 1996-10-11 | Yaskawa Electric Corp | フラッシュメモリの編集装置 |
JPH09114800A (ja) * | 1995-10-17 | 1997-05-02 | Sanyo Electric Co Ltd | 1チップマイクロコンピュータ |
JPH10247187A (ja) | 1997-03-06 | 1998-09-14 | Nec Eng Ltd | 1チップマイクロコンピュータ |
JPH10333898A (ja) | 1997-05-29 | 1998-12-18 | Nec Corp | マイクロコンピュータ |
JP2001175933A (ja) * | 1999-12-15 | 2001-06-29 | Sanden Corp | 自動販売機の制御プログラム書換システム及び自動販売機の制御装置 |
-
2001
- 2001-01-05 JP JP2001000385A patent/JP3918434B2/ja not_active Expired - Fee Related
-
2002
- 2002-01-02 US US10/038,536 patent/US6772314B2/en not_active Expired - Lifetime
- 2002-01-04 KR KR10-2002-0000399A patent/KR100458100B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100458100B1 (ko) | 2004-11-26 |
US6772314B2 (en) | 2004-08-03 |
KR20020057823A (ko) | 2002-07-12 |
US20020112115A1 (en) | 2002-08-15 |
JP2002207640A (ja) | 2002-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006502482A (ja) | 非線形メモリからのブーティング | |
US7398425B2 (en) | Information processing apparatus including NAND flash memory, and information processing method for the same | |
US20100169546A1 (en) | Flash memory access circuit | |
US20120017071A1 (en) | Apparatus and Method Thereof for Reliable Booting from NAND Flash Memory | |
JP3918434B2 (ja) | 情報処理装置 | |
JP3830867B2 (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
JPH08129509A (ja) | メモリ制御装置及び方法 | |
US20090193185A1 (en) | Method for accessing the physical memory of an operating system | |
JP2007034581A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US6738887B2 (en) | Method and system for concurrent updating of a microcontroller's program memory | |
KR100223844B1 (ko) | 옵션 자동 설정 회로 | |
JP4826232B2 (ja) | 情報処理装置およびブートプログラムの書き換え方法 | |
JP2006127245A (ja) | 電子機器システム | |
JPH09146767A (ja) | プログラム書き換え方法 | |
JP4461760B2 (ja) | コンピュータの起動システム | |
US20230315482A1 (en) | Microcontroller and update method for microcontroller | |
JPH103434A (ja) | 半導体ディスク装置及びその書き込み方式 | |
JP4876459B2 (ja) | マルチプロセッサシステム、マルチプロセッサシステムの起動方法、および携帯端末 | |
TWI328167B (en) | Method for accessing memory | |
JP2004213102A (ja) | マイクロコンピュータ | |
JP3442972B2 (ja) | 情報処理装置および書き換え可能型不揮発性メモリの書き換え方法 | |
JP2000090643A (ja) | 記憶装置 | |
JP2002304329A (ja) | 半導体装置 | |
JP2015090512A (ja) | メモリダンプ機能を有する情報処理装置 | |
JPH1040094A (ja) | ファームウエアのプログラム制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060824 |
|
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: 20070123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070205 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |