JP3918434B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

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
Application number
JP2001000385A
Other languages
English (en)
Other versions
JP2002207640A (ja
Inventor
貴志 樫根
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2001000385A priority Critical patent/JP3918434B2/ja
Priority to US10/038,536 priority patent/US6772314B2/en
Priority to KR10-2002-0000399A priority patent/KR100458100B1/ko
Publication of JP2002207640A publication Critical patent/JP2002207640A/ja
Application granted granted Critical
Publication of JP3918434B2 publication Critical patent/JP3918434B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates 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

【0001】
【発明の属する技術分野】
本発明は、情報処理装置に関する。特には、不揮発性メモリに記憶されたデータを書き換えることができる情報処理装置に関する。
【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)

  1. 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のアドレス範囲にマッピングされた前記不揮発性メモリのデータ記憶領域へ書き込むためのルーチンを含む、
    ことを特徴とする情報処理装置。
  2. 前記情報処理装置が、シングルチップマイクロコンピュータであることを特徴とする請求項1記載の情報処理装置。
JP2001000385A 2001-01-05 2001-01-05 情報処理装置 Expired - Fee Related JP3918434B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 自動販売機の制御プログラム書換システム及び自動販売機の制御装置

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