|
現: 2009-07-06 (月) 15:09:22 takaboo |
| + | TITLE:SH7145F Bootloader |
| + | #norelated |
| + | #contents |
| + | **はじめに [#te30cd54] |
| + | SH7145Fマイコンボードに対応した弊社オリジナルブートローダです。~ |
| + | マイコンに備わったSCIを経由してホストからマイコンボードのSRAMないしフラッシュROMへユーザプログラムを転送及び書き込んだり、書き込まれたユーザプログラムを実行するといった機能を持ちます。~ |
| + | 付属のバッチファイルにてソースプログラムからコンパイルでき、ユーザ自身による改造も可能です。~ |
| + | ファイルの送受信にはXMODMプロトコルを使用しますが、全てのXMODEMに対応したターミナルクライアントに対応するものではありません。 |
| | | |
| + | **基本仕様 [#y715a5e1] |
| + | ***適用コンパイラとコンパイル方法 [#q09196c7] |
| + | 弊社提供のGCC Developer Lite最新版のインストール先に「C:\Program Files\BestTech」フォルダを指定し、インストールコンポーネントとして「SH7145Fでのみ使用」、もしくは「フルインストール」が選択されている必要があります。~ |
| + | +ソースをダウンロードし適宜解凍 |
| + | +GCC Developer Liteにてtimsh7145.cを開き、コンパイラオプションで「SH7145F (Intenal Flash)」を選択してコンパイル |
| + | +マイコンボードをブートモードにし、timsh7145.motをFLASH WRITERにて書き込む |
| + | +マイコンボードをモード2にして作業完了 |
| + | |
| + | ***ソースのダウンロード [#DOWNLOAD] |
| + | #ref(SH7145F_BL_1.33.zip) |
| + | 公開日: 2009/06/25 |
| + | |
| + | 更新内容 |
| + | -ダウンロード成功時のメッセージ送信タイミングを遅く |
| + | |
| + | ***メモリマップ [#g9d88ae1] |
| + | ブートローダはマイコン内蔵のフラッシュROMに書き込まれ、内蔵フラッシュROM及び外部バスが使用できるMCUモード2で動作するプログラムです。 |
| + | #ref(sh7145bootloader_map,100%) |
| + | ユーザが使用できるメモリエリアは外部メモリ全般となります。 |
| + | |
| + | ***ブートローダの動作フロー [#g9fc9896] |
| + | #ref(SH7145_SCI_BOOT_FLOW,80%) |
| + | マイコンがリセットされるとユーザプログラムへ実行が遷移するか、ブートローダがコマンドモードになるかの2つの状態に動作が分岐します。~ |
| + | ユーザプログラムへ実行が遷移する前にユーザ自らの操作でコマンドモードに遷移させる場合は、リセット直後に'!'を素早く3回入力する必要があります。全ての外部メモリにユーザプログラムが書き込まれていなければ、常にコマンドモードとなります。~ |
| + | なお、最新バージョンでは外部フラッシュROMにSRAM上で動作するプログラムを書き込んでおき、外部フラッシュROMからSRAM上にコピーして実行させる機能が盛り込まれているため、起動フローが少々複雑になっています。 |
| + | |
| + | **使用方法 [#pae541f2] |
| + | [[SIMPLE TERM>GDL#STERM]]からのキー入力にて各種機能を実行します。 |
| + | ***コマンド [#ieacf9d6] |
| + | ****ヘルプ 'h'[#le03027c] |
| + | コマンドのリストを表示します。 |
| + | >h |
| + | --< TIM7145 Ver1.32 by BestTechnology >--", |
| + | [w]:UPLOAD TO ExRAM [f]:UPLOAD TO ExFLASH |
| + | [r]:DOWNLOAD [g]:BOOT [x]:REBOOT |
| + | [i]:FLASH INFO [e]:ERASE ExFLASH [c]:CLEAR ExRAM |
| + | > |
| + | また、以下に紹介するコマンドキー以外の入力でも、コマンドのリストが表示されます。 |
| + | |
| + | ****外部SRAMへの書き込み 'w' [#d701275b] |
| + | ホストからマイコンボードに搭載されたSRAMへファイルを転送及び書き込みを行います。 |
| + | >w |
| + | START UPLOAD TO ExRAM... |
| + | ARE YOU SURE? (Y/N) |
| + | ここでyを入力すると転送を待ち受ける状態となりますので、STERMから任意のファイルを選択しXMODEMプロトコルで転送を開始させます。~ |
| + | 成功すれば<SUCCESS>、失敗すると<ERROR>と表示されます。 |
| + | >w |
| + | START UPLOAD TO ExRAM... |
| + | ARE YOU SURE? (Y/N) y |
| + | <SUCCESS> |
| + | > |
| + | 本コマンドはユーザプログラムの実行は行わず、処理が完了するとコマンドモードに戻ります。 |
| + | |
| + | ****外部フラッシュROMへの書き込み 'f' [#l1e29a27] |
| + | ホストからマイコンボードに搭載されたフラッシュROMへファイルを転送及び書き込みを行います。 |
| + | >f |
| + | START UPLOAD TO ExFLASH... |
| + | ARE YOU SURE? (Y/N) |
| + | ここでyを入力すると転送を待ち受ける状態となりますので、STERMから任意のファイルを選択しXMODEMプロトコルで転送を開始させます。~ |
| + | 成功すれば<SUCCESS>、失敗すると<ERROR>と表示されます。 |
| + | >f |
| + | START UPLOAD TO ExFLASH... |
| + | ARE YOU SURE? (Y/N) y |
| + | <SUCCESS> |
| + | ERASE ExFLASH 0000 |
| + | FLASH WRITE ......................................... |
| + | VERIFY CHECK ......................................... |
| + | <SUCCESS> |
| + | > |
| + | 本コマンドはユーザプログラムの実行は行わず、処理が完了するとコマンドモードに戻ります。 |
| + | |
| + | ****実行 'g' [#jd6158b2] |
| + | 外部フラッシュROMないし外部SRAMに書き込まれたユーザプログラムを実行します。~ |
| + | 実行には外部FLASH>外部SRAMという優先順位がありますので、常時外部SRAMから実行させる場合は外部FLASHを消去しておく必要があります。~ |
| + | いずれのメモリにもユーザプログラムが書き込まれていなければ、 |
| + | >g |
| + | EMPTY |
| + | > |
| + | というメッセージを表示してコマンドモードに戻ります。 |
| + | -''外部SRAM上にのみユーザプログラムが書き込まれている場合'' |
| + | >g |
| + | GO ExRAM PROGRAM !! |
| + | このメッセージが表示された後、外部SRAMのユーザプログラムが実行されます。 |
| + | -''外部フラッシュROMに外部SRAMを想定したユーザプログラムが書き込まれている場合''~ |
| + | 本来外部SRAMに書き込んで実行されるべきですが、電源を切った状態で外部SRAMの内容が維持される時間には制限があります。その場合は外部フラッシュROMに書き込んでおけば、実行時に外部フラッシュROMから外部SRAMに全データコピーした後、外部SRAM上から実行を開始します。 |
| + | >g |
| + | CPY ExFLASH TO ExRAM & EXEC FROM ExRAM |
| + | このメッセージが表示された後、外部SRAMのユーザプログラムが実行されます。 |
| + | -''外部フラッシュROM上で動作するプログラムが外部フラッシュROMに書き込まれている場合''~ |
| + | >g |
| + | EXEC FROM ExFLASH |
| + | このメッセージが表示された後、外部フラッシュROMのユーザプログラムが実行されます。 |
| + | |
| + | |CENTER:BGCOLOR(red):||c |
| + | | :idea:|外部バスに関する諸設定は再初期化されず、活性化された状態のままユーザプログラムが実行されます。&br;また、ユーザプログラムにてバスを再設定すると、その瞬間に実行中のコード自身が行方を失い暴走します。| |
| + | |
| + | ****外部フラッシュステータス 'i' [#d8f65fee] |
| + | マイコンボードに搭載されたフラッシュROMの情報を表示します。 |
| + | >i |
| + | Manufactur ID:$01 |
| + | Device ID:$22C4 |
| + | Sector Protect SA[30..0]:$b0000000000000000000000000000000 |
| + | Execute Status:Empty |
| + | > |
| + | 本コマンドは処理が完了するとコマンドモードに戻ります。 |
| + | |
| + | ****外部フラッシュROMの消去 'e' [#p10f0524] |
| + | 外部フラッシュROMを完全消去します。 |
| + | >e |
| + | ERASE ALL ExFLASH |
| + | ARE YOU SURE? (Y/N) |
| + | ここでyを入力すると消去を開始します。 |
| + | >e |
| + | ERASE ALL ExFLASH |
| + | ARE YOU SURE? (Y/N) y........................................... |
| + | COMPLETED. |
| + | > |
| + | 本コマンドは処理が完了するとコマンドモードに戻ります。 |
| + | |
| + | ****外部SRAMの消去 'c' [#qf81f7c3] |
| + | 外部SRAMを完全消去します。 |
| + | >c |
| + | ERASE ALL ExRAM |
| + | ARE YOU SURE? (Y/N) |
| + | ここでyを入力すると消去を開始します。 |
| + | >c |
| + | ERASE ALL ExRAM |
| + | ARE YOU SURE? (Y/N) y |
| + | COMPLETED. |
| + | > |
| + | 本コマンドは処理が完了するとコマンドモードに戻ります。 |
| + | |
| + | ****再起動 'x' [#ya74b9d3] |
| + | マイコンを再起動し、その後ブートローダのコマンドモードになります。 |
| + | **その他 [#t4993c95] |
| + | ユーザプログラムにてWDTを使用してシステムをりブートさせると、必ずブートローダのコマンドモードになります。 |