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を使用してシステムをりブートさせると、必ずブートローダのコマンドモードになります。
(This host) = https://www.besttechnology.co.jp