現: 2009-07-06 (月) 15:09:22 takaboo ![]() |
|||
---|---|---|---|
Line 1: | Line 1: | ||
+ | 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を使用してシステムをりブートさせると、必ずブートローダのコマンドモードになります。 |