プログラミングアルゴリズムはFlash デバイスを Erase したり program するための機能に関して定義されます。これには、コンパイラとリンカーで設定が必要です。
新しいFlash プログラミングアルゴリズムを作成し設定するため、以下の手順に従ってください:
※下記手順では、既存のファイル(LPC_IAP_256用)から新規ファイル(29F400用)を作成する方法を示します。実際にご使用になられる場合、お客様任意のファイル名に置き換えて作成してください。
- 以下フォルダー内に新しい空のサブフォルダ―を作成してください。
¥KEIL¥ARM¥FLASH¥ - 上記の空フォルダーへ既存のFlash アルゴリズムの内容をコピーします。
例) ¥KEIL¥ARM¥FLASH¥LPC_IAP_256 をコピーします。 - 新しい Flash ROM デバイス名を示すために、以下ファイルをリネームしてください:
- LPC_IAP_256.uvproj → 29F400.uvproj
- LPC_IAP_256.uvopt → 29F400.uvopt
- μVisionを起動し、プロジェクトを開いて使用するコンポーネント類に置き換えてください。
Project → Manage → Components, Environment, Books.... - 使用するデバイスを選択してください。正しいエンディアンを使用してください
Project → Options for Target → Device. - Project → Options for Target → Output ダイアログを使用して、LPC_IAP_256用のすべての出力名を新しいデバイス名に置き換えてください。
- Project → Options for Target → Userダイアログの Run #1 フィールドにて適切な名前を設定してください
- ARM7 と ARM9 プロセッサベースのデバイスは サフィックス FLX を使用します。
- Cortex-M プロセッサベースのデバイスは サフィックス FLM を使用します。
- Project → Options for Target → C/C++ とAsmダイアログで Read-Only Position Independent と Read-Write Position Independent をイネーブルにしてください。
- Project → Options for Target → Linker ダイアログの Scatter Fileフィールド で、<Target.lin を入力してください
- Project → Options for Target → Linker ダイアログの Misc controlsフィールド で、以下を使用します。
- Cortex-M プロセッサベースのデバイスの場合は --diag_suppress L6305
- ARM7 と ARM9 プロセッサベースのデバイスの場合は --entry 0
- FlashPrg.c ファイルを編集し、以下機能のためのコードを作成してください:
EraseChip, EraseBlock, ProgramBlock - FlashDev.c ファイルを編集して、FlashDevice 構造内のデバイスパラメータを定義してください。
- 拡張 * .FLX あるいは * .FLM を持っている出力ファイルはプログラミングアルゴリズムを含んでいます。 ファイルは自動的に適切なフォルダーにコピーされます
注意!!
- この機能は MDK - Lite (評価)版によってサポートされません。 追加情報で限界を参照してください。
- μVisionプロジェクトにこのプログラミングアルゴリズムを付け加えるために flash ダウンロードセットアップダイアログで Add ボタンを使ってください。
- ¥KEIL¥ARM¥FLASH¥LPC_IAP_256¥TEST フォルダーはどのように新しい flash プログラミングアルゴリズムを試すべきか示すプロジェクトを含みます。
詳細
µVision User's Guideの Flash-Algorithmsをご参照ください