JP2003108397A - ファームウェア書き換え方法 - Google Patents

ファームウェア書き換え方法

Info

Publication number
JP2003108397A
JP2003108397A JP2001295908A JP2001295908A JP2003108397A JP 2003108397 A JP2003108397 A JP 2003108397A JP 2001295908 A JP2001295908 A JP 2001295908A JP 2001295908 A JP2001295908 A JP 2001295908A JP 2003108397 A JP2003108397 A JP 2003108397A
Authority
JP
Japan
Prior art keywords
section
block
firmware
mapped
sections
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.)
Withdrawn
Application number
JP2001295908A
Other languages
English (en)
Inventor
Satoshi Kurosawa
敏 黒澤
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2001295908A priority Critical patent/JP2003108397A/ja
Publication of JP2003108397A publication Critical patent/JP2003108397A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ファームウェアプログラムイメージの差分を
小さくなるように抑えて、バージョンアップに要する作
業時間を短縮し、作業を効率化すること等が可能なファ
ームウェア書き換え方法を提供する。 【解決手段】 ブロック単位で書き換え可能な記憶手段
を有する組み込み系システムにおいて、セクションを、
ソースプログラムまたはオブジェクトプログラムの枠を
越えて同一セクション同士を集合させ、集合させた各セ
クションを、予め定められたリンクマップテーブルに従
い、物理アドレスの指示のあるセクションは当該アドレ
スにマップし、物理アドレスの指示のないセクションは
指示された順序通りに連続的にマップする際に、予め定
められたブロック情報テーブルに従い、セクションを、
選択的に、ブロックの先頭にずらして、またはブロック
の境界を跨いで連続的にマップする。

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、ファームウェア書
き換え方法に関し、特に、書き換え可能なFROMを有
する組み込み系システムにおいてファームウェアを効率
的に書き換える方法に関する。 【0002】 【従来の技術】従来、携帯電話や各種家電等の組み込み
系システムでは、ファームウェアプログラムイメージを
FROM上に書き込み、これを実行して各々の組み込み
系システムに有用な機能を実現している。そして、組み
込み系システムの機能の変更や不具合の修正が必要な場
合には、変更後のファームウェアプログラムイメージを
組み込み系システムに送り込み、FROM上に上書き
(消去+書き込み)することでバージョンアップを行っ
ていた。 【0003】ここで、FROMへの書き込みは、ブロッ
ク単位で行われ、複数のブロックに跨るファームウェア
プログラムイメージでは、変更のないブロックについて
は上書きする必要がない。しかし、通常、ファームウェ
アプログラムイメージは、オブジェクトサイズが変わる
ようなソースの改造を行うと、それ以降すべてずれてマ
ップされてしまい、結果としてすべてのブロックを書き
換えないとバージョンアップできなくなっていた。 【0004】ファームウェアプログラムイメージは、セ
クションと呼ばれる単位の集合で構成され、意識しない
限り連続的にセクションを積み上げる形でマップされて
いる。従って、各セクションの先頭を物理的にアドレス
指定してマップすれば、セクション間に隙間をマップで
き、ソースを改造しても隙間分のサイズ増までは他のセ
クションのマップに影響を与えないようにファームウェ
アプログラムイメージを作製することは可能である。し
かし、この方法では、物理アドレスを直接指定している
ため、直前のセクションが次のセクションの先頭にかぶ
っていないかを細かく管理しなければならない。 【0005】また、組み込みシステムの性質上、FRO
Mのサイズは必要最小限に抑えて搭載されるので、細か
く物理アドレスを指定してマップしても、遊んでしまう
隙間が増えるだけでFROMサイズを圧迫しかねない
上、大きな効果を得ることはできない。 【0006】 【発明が解決しようとする課題】組み込みシステムのフ
ァームウェアプログラムを書き換えるのは、システム開
発時の改造/修正や、フィールド障害に対応する必要等
がある場合である。システム開発時には、ごく僅かのソ
ースを改造して動作確認する場合等を含め、頻繁にファ
ームウェアの書き換えが発生し、その度にマップがずれ
てしまったFROMブロックをすべて書き換えるのでは
非常に効率が悪い。また、フィールド障害時には、量産
後の製品すべてをバージョンアップしなければならず、
バージョンアップに莫大な時間を労してしまう。 【0007】これらの効率を上げるには、記憶されてい
るファームウェアプログラムイメージと変更後のファー
ムウェアプログラムイメージとの差分FROMブロック
数を減らす必要があるが、現状では、通常、ソースの変
更は以降にマップされるすべてのファームウェアプログ
ラムイメージに影響を与える可能性が高く、差分FRO
Mブロック数を減らすことができないという問題があっ
た。 【0008】そこで、本発明は、上記従来のファームウ
ェア書き換え方法における問題点に鑑みてなされたもの
であって、ファームウェアプログラムイメージの差分を
小さくなるように抑えて、バージョンアップに要する作
業時間を短縮し、作業を効率化することのできるファー
ムウェア書き換え方法を提供することを目的とする。ま
た、本発明は、さらに、書き込み回数に寿命のあるFR
OMへの書き込み回数を抑えること等を目的とする。 【0009】 【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、ファームウェア書き換え方
法であって、ブロック単位で書き換え可能な記憶手段を
有し、外部からファームウェアデータを受け取って前記
記憶手段に記憶されているファームウェアを書き換える
ことのできるプログラムを有する組み込み系システムに
おいて、ソースプログラムまたはオブジェクトプログラ
ムを構成するセクションを、ソースプログラムまたはオ
ブジェクトプログラムの枠を越えて同一セクション同士
を集合させ、前記集合させた各セクションを、予め定め
られたリンクマップテーブルに従い、物理アドレスの指
示のあるセクションは当該アドレスにマップし、物理ア
ドレスの指示のないセクションは指示された順序通りに
連続的にマップする際に、予め定められたブロック情報
テーブルに従い、前記セクションを、選択的に、ブロッ
クの先頭にずらして、またはブロックの境界を跨いで連
続的にマップすることを特徴とする。 【0010】そして、請求項1記載の発明によれば、オ
ブジェクトをリンクする際に、ブロックを跨ぐセクショ
ンは、ブロック情報テーブルに従って、「許可」されて
いればそのまま連続的に積み上げ、「拒否」されていれ
ば次のブロックの先頭からマップしてファームウェアプ
ログラムイメージを作成する。そのため、ブロックの境
界を跨がない(「拒否」)とした直前のブロックはブロ
ックの最後尾に隙間ができ、ブロック内の任意のセクシ
ョンに含まれるソースを変更しても他のブロックに影響
しない。また、直接物理アドレスを指定してマップしな
いため、隙間をそのブロック内の任意のソースに対して
有効に活用できる。さらに、すべてのブロックで、境界
を跨ぐ(「許可」)としておけば、従来通りすべて連続
してマップされたファームウェアプログラムイメージを
作製することもできる。 【0011】以上により、本発明では、セクションの配
置(マップ)に対する意識を従来以上に意識しなくて
も、ブロックの書き換えを最小限に抑えるようにファー
ムウェアプログラムイメージを作製することができ、バ
ージョンアップ作業時間を効率化することができるとと
もに、書き換え回数を削減できるため、FROM等の記
憶手段の寿命を長くすることができる。 【0012】 【発明の実施の形態】次に、本発明にかかるファームウ
ェア書き換え方法の実施の形態の具体例を図面を参照し
ながら説明する。 【0013】図1は、ファームウェアプログラムイメー
ジを書き換え可能なFROM(記憶手段)を有する組み
込み系システムにダウンロード(バージョンアップ)す
る場合の本発明及び従来の要領の一例を示す。組み込み
系システムには、ダウンロード用プログラムがプリイン
ストールされ、このプログラムは、パーソナルコンピュ
ータ(PC)等の外部装置から送られてきたFROMの
ブロックサイズ分のデータを所定のFROMブロックに
書き込む機能を有する。ここで、FROMは、複数のブ
ロックで構成されているが、書き換え単位がブロック毎
であること以外は連続的であって、ブロックの境界を意
識する必要はない。 【0014】外部装置は、組み込み系システムに組み込
まれているものと同じファームウェアプログラムイメー
ジと変更後のファームウェアプログラムイメージを備
え、両者を比較し、差分のあるFROMブロックを組み
込み系システムに転送する機能を有する。 【0015】次に、図2にファームウェアプログラムイ
メージを作製する際に関連する構成を従来と本発明とで
比較した形で示す。 【0016】従来は、ソースプログラムまたはオブジェ
クトプログラム(以下、「ソース/オブジェクト」と記
載する)をリンクする際、各セクションの配置を記述し
たリンクマップテーブルの指示に従ってファームウェア
プログラムイメージを作製していた。本発明では、後述
するように、さらに、書き換え単位であるFROMブロ
ックを意識するため、リンク時にFROMブロック情報
テーブルを参照してファームウェアプログラムイメージ
を作製する。 【0017】次に、本発明においてファームウェアプロ
グラムイメージを作製する際のリンク動作の詳細につい
て説明する。ここで、リンク動作には3段階のステップ
があり、第1及び第2段階は従来と同様のものであっ
て、第3段階が本発明に特有のものである。 【0018】ソース/オブジェクトは、セクションと呼
ばれるブロックの集合で構成されているが、まず第1段
階では、 図3に示すように、ソース/オブジェクトの
枠を越えて同一セクション同士を集合させる。すなわ
ち、ソース/オブジェクトをセクションで分類する。図
3では、各ソース/オブジェクトの変数データ部をセク
ション1ブロックに集合させ、定数データ部をセクショ
ン2ブロックに集合させ、以降同様にセクションを集合
させている。 【0019】第2段階では、図4に示すように、各セク
ションをリンクマップテーブルに従ってファームウェア
プログラムイメージとしてマップする。ここで、物理ア
ドレス指示のあるセクションはそのアドレスにマップ
し、物理アドレス指示のないセクションは指示された順
序通りに連続的にマップする。図4では、セクション5
をアドレス0x30000にマップし、その直後からセクショ
ン9〜13を順に連続的にマップする。また、セクショ
ン1は、0x60000からマップし、続けてセクション3を
マップする。 【0020】第3段階は、実際には第2段階と平行して
実行する。すなわち、図4に示すように、上記第2段階
を動作しながら、各セクションを順にマップする際、全
FROMブロックの境界アドレスを記述したFROMブ
ロック情報テーブルに従って「拒否」を指示する境界ア
ドレスを跨いでマップするタイミングの場合には、次の
FROMブロック先頭にずらしてマップしていく。一
方、「許可」を指示する境界アドレスの場合には、その
まま境界を跨いで連続的にマップする。例えば、図4で
は、FROMブロック情報テーブルが「拒否」を指示す
る物理アドレス0x40000を跨いでセクションがマップさ
れる際、セクションの先頭を0x40000にずらしてマップ
している。 【0021】これによって、第2段階までで完了する従
来のファームウェアプログラムイメージに比べて、意図
的にFROMブロック単位での書き換えに最適な位置に
隙間を作り、ソースの改造があった場合には、この隙間
部分で吸収することで最小限のFROMブロックの変更
を実現できる。また、FROMブロック内に物理アドレ
ス指定でマップされたセクションがなければ、ブロック
内の任意のソース改造に対してこの隙間を効率よく利用
できる。さらに、FROMブロック境界の直前以外は、
セクションは連続してマップされるため、従来と比べて
大きくFROMサイズを圧迫することもない。 【0022】上記結果から見ると、図4において、リン
クマップテーブルによってセクション12を0x40000と
指定していれば、第3段階で使用するFROMブロック
情報テーブルが存在しなくとも、同一のファームウェア
プログラムイメージを作り出すことはできる。しかし、
実際には、境界アドレス0x40000上にセクション12が
配置されていることを予め意識しておく必要があるた
め、上述のように指定するのは非常に困難である。 【0023】また、リンクマップテーブルによってすべ
て、あるいはほとんどのセクションを物理アドレス指定
することで各セクションの後に隙間を作ってソース変更
の影響をFROMブロック内で吸収することも可能であ
る。しかし、この場合でもすべてのセクションの配置を
意識しなければならない上、隙間とセクションが1対1
で対応してしまうため、同一FROMブロック内に隙間
が残っているにも拘わらず、マップし直してファームウ
ェアプログラムイメージ全体に影響を与えてしまうこと
になりかねない。これでは、有限のFROMサイズを有
効に使用しているとはいえない。 【0024】これに対し、本発明では、セクションの配
置を従来以上に意識しなくても、FROMブロックの境
界アドレスを利用するだけで、連続または相対的にセク
ションを配置しながらFROMブロック境界直前に隙間
を埋め込むことができ、上記問題点を解決している。 【0025】以上より、例えば、ファームウェア開発時
には、FROMブロック情報テーブルによって、担当し
ている機能の属するセクション(FROMブロック)の
部分のみ「拒否」としておけば、全FROMサイズをほ
とんど圧迫することなく、改造がFROMブロックを越
えない差分最小のファームウェアプログラムイメージを
作製することができ、開発作業の効率化を図ることがで
きる。また、出荷時には全FROMサイズが許す範囲内
で、FROMブロック情報テーブルにて「拒否」を指定
しておけば、大抵のフィールド障害に対して、差分が最
小のファームウェアプログラムイメージを作製すること
ができる。 【0026】 【発明の効果】以上説明したように、本発明によれば、
バージョンアップに要する作業時間を短縮し、作業を効
率化することができ、書き込み回数に寿命のあるFRO
Mへの書き込み回数を抑えること等が可能なファームウ
ェア書き換え方法を提供することができる。
【図面の簡単な説明】 【図1】本発明及び従来のファームウェア書き換え方法
における、組み込みシステムへのファームウェアプログ
ラムのダウンロード方法を説明するための図である。 【図2】本発明及び従来のファームウェア書き換え方法
におけるリンク時の動作の比較図である。 【図3】本発明及び従来のファームウェア書き換え方法
におけるリンク時の動作の第1段階として、ソース/オ
ブジェクトをセクション単位で分類することを説明する
ための図である。 【図4】本発明及び従来のファームウェア書き換え方法
におけるリンク時の動作の第2段階、及び本発明にかか
るファームウェア書き換え方法の第3段階におけるファ
ームウェアプログラムイメージの作成方法及び構造の違
いを説明するための図である。

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 ブロック単位で書き換え可能な記憶手段
    を有し、外部からファームウェアデータを受け取って前
    記記憶手段に記憶されているファームウェアを書き換え
    ることのできるプログラムを有する組み込み系システム
    において、ソースプログラムまたはオブジェクトプログ
    ラムを構成するセクションを、ソースプログラムまたは
    オブジェクトプログラムの枠を越えて同一セクション同
    士を集合させ、前記集合させた各セクションを、予め定
    められたリンクマップテーブルに従い、物理アドレスの
    指示のあるセクションは当該アドレスにマップし、物理
    アドレスの指示のないセクションは指示された順序通り
    に連続的にマップする際に、予め定められたブロック情
    報テーブルに従い、前記セクションを、選択的に、ブロ
    ックの先頭にずらして、またはブロックの境界を跨いで
    連続的にマップすることを特徴とするファームウェア書
    き換え方法。
JP2001295908A 2001-09-27 2001-09-27 ファームウェア書き換え方法 Withdrawn JP2003108397A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001295908A JP2003108397A (ja) 2001-09-27 2001-09-27 ファームウェア書き換え方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001295908A JP2003108397A (ja) 2001-09-27 2001-09-27 ファームウェア書き換え方法

Publications (1)

Publication Number Publication Date
JP2003108397A true JP2003108397A (ja) 2003-04-11

Family

ID=19117258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001295908A Withdrawn JP2003108397A (ja) 2001-09-27 2001-09-27 ファームウェア書き換え方法

Country Status (1)

Country Link
JP (1) JP2003108397A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006059217A (ja) * 2004-08-23 2006-03-02 Mitsubishi Electric Corp ソフトウェアメモリイメージ生成装置及び組み込み機器ソフトウェア更新システム及びプログラム
JP2007524171A (ja) * 2004-02-27 2007-08-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) フラッシュメモリのプログラミング
JP2008519360A (ja) * 2004-11-08 2008-06-05 イノパス・ソフトウェアー・インコーポレーテッド 圧縮リード・オンリ・メモリ・ファイル・システム(crmfs)画像の更新
JP2012247908A (ja) * 2011-05-26 2012-12-13 Nec Corp メモリ配置管理装置、メモリ配置管理方法、メモリ配置管理プログラム、およびプログラム作成システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007524171A (ja) * 2004-02-27 2007-08-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) フラッシュメモリのプログラミング
JP4903686B2 (ja) * 2004-02-27 2012-03-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) フラッシュメモリのプログラミング
JP2006059217A (ja) * 2004-08-23 2006-03-02 Mitsubishi Electric Corp ソフトウェアメモリイメージ生成装置及び組み込み機器ソフトウェア更新システム及びプログラム
JP2008519360A (ja) * 2004-11-08 2008-06-05 イノパス・ソフトウェアー・インコーポレーテッド 圧縮リード・オンリ・メモリ・ファイル・システム(crmfs)画像の更新
JP2008522254A (ja) * 2004-11-08 2008-06-26 イノパス・ソフトウェアー・インコーポレーテッド スタティック・ファイル・システムの差異検出および更新
JP2012247908A (ja) * 2011-05-26 2012-12-13 Nec Corp メモリ配置管理装置、メモリ配置管理方法、メモリ配置管理プログラム、およびプログラム作成システム

Similar Documents

Publication Publication Date Title
JP3892851B2 (ja) メモリカード及び半導体装置
JP5369807B2 (ja) ストレージ装置
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
JP2014126989A (ja) 制御装置、制御方法、及び、プログラム
US20080270698A1 (en) Data migration including operation environment information of a host computer
EP1909175B1 (en) Memory management method and portable terminal device
JP4831793B2 (ja) データ制御装置
KR20000006562A (ko) 데이타기억장치및데이타처리시스템및방법
JP2007233638A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
TWI413897B (zh) 快閃記憶體之資料存取方法以及快閃記憶體裝置
TWI430283B (zh) 用於電子裝置的資料處理與定址方法及其電子裝置
JPWO2007099636A1 (ja) ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
CN108399076A (zh) 一种基于uefi的固件更新方法与装置
JP2003108397A (ja) ファームウェア書き換え方法
US7904422B2 (en) System for deploying data from deployment-source device to deployment-destination device
JP5526824B2 (ja) ストレージシステム
JP2007066326A (ja) 記憶装置、データ処理装置並びにデータ処理方法
JP4895264B2 (ja) 記憶装置および情報処理装置
TWI407305B (zh) 快閃記憶體之資料存取方法以及快閃記憶體裝置
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
CN111338850A (zh) 一种基于cow模式多快照下提高备份效率的方法及系统
WO2009090692A1 (ja) 半導体記録装置及び半導体記録システム
US8275809B2 (en) Object processing system using an object model
JP2005339450A (ja) フラッシュメモリのデータ管理方式
JP2005222531A (ja) データ記録装置及びデータ記録方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081202