JP2011065246A - 組み込みシステム - Google Patents
組み込みシステム Download PDFInfo
- Publication number
- JP2011065246A JP2011065246A JP2009213302A JP2009213302A JP2011065246A JP 2011065246 A JP2011065246 A JP 2011065246A JP 2009213302 A JP2009213302 A JP 2009213302A JP 2009213302 A JP2009213302 A JP 2009213302A JP 2011065246 A JP2011065246 A JP 2011065246A
- Authority
- JP
- Japan
- Prior art keywords
- volatile memory
- logical
- expression
- firmware
- logical expression
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】組み込みシステムの論理機能を変更するにはファームウェアを変更しなければならず、その結果として開発期間の長期化や開発コストの増大が発生する。
【解決手段】ファームウェアを記憶する第1の不揮発性メモリ(フラッシュROM112)と、論理式を記憶する第2の不揮発性メモリ(EEPROM12)と、揮発性メモリ(RAM113)と、これらに接続されたプロセッサ111とを備える。ファームウェアは、第2の不揮発性メモリから論理式を読み出して解析し、その解析結果を揮発性メモリに記憶する初期化ルーチンと、揮発性メモリから論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する。
【選択図】図1
【解決手段】ファームウェアを記憶する第1の不揮発性メモリ(フラッシュROM112)と、論理式を記憶する第2の不揮発性メモリ(EEPROM12)と、揮発性メモリ(RAM113)と、これらに接続されたプロセッサ111とを備える。ファームウェアは、第2の不揮発性メモリから論理式を読み出して解析し、その解析結果を揮発性メモリに記憶する初期化ルーチンと、揮発性メモリから論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する。
【選択図】図1
Description
本発明は、不揮発性メモリにファームウェアが組み込まれ、プロセッサによって動作する組み込みシステムに関する。
現在、パソコン、サーバ、メインフレーム以外でコンピュータ制御されている機器の多くが組み込みシステムとなっている。組み込みシステムは、フラッシュROM等の不揮発性メモリに記憶されたファームウェアをプロセッサが実行することにより、システムの動作や状態などを制御する。
このような組み込みシステムでは、ファームウェアを改版することにより、組み込みシステムの論理機能を変更することができる。ここで、論理機能とは、例えば組み込みシステムとして、入力信号A、Bと出力信号Cとを扱う通信装置を例にすると、C=A and Bといった論理演算を行う機能を意味する。
ファームウェアを改版することで機能変更を行う技術の一例が特許文献1に記載されている。この特許文献1では、複数の通信回線を終端し、警報転送する通信装置において、通信回線のインタフェース条件によって異なってくる警報変換機能をファームウェアに依存することにより、ハードウェアの変更無しに、ファームウェアのみの変更で警報変換機能のカスタマイズを可能としている。
上述したように組み込みシステムは、ファームウェアのみの変更でシステムの論理機能を変更することができる。しかしながら、ファームウェアの変更作業にはバグ混入の危険を伴う。このため、ファームウェアを変更した場合、信頼性を確保するために、ファームウェアにバグが存在しないかどうかを再度評価する作業が必要になる。この結果、開発期間の長期化、開発コストの増大を招く。
本発明の目的は、組み込みシステムの論理機能を変更するにはファームウェアを変更しなければならず、その結果として開発期間の長期化や開発コストの増大が発生する、という課題を解決する組み込みシステム、機能変更方法およびマイクロプロセッシングユニットを提供することにある。
本発明の一形態である組み込みシステムは、
ファームウェアを記憶する第1の不揮発性メモリと、
論理式を記憶する第2の不揮発性メモリと、
揮発性メモリと、
上記第1の不揮発性メモリと上記第2の不揮発性メモリと上記揮発性メモリとに接続されたプロセッサとを備え、
上記ファームウェアは、
上記第2の不揮発性メモリから上記論理式を読み出して解析し、その解析結果を上記揮発性メモリに記憶する初期化ルーチンと、
上記揮発性メモリから上記論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する。
ファームウェアを記憶する第1の不揮発性メモリと、
論理式を記憶する第2の不揮発性メモリと、
揮発性メモリと、
上記第1の不揮発性メモリと上記第2の不揮発性メモリと上記揮発性メモリとに接続されたプロセッサとを備え、
上記ファームウェアは、
上記第2の不揮発性メモリから上記論理式を読み出して解析し、その解析結果を上記揮発性メモリに記憶する初期化ルーチンと、
上記揮発性メモリから上記論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する。
また、本発明の他の形態である論理演算実行方法は、
プロセッサが、電源投入直後の初期化時に、自プロセッサに接続された第1の不揮発性メモリに記憶されたファームウェアの初期化ルーチンを実行して、自プロセッサに接続された第2の不揮発性メモリに記憶された論理式を読み出して解析し、その解析結果を自プロセッサに接続された揮発性メモリに記憶し、
上記プロセッサが、上記ファームウェアの論理演算実行ルーチンを実行して、上記揮発性メモリから上記論理式の解析結果を読み出して実行する、
という構成を採る。
プロセッサが、電源投入直後の初期化時に、自プロセッサに接続された第1の不揮発性メモリに記憶されたファームウェアの初期化ルーチンを実行して、自プロセッサに接続された第2の不揮発性メモリに記憶された論理式を読み出して解析し、その解析結果を自プロセッサに接続された揮発性メモリに記憶し、
上記プロセッサが、上記ファームウェアの論理演算実行ルーチンを実行して、上記揮発性メモリから上記論理式の解析結果を読み出して実行する、
という構成を採る。
また、本発明の他の形態であるマイクロプロセッシングユニットは、
ファームウェアを記憶する第1の不揮発性メモリと、揮発性メモリと、プロセッサとを内蔵し、論理式を記憶する第2の不揮発性メモリが外付けされたマイクロプロセッサユニットであって、上記ファームウェアは、上記第2の不揮発性メモリから上記論理式を読み出して解析し、その解析結果を上記揮発性メモリに記憶する初期化ルーチンと、上記揮発性メモリから上記論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する、
という構成を採る。
ファームウェアを記憶する第1の不揮発性メモリと、揮発性メモリと、プロセッサとを内蔵し、論理式を記憶する第2の不揮発性メモリが外付けされたマイクロプロセッサユニットであって、上記ファームウェアは、上記第2の不揮発性メモリから上記論理式を読み出して解析し、その解析結果を上記揮発性メモリに記憶する初期化ルーチンと、上記揮発性メモリから上記論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する、
という構成を採る。
本発明によれば、ファームウェアの変更無しに、システムの論理機能を変更することができる。
次に、本発明の実施の形態について、図面を参照して詳細に説明する。
図1を参照すると、本発明の実施の形態に係る組み込みシステムは、MPU(Micro Processing Unit)11と、EEPROM12と、周辺回路13とを備えている。
この組み込みシステムは、周辺回路13からMPU11に対して1以上の電気信号を入力し、MPU11がこれらの電気信号を被演算数とした論理演算を実行して1以上の電気信号を生成し、周辺回路13へ出力するという動作を行う。このような動作を行う組み込みシステムは、光通信用のインタフェースモジュール等の通信機器、テレビなどの家電機器、コピー機械等のOA機器など各種考えられる。以下では、説明を簡単にするために、周辺回路13からMPU11へは、A、Bという2つの信号がインタフェース信号として入力され、MPU11から周辺回路13へは、Cという1つの信号がインタフェース信号として出力されるものとする。
EEPROM12は、MPU11で実行される論理演算を定義した論理式を記憶する。ここでは、EEPROM12には、「C=A and B」という論理式が記憶されているものとする。論理式の記述言語は任意であり、例えば本実施の形態ではC言語で記述されているものとする。また、論理演算の対象となるA、BはMPU11の所定の入出力ポートから入力されるインタフェース信号A、Bに対応し、論理演算結果のCはMPU11の所定の入出力ポートから出力されるインタフェース信号Cに対応していることが、ファームウェアで定義されているものとする。
MPU11は、各種の演算器や汎用レジスタやプログラムカウンタ等を有するプロセッサ(CPU(Central Processing Unit))111、ファームウェアFWを記憶するフラッシュROM112、データ等を一時的に記憶するRAM113、周辺回路13と信号A〜Cの授受を行う入出力ポート114と、メモリデータの授受を行う1以上のバス115とを有する。
フラッシュROM112に記憶されたファームウェアFWは、図2に示すように、複数のルーチンR1〜Rnから構成されている。ここで、ルーチンR1はシステムの電源投入時に実行される初期化ルーチンであり、その他のルーチンR2〜Rnは初期化後の通常運用時に実行されるルーチンである。また、そのうちルーチンR2は論理演算を実行するルーチンになっている。
初期化ルーチンR1では、プロセッサ111の内部レジスタのリセット等の一般的な初期化処理に加えて、EEPROM12の所定のアドレスから論理式を読み出して解析し、その解析結果をRAM113の所定のアドレスに記憶する処理を実行する。具体的には、初期化ルーチンR1は、C言語で記述された論理式をEEPROM12から読み出して、逆ポーランド式で記述されたバイナリ形式の論理式に変換(翻訳)し、RAM113に記憶する。
また論理演算を実行するルーチンR2では、RAM113から論理式の解析結果を読み出して実行する処理を行う。具体的には、ルーチンR2は、RAM113から逆ポーランド式で記述されたバイナリ形式の論理式を読み出して解釈し、論理演算を実行する。
図3は本実施の形態の動作の流れを示すフローチャートである。以下、図1〜図3を参照して、本実施の形態の動作を説明する。
図1の組み込みシステムのMPU11に電源が投入されると、MPU11のプロセッサ111は、最初の時間(数十から数百ミリ秒)、フラッシュROM112の所定のアドレスに記憶された初期化ルーチンR1を実行する(S101)。この初期化ルーチンR1の実行により、プロセッサ111は、EEPROM12の所定のアドレスから論理式を読み出し、この論理式を逆ポーランド式に変換し、RAM113の所定のアドレスに記憶する。上述したように、EEPROM12に「C=A and B」という論理式が記憶されている場合、その論理式が逆ポーランド式に変換されてRAM113に記憶される。
その後、プロセッサ111は、ルーチンR2〜Rnを実行する通常モードへ移行する(S102)。
通常モードにおいて、論理演算を実行するルーチンR2に制御が移行すると、プロセッサ111は、このルーチンR2の実行により、RAM113から逆ポーランド式で記述されたバイナリ形式の論理式を読み出して解釈し、論理演算を実行する。上述したように、逆ポーランド式で記述された「C=A and B」がRAM113に記憶されている場合、プロセッサ111は、この逆ポーランド式を解釈実行することにより、周辺回路13から入力されている信号A、Bの論理積を演算し、その演算結果を信号Cとして周辺回路13へ出力する。
上述した組み込みシステムでは、「C=A and B」という論理式を使用したが、別の論理式、例えば「C=A」という論理式を使用する場合には、EEPROM12中の論理式「C=A and B」を「C=A」に書き換えれば良い。この際、フラッシュROM112中のファームウェアの変更は一切必要はない。
図4は、本発明を用いて、論理式のみ異なる複数の組み込みシステムを開発する工程の説明図である。例えば、論理式「C=A and B」を使用する組み込みシステム201と、論理式「C=A or C」を使用する組み込みシステム202との2種類の組み込みシステムを開発することを考える。本発明の場合、図4に示すように、それらに共通なソースプログラムを作成し、それをコンパイラで翻訳して生成したファームウェアを、各々の組み込みシステム201、202のフラッシュROMにロードする。一方、組み込みシステム201のEEPROMには、論理式「C=A and B」のデータを記憶し、組み込みシステム202のEEPROMには、論理式「C=A
or C」のデータを記憶する。複数の組み込みシステムで、共通のファームウェアを使用できるため、ファームウェアの評価作業は共通に行える。
or C」のデータを記憶する。複数の組み込みシステムで、共通のファームウェアを使用できるため、ファームウェアの評価作業は共通に行える。
他方、ファームウェア自体に論理式の定義を組み入れる場合、図5に示すように、論理式「C=A and B」の定義を含むソースプログラム、論理式「C=A or C」の定義を含むソースプログラムをそれぞれ開発し、それをコンパイラで翻訳して生成した互いに相違するファームウェアを、組み込みシステム201、202のフラッシュROMにロードする必要がある。複数の組み込みシステムで、ファームウェアが相違するため、ファームウェアの評価作業は別個に実施する必要があり、また他種類のファームウェアの管理が必要になる。
このように本実施の形態によれば、ファームウェアの変更無しに、組み込みシステムの論理機能を変更することができる。このため、組み込みシステムのカスタマイズに要する開発期間を短縮でき、また開発コストを低減することができる。
11 MPU
12 EEPROM
13 周辺回路
111 プロセッサ
112 フラッシュROM
113 RAM
114 入出力ポート
115 バス
201、202 組み込みシステム
12 EEPROM
13 周辺回路
111 プロセッサ
112 フラッシュROM
113 RAM
114 入出力ポート
115 バス
201、202 組み込みシステム
Claims (9)
- ファームウェアを記憶する第1の不揮発性メモリと、
論理式を記憶する第2の不揮発性メモリと、
揮発性メモリと、
前記第1の不揮発性メモリと前記第2の不揮発性メモリと前記揮発性メモリとに接続されたプロセッサとを備え、
前記ファームウェアは、
前記第2の不揮発性メモリから前記論理式を読み出して解析し、その解析結果を前記揮発性メモリに記憶する初期化ルーチンと、
前記揮発性メモリから前記論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する、
ことを特徴とする組み込みシステム。 - 前記初期化ルーチンは、前記論理式を逆ポーランド式に変換する、
ことを特徴とする請求項1に記載の組み込みシステム。 - 前記論理演算実行ルーチンは、前記ポーランド式に変換された論理式を解釈して論理演算を実行する、
ことを特徴とする請求項2に記載の組み込みシステム。 - 前記プロセッサに接続された入出力ポートを備え、
前記論理式は、前記入出力ポートから入力される電気信号と前記入出力ポートから出力される電気信号とに関する論理演算を規定する、
ことを特徴とする請求項1乃至4の何れか1項に記載の組み込みシステム。 - 前記第1の不揮発性メモリと前記揮発性メモリと前記入出力ポートと前記プロセッサとは一つの半導体チップ上に搭載されており、前記第2の不揮発性メモリは、前記半導体チップに外付けされている、
ことを特徴とする請求項1乃至4の何れか1項に記載の組み込みシステム。 - プロセッサが、電源投入直後の初期化時に、自プロセッサに接続された第1の不揮発性メモリに記憶されたファームウェアの初期化ルーチンを実行して、自プロセッサに接続された第2の不揮発性メモリに記憶された論理式を読み出して解析し、その解析結果を自プロセッサに接続された揮発性メモリに記憶し、
前記プロセッサが、前記ファームウェアの論理演算実行ルーチンを実行して、前記揮発性メモリから前記論理式の解析結果を読み出して実行する、
ことを特徴とする論理演算実行方法。 - 前記初期化ルーチンは、前記論理式を逆ポーランド式に変換し、
前記論理演算実行ルーチンは、前記ポーランド式に変換された論理式を解釈して論理演算を実行する、
ことを特徴とする請求項6に記載の論理演算実行方法。 - ファームウェアを記憶する第1の不揮発性メモリと、揮発性メモリと、プロセッサとを内蔵し、論理式を記憶する第2の不揮発性メモリが外付けされたマイクロプロセッサユニットであって、前記ファームウェアは、前記第2の不揮発性メモリから前記論理式を読み出して解析し、その解析結果を前記揮発性メモリに記憶する初期化ルーチンと、前記揮発性メモリから前記論理式の解析結果を読み出して実行する論理演算実行ルーチンとを有する、
ことを特徴とするマイクロプロセッシングユニット。 - 前記初期化ルーチンは、前記論理式を逆ポーランド式に変換し、
前記論理演算実行ルーチンは、前記ポーランド式に変換された論理式を解釈して論理演算を実行する、
ことを特徴とする請求項8に記載のマイクロプロセッシングユニット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009213302A JP2011065246A (ja) | 2009-09-15 | 2009-09-15 | 組み込みシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009213302A JP2011065246A (ja) | 2009-09-15 | 2009-09-15 | 組み込みシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011065246A true JP2011065246A (ja) | 2011-03-31 |
Family
ID=43951455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009213302A Pending JP2011065246A (ja) | 2009-09-15 | 2009-09-15 | 組み込みシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011065246A (ja) |
-
2009
- 2009-09-15 JP JP2009213302A patent/JP2011065246A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6006248B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
US9261932B2 (en) | Minimizing switchover time in a hot swappable program memory | |
US7818162B2 (en) | Information processing device, information processing method, semiconductor device, and computer program for executing instructions by using a plurality of processors | |
JP3990332B2 (ja) | データ処理システム | |
US9529654B2 (en) | Recoverable and fault-tolerant CPU core and control method thereof | |
US20080082802A1 (en) | Microcomputer debugging system | |
JP7093979B2 (ja) | デバイスプロキシ装置及びそれを含む計算機システム | |
JP4665760B2 (ja) | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム | |
WO2010150474A1 (ja) | サブプロセッサー、集積回路装置及び電子機器 | |
JP2011065246A (ja) | 組み込みシステム | |
JP2010134593A (ja) | プログラマブルコントローラ | |
JP2017162135A (ja) | 情報処理装置、デバッグシステムおよびスタックオーバフロー検出方法 | |
JP4975586B2 (ja) | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ | |
JP4149404B2 (ja) | エバリュエーションチップ | |
KR101019688B1 (ko) | 고레벨 언어 기반 임베디드 시스템 | |
JP4633073B2 (ja) | データ処理システム | |
CN1971513A (zh) | 只读存储器内建程序代码内容的修改方法 | |
US11599488B2 (en) | Electronic device, interrupt configuration control method, and storage medium | |
JP5088566B2 (ja) | 割込機能を備えたplc | |
US9342359B2 (en) | Information processing system and information processing method | |
Anand et al. | Real-time application in Linux using PRUSS | |
JP2012038013A (ja) | 情報処理装置およびコンピュータープログラム | |
JP3981373B2 (ja) | 半導体集積回路 | |
JP2009251782A (ja) | プログラマブルコントローラの高速化方法等 | |
Memory | Crossover Embedded Processors–Bridging the gap between performance and usability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20120717 |