JP2004013370A - フラッシュromプログラム書き込み方法およびプログラム開発ツール - Google Patents
フラッシュromプログラム書き込み方法およびプログラム開発ツール Download PDFInfo
- Publication number
- JP2004013370A JP2004013370A JP2002163730A JP2002163730A JP2004013370A JP 2004013370 A JP2004013370 A JP 2004013370A JP 2002163730 A JP2002163730 A JP 2002163730A JP 2002163730 A JP2002163730 A JP 2002163730A JP 2004013370 A JP2004013370 A JP 2004013370A
- Authority
- JP
- Japan
- Prior art keywords
- program
- writing
- flash rom
- write
- written
- 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
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
【課題】装置コスト、回路面積を抑制できるフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供すること。
【解決手段】フラッシュROM12に書き込まれる被書き込みプログラムをコンパイル後、生成されるROMライター用DownloadファイルのASCIIコード表記のフォーマットデータの内容を、バイナリデータ表現のフォーマットに変換し、定数データ定義プログラムとして書き込みプログラムファイル21aに組み込み直し、前記書き込みプログラムファイル21aを組込み型プログラム装置13のマイクロコンピュータMPU10が実行できる書き込みプログラムObjectファイル25aに変換し、前記マイクロコンピュータMPU10に前記書き込みObjectファイル25aを実行させる。
【選択図】 図1
【解決手段】フラッシュROM12に書き込まれる被書き込みプログラムをコンパイル後、生成されるROMライター用DownloadファイルのASCIIコード表記のフォーマットデータの内容を、バイナリデータ表現のフォーマットに変換し、定数データ定義プログラムとして書き込みプログラムファイル21aに組み込み直し、前記書き込みプログラムファイル21aを組込み型プログラム装置13のマイクロコンピュータMPU10が実行できる書き込みプログラムObjectファイル25aに変換し、前記マイクロコンピュータMPU10に前記書き込みObjectファイル25aを実行させる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、フラッシュROMへプログラムを書き込むためのFROMプログラム書き込み方法およびプログラム開発ツールに関し、特に組込み型プログラム装置のフラッシュROMへプログラムを書き込むためのフラッシュROMプログラム書き込み方法およびプログラム開発ツールに関する。
【0002】
【従来の技術】
JTAG(Joint TestActionGroup)インタフェースを使用する組込み型マイクロコンピュータMPUプログラム開発ツールは数多く存在するが、マイクロコンピュータMPU実行中にJTAGインタフェースを介して、ホストマシンから指定ファイルダウンロードや、前記ホストマシンに格納されている指定ファイル内のデータを読み出すようなランタイム関数まではサポートしていない。
また、EPROMライター用ファイルは、プログラムデータ4ビットを1バイトのASCIIコードで表記しているので、プログラムコード8ビットの場合で約2倍、プログラムコード16ビットの場合で約4倍のファイルサイズになっている。
このため、従来の組込み型プログラム装置のフラッシュROMプログラム書き込み方法のように、マイクロコンピュータMPUの外部EPROMか、または外部機器との通信によって被書き込みプログラムを読み込み、前記被書き込みプログラムファイルをASCIIコードのまま、定数データファイルとしてしまうことは、組込み型装置のプログラム実行メモリサイズ以上となってしまう恐れがある。
【0003】
【発明が解決しようとする課題】
上述したように、従来では、マイクロコンピュータMPUの外部EPROMか、または外部機器との通信によって、被書き込みプログラムを読み込む必要があるという課題があった。
また、前記外部EPROMやEPROMソケットの実装が必要になり、メモリバス配線の分岐や開放端バス線が生じ、マイクロコンピュータMPUのメモリバス部からの電波放射量が増加するという課題があった。
また、フラッシュROM書き込みプログラムをメモリに常駐させる必要が生じ、プログラムメモリ容量の効率的な利用が妨げられるという課題があった。
また、EPROMライターによってフラッシュROM書き込みプログラムを書込んだEPROMを作ったり、以前使用したEPROMをバックアップ用として保管したり、または書き込み用デバイスとしてフラッシュROM書き込みプログラムが書込まれたEPROMを購入する必要が生じ、多機種のプログラムバージョンアップ作業などの管理が容易でないという課題があった。
【0004】
そこで、本発明の目的は、装置コストを抑制し、かつ回路面積を小さく出来るフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0005】
また、本発明の目的は、メモリバス部からの電波放射量を低減できるフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0006】
また、本発明の目的は、プログラムメモリ容量を多く確保できるフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0007】
また、本発明の目的は、多機種のプログラムバージョンアップ作業の管理を容易にしたフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0008】
【課題を解決するための手段】
本発明に係るフラッシュROMプログラム書き込み方法は、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込みステップと、前記被書き込みプログラム組込みステップにより組み込み直した前記書き込みプログラムを、組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換ステップと、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記オブジェクトファイルをダウンロード後、前記マイクロコンピュータMPUに前記オブジェクトファイルを実行させることで、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込む書込みステップとを備えたことを特徴とする。
【0009】
本発明のフラッシュROMプログラム書き込み方法は、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直し、前記組み込み直した前記書き込みプログラムを、組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換し、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記オブジェクトファイルをダウンロード後、前記マイクロコンピュータMPUに前記オブジェクトファイルを実行させ、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込むようにすることで、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させる必要をなくし、前記マイクロコンピュータMPUの外部EPROMまたは外部機器との通信によって前記被書き込みプログラムを読み込む必要をなくし、また、前記外部EPROMやEPROMソケットの実装を不要にし、装置コストの低下、回路面積の削減を可能にし、また、メモリバス配線の分岐や開放端バス線をなくして前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制し、また、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用を図り、さらに多機種のプログラムバージョンアップ作業などの管理の容易化を実現する。
【0010】
本発明に係るプログラム開発ツールは、被書き込みプログラムを、マイクロコンピュータMPUを備えた組込み型プログラム装置のフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込み手段と、前記被書き込みプログラム組込み手段により組み込み直した前記書き込みプログラムを、前記マイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換手段とを備えたことを特徴とする。
【0011】
本発明のプログラム開発ツールは、被書き込みプログラムを、マイクロコンピュータMPUを備えた組込み型プログラム装置のフラッシュROMへ書き込むための書き込みプログラムを、被書き込みプログラム組込み手段により前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直し、前記組み込み直した前記書き込みプログラムを、変換手段が前記マイクロコンピュータMPUが実行できるオブジェクトファイルに変換することで、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記組込み型プログラム装置へ前記オブジェクトファイルがダウンロードされた後、前記マイクロコンピュータMPUに前記被書き込みプログラムを前記フラッシュROMに書き込むための前記オブジェクトファイルの実行指示を行うことで、前記被書き込みプログラムを前記フラッシュROMに書き込むことが可能になり、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させる必要をなくし、前記マイクロコンピュータMPUの外部EPROMまたは外部機器との通信によって前記被書き込みプログラムを読み込む必要をなくし、また、前記外部EPROMやEPROMソケットの実装を不要にし、装置コストの低下、回路面積の削減を可能にし、また、メモリバス配線の分岐や開放端バス線をなくして前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制し、また、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用を図り、さらに多機種のプログラムバージョンアップ作業などの管理の容易化を実現する。
【0012】
【発明の実施の形態】
以下、本発明の実施の一形態について説明する。
この実施の形態のフラッシュROMプログラム書き込み方法は、組込み型プログラム開発のためのJTAGインタフェースを具備するマイクロコンピュータMPUと、前記マイクロコンピュータMPUが書き込みプログラムを実行可能な容量のSRAMと、組込み型プログラムを格納するフラッシュROMとを具備する組込み型プログラム装置において、前記フラッシュROMに書き込まれる被書き込みプログラムをコンパイル後、生成されるROMライター用DownloadファイルのASCIIコード表記のフォーマットデータの内容を、バイナリデータ表現のフォーマットに変換し、定数データ定義プログラムとして書き込みプログラムファイルに組み込み直し、前記定数データプログラムとして組み込み直した書き込みプログラムファイルを前記組込み型プログラム装置のマイクロコンピュータMPUが実行できる書き込みプログラムObjectファイルに変換し、JTAGインタフェースを介して前記書き込みプログラムObjectファイルをダウンロード後、前記マイクロコンピュータMPUに前記書き込みObjectファイルを実行させることで、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込むことを特徴としている。
【0013】
図1は、この実施の形態の組込み型プログラム装置の主要デバイスのブロック構成と、JTAGインタフェースにより接続される組込み型マイクロコンピュータMPUプログラム開発ツールの接続図である。図2は、前記書き込みプログラムObjectファイルの作成手順を示した図である。図3は、被書き込みプログラムのROMライター用Downloadファイルの一例であり、ある代表的な一行のASCIIコード列だけを抽出拡大した図である。図4は、コンパイル前に生成される前記書き込みプログラムのcソースコード例を示した図であり、一部説明のために拡大したものである。
【0014】
次に、これらの図を参照し、この実施の形態の組込み型プログラム装置のフラッシュROMプログラム書き込み方法の動作について詳細に説明する。
図1において、組み込み型プログラム装置13は、JTAGインタフェースを具備するマイクロコンピュータMPU10と、前記マイクロコンピュータMPU10が書き込みプログラムを実行可能な容量のSRAM11と、組込み型プログラムを格納するフラッシュROM(以下、FROMという)12を備えている。この組み込み型プログラム装置13が、JTAGインタフェースコネクタ(インタフェース)14を介して、前記マイクロコンピュータMPU10の専用デバッガ15とデバッグ開発用ホストマシン(プログラム開発ツール、被書き込みプログラム組込み手段、変換手段)16と接続され、前記書き込みプログラムのObjectファイル17を、前記デバッグ開発用ホストマシン16からターゲットマシンである前記組み込み型プログラム装置13へダウンロードし、前記デバッグ開発用ホストマシン16からプログラム実行を指示することで、前記FROM12へ前記被書き込みプログラムのプログラムコードが書き込まれる。
【0015】
図2は、前記JTAGインタフェースを介して前記デバッグ開発用ホストマシン16よりダウンロードし実行される前記書き込みプログラムObjectファイル17の作成手順を示しており、被書き込みプログラムをFROM12に書き込むための書き込みプログラム作成21を先ず行い、書き込みプログラムファイル21aを作成しておく。次に、被書き込みプログラム作成22を行い、被書き込みプログラムファイル22aを作成する。
そして、前記被書き込みプログラムファイル22aをコンパイルしてからその生成ObjectファイルからROMライター用Downloadファイル23aを作成するROMライター用Downloadファイル作成処理23を行う。次に、前記ROMライター用Downloadファイル23aから定数定義のソースコードファイル24aを生成する、ASCIIコード列変換による定数定義のソースコード生成処理24を行う。
【0016】
前記書き込みプログラム作成21の処理および前記ソースコード生成処理24でそれぞれ生成された書き込みプログラムファイル21aと前記定数定義のソースコードファイル24aの2つのファイルに対しコンパイルとリンクを行うコンパイル&リンク処理(被書き込みプログラム組込みステップ、変換ステップ、被書き込みプログラム組込み手段、変換手段)25を行うことで、前記Objectファイル17と同じ書き込みプログラムObjectファイル25aを生成する。
【0017】
図3は、被書き込みプログラムのROMライター用Downloadファイルの一例であって、ある代表的な一行のASCIIコード列だけを抽出拡大した図であり、モトローラS2フォーマットで16ビットデータを4バイトのASCIIコード列で表現したものである。この例では、実際のデータを示したコード列は、符号30で示す先頭2バイトのコードが「S2」となっているコード列である。前記ソースコード生成処理24によって定数定義のソースコードに変換されるのは、前記符号30で示す先頭2バイトのコードが「S2」のコード列である。
【0018】
次の符号31で示す2バイトのASCIIコード列は、以降の符号32〜37で示すASCIIコード列までで表現されるバイト数を、16進でかつASCIIコード2つで表現したもので、この抽出拡大列の場合、前記符号32以降で16バイト存在するASCIIコード列であること示している。
次の符号32で示す6つのASCIIコード列は、該当列の符号33で示す先頭データを書き込むべき、ターゲットであるFROMのアドレス番地をASCIIコード6バイトで示したものである。
符号33から符号36は、4つ単位でひとつの16ビットデータ(1ワード)を表現しており、本例では6つ(6ワード)存在している。
符号37で示す最後尾の1バイト表現データは、該当列のCRC(サイクリック・リダンダンシイ・チェック)チェックコードであり、該当列の中にbit誤り等が無いことを、CRC演算によって確認するためのデータである。
前記ソースコード生成処理24では、前記符号37で示すデータチェックは特に行わない。
【0019】
図4は、前記コンパイル&リンク処理25の前に、前記ASCIIコード列変換による定数定義のソースコード生成処理24によって、生成される前記書き込みプログラムのcソースコード例を示したものであり、図3同様にある代表的な一行の定数定義データ列だけを抽出拡大した図である。
【0020】
図4(a)に示す定数データ列数の定義文40は、つぎの定数データ列定義文41で示される行数を定義するもので、前記図3中のASCIIデータ列の全行数から最初の行と最後の行の2行を引いた行数、別の言い方をすれば、前記ASCIIデータ列の符号30で示す先頭2バイトのコードが「S2」のコード列となっている行数を指定する。
また、同図(b)に示す前記定数データ列定義文41の各行は、前記ASCIIデータ列の符号30で示すコードが「S2」となっている各行に一対一で対応しているが、符号46で示す一行のデータ数は16個に固定されている。
前記定数データ列定義文41の全行は、n行x16列の定数データを定義しており、前記nは前記定義文40で定義された値に一致し、前記nの値から1を減算した値が符号47で示す行となって定義文の最終行となる。前記定義文41の全行で「const」宣言された定数データは、前記書き込みプログラムObjectファイル25aの中ではプログラムコードとして位置付けられる。
最初、符号42により示す定数データの上位バイトデータは、該当行の有効データ数を16進で示したものであり、同図(c)により示す有効データword算出式48で算出された値が記述される。
また前記符号42で示す下位バイトデータと次の定数データ1wordによって、符号43により示されるひとつのアドレス番地を意味していて、符号44により示されるつぎの定数データ列を書き込む先頭アドレスを示している。前記データ列44のword数は、前記符号42により示される値と一致し、最大14wordの値となる。仮に13word以下の場合、符号44により示される前記データ以降から最後尾定数データまでは符号45により示すように「0xFFFF」といったデータ値を設定する。
【0021】
前記書き込みプログラムファイル21aでは、前記「const」宣言された定数データを外部参照できるよう、図4(d)の符号49により示すような「extern」宣言のソースコードを組み込んでおき、前記コンパイル&リンク処理25が実行できる環境にしておく。
【0022】
図5は、前記書き込みプログラムObjectファイル25aが実行する書き込みプログラム動作を示すフロー図である。各FROMデバイスメーカー毎に書き込み方法や手順などは異なるため、この実施の形態では書き込みプログラムの処理の流れだけを説明する。
最初の処理ステップS600では、行数カウンタnに定数「0」を代入し初期設定を行い、次の処理ステップS601では、前記行数カウンタnが前記定数データ列数の定義文40で示された値(1250)と等しいか否かの判別分岐を行い、等しい場合、本プログラムの処理を終了し、等しくない場合は次の処理ステップS602に移行する。処理ステップS602では、前記行数カウンタnで指定される定数データ行の先頭データである符号42により示す前記1wordデータの上位バイトデータ値を8ビット右シフトさせた後、書き込み回数カウンタxに代入し、次の処理ステップS603に移る。処理ステップS603では、符号42により示す前記1wordデータの下位バイトデータと符号43により示す前記1wordデータを併せ、書き込みアドレスAに代入し、つぎの処理ステップS604に移る。
【0023】
処理ステップS604では、本処理以降の該当行定数データ列の書き込み処理ステップS601から処理ステップS609のための初期値設定として、列数カウンタmに定数「2」を代入し、次の処理ステップS605に移行する。前記処理ステップS605では、前記該当行定数データ列の中から前記列数カウンタmに相当する列の定数データ1wordを、前記FROM12の前記書き込みアドレスAが示すメモリエリアに書き込み、つぎの処理ステップS606に移行する。処理ステップS606では、前記書き込み回数カウンタxから「1」減算し、その結果をつぎの処理ステップS607で判断分岐する。前記処理ステップS607では、前記処理ステップS606の演算結果が「0」であるか否かを判別し、「0」である場合は、該当行からの定数データ書き込みが終了したものと判断し、つぎの処理ステップS610に移行し、「0」でない場合は、該当行からの定数データ書き込みはまだ終了していないものと判断し、つぎの処理ステップS608および処理ステップS609へ移る。
【0024】
ステップS608は書き込みアドレス更新処理であり、前記書き込みアドレスAの値に「1」加算し、つぎの処理ステップS609へ移行する。ステップS609は、該当行の次の定数データを取り込むために、前記列数カウンタmの値に「1」加算し、前記処理ステップS605へ戻る。処理ステップS610では、前記行数カウンタnの値に「1」加算し、つぎの定数データ行書き込みを行うために前記処理ステップS601に移って、前記処理ステップS601で最終定数行か否かを判別することになる。
【0025】
以上のように、この実施の形態の第1の効果は、FROM書き込み可能な従来の装置と比較し、外部EPROMを実装するEPROMソケットや外部機器との通信インタフェース回路などの実装部品を減らすことが出来るので、装置コストが下がり、かつ回路面積を小さく出来る。特に近年の携帯電話などに使われるFROM書き換え作業に効果がある。その理由は、従来では、マイクロコンピュータMPUの外部EPROMか、または外部機器との通信によって被書き込みプログラムを読み込む必要があったが、JTAGインタフェースを介して、被書き込みプログラムコードを定数データとして持つ書き込みプログラムをObjectファイルとして、ダウンロードして実行できるためである。
【0026】
第2の効果は、マイクロコンピュータMPUのメモリバス部からの電波放射量を低減できる。その理由は、前記第1の効果により前記外部EPROMおよび前記EPROMソケットの実装が不要になり、前記メモリバス配線の分岐が減り、かつ開放端バス線が無くなるためである。
【0027】
第3の効果は、FROM書き込みプログラムをこの組込み型プログラム装置のメモリに常駐させる必要がなく、プログラムメモリ容量を多く確保できる。その理由は、この実施の形態におけるFROM書き込みプログラムを実行する際には、JTAGインタフェースを介して、書き込みプログラムObjectファイルを前記組込み型プログラム装置にダウンロードさせる方法を取っているためである。
【0028】
第4の効果は、EPROMライターによってEPROMを作ったり、以前使用したEPROMをバックアップ用として保管したり、または書き込み用デバイスとしてEPROMを購入する必要がなくなり、組込み型プログラム装置の製造現場において、多機種のプログラムバージョンアップ作業などを管理しやすくなることであって、管理工数低減が期待でき、ひいては製造原価低減を図ることが出来る。その理由は、被書き込みプログラムが定数データとして組み込まれた書き込みプログラムをObjectファイルとして管理でき、必要なときに前記ObjectファイルをJTAGインタフェースを介してダウンロード出来るためであり、従来のようにEPROMで管理する必要がないからである。
【0029】
【発明の効果】
本発明によれば、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込みステップと、前記被書き込みプログラム組込みステップにより組み込み直した前記書き込みプログラムを、組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換ステップと、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記オブジェクトファイルをダウンロード後、前記マイクロコンピュータMPUに前記オブジェクトファイルを実行させることで、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込む書込みステップと を備えるようにしたので、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させたり、前記マイクロコンピュータMPUの外部EPROM、または外部機器との通信によって前記被書き込みプログラムを読み込む必要がなくなり、また、前記外部EPROMやEPROMソケットの実装が不要になるため、装置コストが低下し、回路面積が削減でき、また、メモリバス配線の分岐や開放端バス線がなくなることから前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制でき、さらに、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用や、多機種のプログラムバージョンアップ作業などの管理の容易化を図れる効果がある。
【0030】
本発明によれば、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込み手段と、前記被書き込みプログラム組込み手段により組み込み直した前記書き込みプログラムを組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換手段とを備えるように構成したので、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記組込み型プログラム装置へ前記オブジェクトファイルがダウンロードされた後、前記マイクロコンピュータMPUに前記被書き込みプログラムを前記フラッシュROMに書き込むための前記オブジェクトファイルの実行指示を行うことで、前記被書き込みプログラムを前記フラッシュROMに書き込むことが可能になり、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させたり、前記マイクロコンピュータMPUの外部EPROM、または外部機器との通信によって前記被書き込みプログラムを読み込む必要がなくなり、また、前記外部EPROMやEPROMソケットの実装が不要になるため、装置コストが低下し、回路面積が削減でき、また、メモリバス配線の分岐や開放端バス線がなくなることから前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制でき、さらに、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用や、多機種のプログラムバージョンアップ作業などの管理の容易化を図れる効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態における組込み型プログラム装置の主要デバイスのブロック構成と、JTAGインタフェースにより接続される組込み型マイクロコンピュータMPUプログラム開発ツールの接続図である。
【図2】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおける書き込みプログラムObjectファイルの作成手順を示した図である。
【図3】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおける被書き込みプログラムのROMライター用Downloadファイルの一例を示す図である。
【図4】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおけるASCIIコード列変換による定数定義のソースコード生成処理によって生成される書き込みプログラムのcソースコード例を示した図である。
【図5】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおける書き込みプログラムObjectファイルの実行による書き込みプログラム動作を示すフロー図である。
【符号の説明】
10……マイクロコンピュータMPU、12……フラッシュROM、13……組込み型プログラム装置、14……JTAGインタフェースコネクタ(インタフェース)、16……デバック開発用ホストマシン(プログラム開発ツール、被書き込みプログラム組込み手段、変換手段)、17……Objectファイル、25……コンパイル&リンク処理(被書き込みプログラム組込みステップ、変換ステップ、被書き込みプログラム組込み手段、変換手段)、25a……書き込みプログラムObjectファイル。
【発明の属する技術分野】
本発明は、フラッシュROMへプログラムを書き込むためのFROMプログラム書き込み方法およびプログラム開発ツールに関し、特に組込み型プログラム装置のフラッシュROMへプログラムを書き込むためのフラッシュROMプログラム書き込み方法およびプログラム開発ツールに関する。
【0002】
【従来の技術】
JTAG(Joint TestActionGroup)インタフェースを使用する組込み型マイクロコンピュータMPUプログラム開発ツールは数多く存在するが、マイクロコンピュータMPU実行中にJTAGインタフェースを介して、ホストマシンから指定ファイルダウンロードや、前記ホストマシンに格納されている指定ファイル内のデータを読み出すようなランタイム関数まではサポートしていない。
また、EPROMライター用ファイルは、プログラムデータ4ビットを1バイトのASCIIコードで表記しているので、プログラムコード8ビットの場合で約2倍、プログラムコード16ビットの場合で約4倍のファイルサイズになっている。
このため、従来の組込み型プログラム装置のフラッシュROMプログラム書き込み方法のように、マイクロコンピュータMPUの外部EPROMか、または外部機器との通信によって被書き込みプログラムを読み込み、前記被書き込みプログラムファイルをASCIIコードのまま、定数データファイルとしてしまうことは、組込み型装置のプログラム実行メモリサイズ以上となってしまう恐れがある。
【0003】
【発明が解決しようとする課題】
上述したように、従来では、マイクロコンピュータMPUの外部EPROMか、または外部機器との通信によって、被書き込みプログラムを読み込む必要があるという課題があった。
また、前記外部EPROMやEPROMソケットの実装が必要になり、メモリバス配線の分岐や開放端バス線が生じ、マイクロコンピュータMPUのメモリバス部からの電波放射量が増加するという課題があった。
また、フラッシュROM書き込みプログラムをメモリに常駐させる必要が生じ、プログラムメモリ容量の効率的な利用が妨げられるという課題があった。
また、EPROMライターによってフラッシュROM書き込みプログラムを書込んだEPROMを作ったり、以前使用したEPROMをバックアップ用として保管したり、または書き込み用デバイスとしてフラッシュROM書き込みプログラムが書込まれたEPROMを購入する必要が生じ、多機種のプログラムバージョンアップ作業などの管理が容易でないという課題があった。
【0004】
そこで、本発明の目的は、装置コストを抑制し、かつ回路面積を小さく出来るフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0005】
また、本発明の目的は、メモリバス部からの電波放射量を低減できるフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0006】
また、本発明の目的は、プログラムメモリ容量を多く確保できるフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0007】
また、本発明の目的は、多機種のプログラムバージョンアップ作業の管理を容易にしたフラッシュROMプログラム書き込み方法およびプログラム開発ツールを提供することにある。
【0008】
【課題を解決するための手段】
本発明に係るフラッシュROMプログラム書き込み方法は、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込みステップと、前記被書き込みプログラム組込みステップにより組み込み直した前記書き込みプログラムを、組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換ステップと、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記オブジェクトファイルをダウンロード後、前記マイクロコンピュータMPUに前記オブジェクトファイルを実行させることで、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込む書込みステップとを備えたことを特徴とする。
【0009】
本発明のフラッシュROMプログラム書き込み方法は、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直し、前記組み込み直した前記書き込みプログラムを、組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換し、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記オブジェクトファイルをダウンロード後、前記マイクロコンピュータMPUに前記オブジェクトファイルを実行させ、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込むようにすることで、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させる必要をなくし、前記マイクロコンピュータMPUの外部EPROMまたは外部機器との通信によって前記被書き込みプログラムを読み込む必要をなくし、また、前記外部EPROMやEPROMソケットの実装を不要にし、装置コストの低下、回路面積の削減を可能にし、また、メモリバス配線の分岐や開放端バス線をなくして前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制し、また、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用を図り、さらに多機種のプログラムバージョンアップ作業などの管理の容易化を実現する。
【0010】
本発明に係るプログラム開発ツールは、被書き込みプログラムを、マイクロコンピュータMPUを備えた組込み型プログラム装置のフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込み手段と、前記被書き込みプログラム組込み手段により組み込み直した前記書き込みプログラムを、前記マイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換手段とを備えたことを特徴とする。
【0011】
本発明のプログラム開発ツールは、被書き込みプログラムを、マイクロコンピュータMPUを備えた組込み型プログラム装置のフラッシュROMへ書き込むための書き込みプログラムを、被書き込みプログラム組込み手段により前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直し、前記組み込み直した前記書き込みプログラムを、変換手段が前記マイクロコンピュータMPUが実行できるオブジェクトファイルに変換することで、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記組込み型プログラム装置へ前記オブジェクトファイルがダウンロードされた後、前記マイクロコンピュータMPUに前記被書き込みプログラムを前記フラッシュROMに書き込むための前記オブジェクトファイルの実行指示を行うことで、前記被書き込みプログラムを前記フラッシュROMに書き込むことが可能になり、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させる必要をなくし、前記マイクロコンピュータMPUの外部EPROMまたは外部機器との通信によって前記被書き込みプログラムを読み込む必要をなくし、また、前記外部EPROMやEPROMソケットの実装を不要にし、装置コストの低下、回路面積の削減を可能にし、また、メモリバス配線の分岐や開放端バス線をなくして前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制し、また、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用を図り、さらに多機種のプログラムバージョンアップ作業などの管理の容易化を実現する。
【0012】
【発明の実施の形態】
以下、本発明の実施の一形態について説明する。
この実施の形態のフラッシュROMプログラム書き込み方法は、組込み型プログラム開発のためのJTAGインタフェースを具備するマイクロコンピュータMPUと、前記マイクロコンピュータMPUが書き込みプログラムを実行可能な容量のSRAMと、組込み型プログラムを格納するフラッシュROMとを具備する組込み型プログラム装置において、前記フラッシュROMに書き込まれる被書き込みプログラムをコンパイル後、生成されるROMライター用DownloadファイルのASCIIコード表記のフォーマットデータの内容を、バイナリデータ表現のフォーマットに変換し、定数データ定義プログラムとして書き込みプログラムファイルに組み込み直し、前記定数データプログラムとして組み込み直した書き込みプログラムファイルを前記組込み型プログラム装置のマイクロコンピュータMPUが実行できる書き込みプログラムObjectファイルに変換し、JTAGインタフェースを介して前記書き込みプログラムObjectファイルをダウンロード後、前記マイクロコンピュータMPUに前記書き込みObjectファイルを実行させることで、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込むことを特徴としている。
【0013】
図1は、この実施の形態の組込み型プログラム装置の主要デバイスのブロック構成と、JTAGインタフェースにより接続される組込み型マイクロコンピュータMPUプログラム開発ツールの接続図である。図2は、前記書き込みプログラムObjectファイルの作成手順を示した図である。図3は、被書き込みプログラムのROMライター用Downloadファイルの一例であり、ある代表的な一行のASCIIコード列だけを抽出拡大した図である。図4は、コンパイル前に生成される前記書き込みプログラムのcソースコード例を示した図であり、一部説明のために拡大したものである。
【0014】
次に、これらの図を参照し、この実施の形態の組込み型プログラム装置のフラッシュROMプログラム書き込み方法の動作について詳細に説明する。
図1において、組み込み型プログラム装置13は、JTAGインタフェースを具備するマイクロコンピュータMPU10と、前記マイクロコンピュータMPU10が書き込みプログラムを実行可能な容量のSRAM11と、組込み型プログラムを格納するフラッシュROM(以下、FROMという)12を備えている。この組み込み型プログラム装置13が、JTAGインタフェースコネクタ(インタフェース)14を介して、前記マイクロコンピュータMPU10の専用デバッガ15とデバッグ開発用ホストマシン(プログラム開発ツール、被書き込みプログラム組込み手段、変換手段)16と接続され、前記書き込みプログラムのObjectファイル17を、前記デバッグ開発用ホストマシン16からターゲットマシンである前記組み込み型プログラム装置13へダウンロードし、前記デバッグ開発用ホストマシン16からプログラム実行を指示することで、前記FROM12へ前記被書き込みプログラムのプログラムコードが書き込まれる。
【0015】
図2は、前記JTAGインタフェースを介して前記デバッグ開発用ホストマシン16よりダウンロードし実行される前記書き込みプログラムObjectファイル17の作成手順を示しており、被書き込みプログラムをFROM12に書き込むための書き込みプログラム作成21を先ず行い、書き込みプログラムファイル21aを作成しておく。次に、被書き込みプログラム作成22を行い、被書き込みプログラムファイル22aを作成する。
そして、前記被書き込みプログラムファイル22aをコンパイルしてからその生成ObjectファイルからROMライター用Downloadファイル23aを作成するROMライター用Downloadファイル作成処理23を行う。次に、前記ROMライター用Downloadファイル23aから定数定義のソースコードファイル24aを生成する、ASCIIコード列変換による定数定義のソースコード生成処理24を行う。
【0016】
前記書き込みプログラム作成21の処理および前記ソースコード生成処理24でそれぞれ生成された書き込みプログラムファイル21aと前記定数定義のソースコードファイル24aの2つのファイルに対しコンパイルとリンクを行うコンパイル&リンク処理(被書き込みプログラム組込みステップ、変換ステップ、被書き込みプログラム組込み手段、変換手段)25を行うことで、前記Objectファイル17と同じ書き込みプログラムObjectファイル25aを生成する。
【0017】
図3は、被書き込みプログラムのROMライター用Downloadファイルの一例であって、ある代表的な一行のASCIIコード列だけを抽出拡大した図であり、モトローラS2フォーマットで16ビットデータを4バイトのASCIIコード列で表現したものである。この例では、実際のデータを示したコード列は、符号30で示す先頭2バイトのコードが「S2」となっているコード列である。前記ソースコード生成処理24によって定数定義のソースコードに変換されるのは、前記符号30で示す先頭2バイトのコードが「S2」のコード列である。
【0018】
次の符号31で示す2バイトのASCIIコード列は、以降の符号32〜37で示すASCIIコード列までで表現されるバイト数を、16進でかつASCIIコード2つで表現したもので、この抽出拡大列の場合、前記符号32以降で16バイト存在するASCIIコード列であること示している。
次の符号32で示す6つのASCIIコード列は、該当列の符号33で示す先頭データを書き込むべき、ターゲットであるFROMのアドレス番地をASCIIコード6バイトで示したものである。
符号33から符号36は、4つ単位でひとつの16ビットデータ(1ワード)を表現しており、本例では6つ(6ワード)存在している。
符号37で示す最後尾の1バイト表現データは、該当列のCRC(サイクリック・リダンダンシイ・チェック)チェックコードであり、該当列の中にbit誤り等が無いことを、CRC演算によって確認するためのデータである。
前記ソースコード生成処理24では、前記符号37で示すデータチェックは特に行わない。
【0019】
図4は、前記コンパイル&リンク処理25の前に、前記ASCIIコード列変換による定数定義のソースコード生成処理24によって、生成される前記書き込みプログラムのcソースコード例を示したものであり、図3同様にある代表的な一行の定数定義データ列だけを抽出拡大した図である。
【0020】
図4(a)に示す定数データ列数の定義文40は、つぎの定数データ列定義文41で示される行数を定義するもので、前記図3中のASCIIデータ列の全行数から最初の行と最後の行の2行を引いた行数、別の言い方をすれば、前記ASCIIデータ列の符号30で示す先頭2バイトのコードが「S2」のコード列となっている行数を指定する。
また、同図(b)に示す前記定数データ列定義文41の各行は、前記ASCIIデータ列の符号30で示すコードが「S2」となっている各行に一対一で対応しているが、符号46で示す一行のデータ数は16個に固定されている。
前記定数データ列定義文41の全行は、n行x16列の定数データを定義しており、前記nは前記定義文40で定義された値に一致し、前記nの値から1を減算した値が符号47で示す行となって定義文の最終行となる。前記定義文41の全行で「const」宣言された定数データは、前記書き込みプログラムObjectファイル25aの中ではプログラムコードとして位置付けられる。
最初、符号42により示す定数データの上位バイトデータは、該当行の有効データ数を16進で示したものであり、同図(c)により示す有効データword算出式48で算出された値が記述される。
また前記符号42で示す下位バイトデータと次の定数データ1wordによって、符号43により示されるひとつのアドレス番地を意味していて、符号44により示されるつぎの定数データ列を書き込む先頭アドレスを示している。前記データ列44のword数は、前記符号42により示される値と一致し、最大14wordの値となる。仮に13word以下の場合、符号44により示される前記データ以降から最後尾定数データまでは符号45により示すように「0xFFFF」といったデータ値を設定する。
【0021】
前記書き込みプログラムファイル21aでは、前記「const」宣言された定数データを外部参照できるよう、図4(d)の符号49により示すような「extern」宣言のソースコードを組み込んでおき、前記コンパイル&リンク処理25が実行できる環境にしておく。
【0022】
図5は、前記書き込みプログラムObjectファイル25aが実行する書き込みプログラム動作を示すフロー図である。各FROMデバイスメーカー毎に書き込み方法や手順などは異なるため、この実施の形態では書き込みプログラムの処理の流れだけを説明する。
最初の処理ステップS600では、行数カウンタnに定数「0」を代入し初期設定を行い、次の処理ステップS601では、前記行数カウンタnが前記定数データ列数の定義文40で示された値(1250)と等しいか否かの判別分岐を行い、等しい場合、本プログラムの処理を終了し、等しくない場合は次の処理ステップS602に移行する。処理ステップS602では、前記行数カウンタnで指定される定数データ行の先頭データである符号42により示す前記1wordデータの上位バイトデータ値を8ビット右シフトさせた後、書き込み回数カウンタxに代入し、次の処理ステップS603に移る。処理ステップS603では、符号42により示す前記1wordデータの下位バイトデータと符号43により示す前記1wordデータを併せ、書き込みアドレスAに代入し、つぎの処理ステップS604に移る。
【0023】
処理ステップS604では、本処理以降の該当行定数データ列の書き込み処理ステップS601から処理ステップS609のための初期値設定として、列数カウンタmに定数「2」を代入し、次の処理ステップS605に移行する。前記処理ステップS605では、前記該当行定数データ列の中から前記列数カウンタmに相当する列の定数データ1wordを、前記FROM12の前記書き込みアドレスAが示すメモリエリアに書き込み、つぎの処理ステップS606に移行する。処理ステップS606では、前記書き込み回数カウンタxから「1」減算し、その結果をつぎの処理ステップS607で判断分岐する。前記処理ステップS607では、前記処理ステップS606の演算結果が「0」であるか否かを判別し、「0」である場合は、該当行からの定数データ書き込みが終了したものと判断し、つぎの処理ステップS610に移行し、「0」でない場合は、該当行からの定数データ書き込みはまだ終了していないものと判断し、つぎの処理ステップS608および処理ステップS609へ移る。
【0024】
ステップS608は書き込みアドレス更新処理であり、前記書き込みアドレスAの値に「1」加算し、つぎの処理ステップS609へ移行する。ステップS609は、該当行の次の定数データを取り込むために、前記列数カウンタmの値に「1」加算し、前記処理ステップS605へ戻る。処理ステップS610では、前記行数カウンタnの値に「1」加算し、つぎの定数データ行書き込みを行うために前記処理ステップS601に移って、前記処理ステップS601で最終定数行か否かを判別することになる。
【0025】
以上のように、この実施の形態の第1の効果は、FROM書き込み可能な従来の装置と比較し、外部EPROMを実装するEPROMソケットや外部機器との通信インタフェース回路などの実装部品を減らすことが出来るので、装置コストが下がり、かつ回路面積を小さく出来る。特に近年の携帯電話などに使われるFROM書き換え作業に効果がある。その理由は、従来では、マイクロコンピュータMPUの外部EPROMか、または外部機器との通信によって被書き込みプログラムを読み込む必要があったが、JTAGインタフェースを介して、被書き込みプログラムコードを定数データとして持つ書き込みプログラムをObjectファイルとして、ダウンロードして実行できるためである。
【0026】
第2の効果は、マイクロコンピュータMPUのメモリバス部からの電波放射量を低減できる。その理由は、前記第1の効果により前記外部EPROMおよび前記EPROMソケットの実装が不要になり、前記メモリバス配線の分岐が減り、かつ開放端バス線が無くなるためである。
【0027】
第3の効果は、FROM書き込みプログラムをこの組込み型プログラム装置のメモリに常駐させる必要がなく、プログラムメモリ容量を多く確保できる。その理由は、この実施の形態におけるFROM書き込みプログラムを実行する際には、JTAGインタフェースを介して、書き込みプログラムObjectファイルを前記組込み型プログラム装置にダウンロードさせる方法を取っているためである。
【0028】
第4の効果は、EPROMライターによってEPROMを作ったり、以前使用したEPROMをバックアップ用として保管したり、または書き込み用デバイスとしてEPROMを購入する必要がなくなり、組込み型プログラム装置の製造現場において、多機種のプログラムバージョンアップ作業などを管理しやすくなることであって、管理工数低減が期待でき、ひいては製造原価低減を図ることが出来る。その理由は、被書き込みプログラムが定数データとして組み込まれた書き込みプログラムをObjectファイルとして管理でき、必要なときに前記ObjectファイルをJTAGインタフェースを介してダウンロード出来るためであり、従来のようにEPROMで管理する必要がないからである。
【0029】
【発明の効果】
本発明によれば、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込みステップと、前記被書き込みプログラム組込みステップにより組み込み直した前記書き込みプログラムを、組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換ステップと、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記オブジェクトファイルをダウンロード後、前記マイクロコンピュータMPUに前記オブジェクトファイルを実行させることで、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込む書込みステップと を備えるようにしたので、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させたり、前記マイクロコンピュータMPUの外部EPROM、または外部機器との通信によって前記被書き込みプログラムを読み込む必要がなくなり、また、前記外部EPROMやEPROMソケットの実装が不要になるため、装置コストが低下し、回路面積が削減でき、また、メモリバス配線の分岐や開放端バス線がなくなることから前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制でき、さらに、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用や、多機種のプログラムバージョンアップ作業などの管理の容易化を図れる効果がある。
【0030】
本発明によれば、被書き込みプログラムをフラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込み手段と、前記被書き込みプログラム組込み手段により組み込み直した前記書き込みプログラムを組込み型プログラム装置のマイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換手段とを備えるように構成したので、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して前記組込み型プログラム装置へ前記オブジェクトファイルがダウンロードされた後、前記マイクロコンピュータMPUに前記被書き込みプログラムを前記フラッシュROMに書き込むための前記オブジェクトファイルの実行指示を行うことで、前記被書き込みプログラムを前記フラッシュROMに書き込むことが可能になり、前記フラッシュROMの書き込みプログラムを前記組込み型プログラム装置のメモリに常駐させたり、前記マイクロコンピュータMPUの外部EPROM、または外部機器との通信によって前記被書き込みプログラムを読み込む必要がなくなり、また、前記外部EPROMやEPROMソケットの実装が不要になるため、装置コストが低下し、回路面積が削減でき、また、メモリバス配線の分岐や開放端バス線がなくなることから前記マイクロコンピュータMPUのメモリバス部からの電波放射量の増加を抑制でき、さらに、前記フラッシュROMの書き込みプログラムをメモリに常駐させる必要をなくすことでプログラムメモリ容量の効率的な利用や、多機種のプログラムバージョンアップ作業などの管理の容易化を図れる効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態における組込み型プログラム装置の主要デバイスのブロック構成と、JTAGインタフェースにより接続される組込み型マイクロコンピュータMPUプログラム開発ツールの接続図である。
【図2】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおける書き込みプログラムObjectファイルの作成手順を示した図である。
【図3】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおける被書き込みプログラムのROMライター用Downloadファイルの一例を示す図である。
【図4】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおけるASCIIコード列変換による定数定義のソースコード生成処理によって生成される書き込みプログラムのcソースコード例を示した図である。
【図5】本発明の実施の一形態のフラッシュROMプログラム書き込み方法およびプログラム開発ツールにおける書き込みプログラムObjectファイルの実行による書き込みプログラム動作を示すフロー図である。
【符号の説明】
10……マイクロコンピュータMPU、12……フラッシュROM、13……組込み型プログラム装置、14……JTAGインタフェースコネクタ(インタフェース)、16……デバック開発用ホストマシン(プログラム開発ツール、被書き込みプログラム組込み手段、変換手段)、17……Objectファイル、25……コンパイル&リンク処理(被書き込みプログラム組込みステップ、変換ステップ、被書き込みプログラム組込み手段、変換手段)、25a……書き込みプログラムObjectファイル。
Claims (5)
- マイクロコンピュータMPUを備えた組込み型プログラム装置の組込み型プログラムを格納するフラッシュROMへ、前記マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して被書き込みプログラムを書き込むフラッシュROMプログラム書き込み方法であって、
前記被書き込みプログラムを前記フラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込みステップと、
前記被書き込みプログラム組込みステップにより組み込み直した前記書き込みプログラムを、前記マイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換ステップと、
前記インタフェースを介して前記オブジェクトファイルをダウンロード後、前記マイクロコンピュータMPUに前記オブジェクトファイルを実行させることで、前記被書き込みプログラムを前記組込み型プログラム装置のフラッシュROMに書き込む書込みステップと、
を備えたことを特徴とするフラッシュROMプログラム書き込み方法。 - 前記被書き込みプログラム組込みステップは、フラッシュROMに書き込まれる被書き込みプログラムをコンパイル後、生成される特定コード表記のフォーマットデータの内容を、バイナリデータ表現のフォーマットに変換し、定数データ定義プログラムとして書き込みプログラムファイルに組み込み直し、前記変換ステップは、前記被書き込みプログラム組込みステップにより前記定数データ定義プログラムとして組み込み直した書き込みプログラムファイルを前記マイクロコンピュータMPUが実行できるオブジェクトファイルに変換することを特徴とする請求項1記載のフラッシュROMプログラム書き込み方法。
- 前記特定コードは、前記被書き込みプログラムをコンパイル後、生成されるROMライター用ダウンロードファイルのASCIIコードであることを特徴とする請求項2記載のフラッシュROMプログラム書き込み方法。
- 被書き込みプログラムを、マイクロコンピュータMPUが有している組込み型プログラム開発のためのインタフェースを介して、前記マイクロコンピュータMPUを備えた組込み型プログラム装置のフラッシュROMへ書き込むためのプログラム開発ツールであって、
前記被書き込みプログラムを前記フラッシュROMへ書き込むための書き込みプログラムを、前記被書き込みプログラムコードを定数データとして持つ書き込みプログラムに組み込み直す被書き込みプログラム組込み手段と、
前記被書き込みプログラム組込み手段により組み込み直した前記書き込みプログラムを、前記マイクロコンピュータMPUが実行できるオブジェクトファイルに変換する変換手段と、
を備えたことを特徴とするプログラム開発ツール。 - 前記インタフェースを介して前記組込み型プログラム装置へ前記オブジェクトファイルがダウンロードされた後、前記被書き込みプログラムを前記フラッシュROMに書き込むための前記オブジェクトファイルの実行指示を前記マイクロコンピュータMPUに行うことを特徴とする請求項4記載のプログラム開発ツール。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002163730A JP2004013370A (ja) | 2002-06-05 | 2002-06-05 | フラッシュromプログラム書き込み方法およびプログラム開発ツール |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002163730A JP2004013370A (ja) | 2002-06-05 | 2002-06-05 | フラッシュromプログラム書き込み方法およびプログラム開発ツール |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013370A true JP2004013370A (ja) | 2004-01-15 |
Family
ID=30432073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002163730A Pending JP2004013370A (ja) | 2002-06-05 | 2002-06-05 | フラッシュromプログラム書き込み方法およびプログラム開発ツール |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013370A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100658564B1 (ko) | 2004-12-06 | 2006-12-15 | 한국전자통신연구원 | 임베디드 시스템의 소프트웨어 개발 및 실행 방법, 그리고이를 이용한 이동 단말 장치 |
KR100665134B1 (ko) * | 2004-12-09 | 2007-01-04 | 한국전자통신연구원 | 임베디드 시스템의 루트 파일 시스템 구성 및 실행 방법,그리고 이를 이용한 이동 단말 장치 |
-
2002
- 2002-06-05 JP JP2002163730A patent/JP2004013370A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100658564B1 (ko) | 2004-12-06 | 2006-12-15 | 한국전자통신연구원 | 임베디드 시스템의 소프트웨어 개발 및 실행 방법, 그리고이를 이용한 이동 단말 장치 |
KR100665134B1 (ko) * | 2004-12-09 | 2007-01-04 | 한국전자통신연구원 | 임베디드 시스템의 루트 파일 시스템 구성 및 실행 방법,그리고 이를 이용한 이동 단말 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117587B1 (en) | Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems | |
JP4051091B2 (ja) | Romとフラッシュメモリーを有する回路内プログラミング構造 | |
US8239848B2 (en) | Incremental deployment and execution of a program on an embedded device | |
WO2013114926A1 (ja) | サポート装置、サポートプログラムを記録した記録媒体、および実行可能プログラムを生成する方法 | |
CN107506219A (zh) | 一种基于Android系统的通用版本升级方法 | |
CN104239082A (zh) | 嵌入式系统的热补丁实现方法 | |
US20050144366A1 (en) | Data management apparatus and method, non-volatile memory, storage device having the non-volatile memory and data processing system | |
US20070101115A1 (en) | Information processing device, bios processing method and program | |
JP3824580B2 (ja) | 移動通信携帯端末及びダウンロードプログラムファイル管理用プログラム | |
JP2009146229A (ja) | プログラマブルコントローラシステム | |
CN107122219A (zh) | 安装文件的获取方法和装置 | |
US20080216065A1 (en) | Information processing device, patch code application system, electronic instrument, and patch code application method | |
CN108804228A (zh) | 一种dsp程序空间扩展的实现方法 | |
CN108182079A (zh) | 一种基于串口的tms320c6748程序加载方法 | |
CN110716721A (zh) | 兼容网口和串口的tms320c6748程序加载方法 | |
US20180364991A1 (en) | Method and system for preparing code to be executed by programmable control devices | |
Kang et al. | Generic bootloader architecture based on automatic update mechanism | |
JP2004013370A (ja) | フラッシュromプログラム書き込み方法およびプログラム開発ツール | |
JP6720993B2 (ja) | サポート装置およびサポートプログラム | |
CN104407903A (zh) | 一种基于Bootloader的QSFP光模块远程升级方法 | |
US20020188929A1 (en) | Linking of applications into devices having overlays and shadow memories | |
CN109800007A (zh) | Dsp芯片在线升级方法以及装置 | |
CN111984329B (zh) | 一种boot引导软件标准化生成、执行方法及系统 | |
CN113157329A (zh) | 启动应用的方法、系统、服务器和存储介质 | |
KR20030011553A (ko) | 전자장치 및 수정방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061213 |
|
A02 | Decision of refusal |
Effective date: 20070405 Free format text: JAPANESE INTERMEDIATE CODE: A02 |