1: 2012-12-21 (金) 09:49:55 takaboo ソース
Line 1: Line 1:
 +TITLE:GCC Developer Liteって?
 +#norelated
 +#contents
 +*はじめに [#e3c09230]
 +**ちょっとだけ [#f0949ad4]
 +10年程昔になりますが、誰もが知る[[秋月電子さん:http://akizukidenshi.com]]からAKI-H8なるマイコンボードが登場しました。周辺機能やメモリが1つのチップに収まっている事と、内蔵のフラッシュROMの書き換えが12V電源とシリアルポートさえあれば出来るという事もあって徐々に流行り始めたのです。当初はアセンブラのみが提供され、しばらくしてから機能制限付きのCコンパイラが販売されました。そのCコンパイラでも十分でしたが、ある程度使えると分かった途端に制限がネックとなって来たのです。~
 +程なくして日立製作所の海外のサイトにgnuprotoolkitが公開され、お遊びでgccを使ってコーディングする様になり、とりあえず実現したい機能をCで記述できる様になってきます。しかしながら、ちょっとだけかじってみようと思ってもまだまだ敷居が高い状態が思いの外長く続くのです。~
 +次第に我らにも面倒が降りかかるようになってきた事もあり、とりあえずほとんど変更の必要がないものには蓋をして、頻繁に変更する部分だけを表に見せソースをコンパイルだけのツールをこさえました。公になっているツールではありませんが、それが原型となって今のGCC Developer Liteへと続いていると言った所です。~
 +相も変わらずLiteがついている事へのツッコミは無しとして、とりあえず目新しいチップを「ひとまず」動かす事の面倒さを軽減する事が第一の目的ですので、それ以外の機能拡張は面倒な手順をボタン一つで何とかしたいという程度の考えで追加されていると考えてください。「学習」とか「教育」といった崇高な目的からではなく、全て「横着」や「タダ」、「とりあえず」さらには「無理矢理」から派生しているのです。(以上作者談)~
 +
 +とはいうものの現在の所かなりのユーザに使っていただいており、玄人の方はわざわざ足枷の様な環境を好んで使う事はしませんので、ひとまずの大義名分は初めて使う方の「応援グッズ」という事にしています。~
 +
 +なお、このドキュメントを全て読み進める必要は全くありませんし、その意味もないほどツール自体の使い方は単純です。通常は各ターゲット毎に異なる開発フローだけわかれば良いので、先に各製品のドキュメントを参照する事をお勧めします。
 +
 +*使用する前に [#w94489bf]
 +弊社マイコンボード製品にとって必須というツールではありません。商用の開発ツールを使用する事も選択肢の内です。~
 +また、弊社の製品を対象として使用する場合にのみ無償サポートが受けられます。
 +**対応するOS [#x09d349e]
 +最新版ではできるだけ最新のOSに対応しますが、時折制限がありますので確認が必要です。~
 +現在の所以下のOSに対応します。
 +
 +-Windows 2000 (SP4)
 +-Windows XP (SP3)
 +-Windows VISTA (SP2)
 +-Windows 7 (SP1)
 +-Windows 8 (一部制限あり)
 +
 +また、本ドキュメントではx86版を標準インストール環境として記述するため、x64版では一部の機能制限があったりインストールフォルダ名が異なる場合があります。
 +
 +**パッケージに含まれるコンポーネント [#j86fbc39]
 +インストールする前にインストールされるコンポーネントを確認しておきます。~
 +デフォルト設定でフルインストールすると、以下のフォルダツリーが作成されます。いずれこれらのフォルダを直接参照する事もあるかと思います。~
 +#ref(gdl_tree.png,100%)
 +
 +- [[GCC Developer Lite>#GCCDevL]]
 +"C:\Program Files\BestTech\GCC Developer Lite" 配下
 +~メモ帳で全角まみれのソースに気づかずにエラーが解消しない事に業を煮やして、秀丸の様に色々表示をカスタマイズできるネタを仕込んだテキストエディタが欲しいといったとこで生まれました。他のツールを起動したりコンパイルするといった機能はオマケ以下だったものが、対応するマイコンを増やしていくうちにいつしか多種多様になってしまいました。~
 +ちなみに、デフォルトでテキストエディタの背景が青いのは作者の悪趣味によるものなので、好きな色に変更して使ってくださいとの事です。~
 +#ref(GDL.png,50%)
 +- [[FLASH WRITER>#FW]]
 +"C:\Program Files\BestTech\GCC Developer Lite" 配下
 +~H8/3048FマイコンのフラッシュROMへユーザ任意のデータを書き込むツールでしたが、H8 TinyやSH、ARMやら何やらと言っている間に「FLASH」という表現は曖昧になってきています。~
 +また、シリアルポートがPCとターゲット間の唯一のI/Fだったものが、DLLを仲介したりTELNETやFTPを経由したりとこちらも多様になっています。
 +#ref(FW.png,80%)
 +- [[SIMPLE TERM>#STERM]]
 +"C:\Program Files\BestTech\GCC Developer Lite" 配下
 +~シリアルターミナルクライアントです。元来Windowsにオマケでついていたハイパーターミナルを使っていたのですが、初めて起動する際にいちいち市外局番を入力させられるのがイヤで用意したそうです。~
 +今では当然の様に[[TeraTerm:http://ttssh2.sourceforge.jp/​]]を使うのでしょうが、COMポートの動的検出やポートの再接続といった操作を横着する機能はSIMPLE TERMにしかありません。~
 +なお、数百kbpsを超える高速なボーレートで通信するとすぐに露呈しますが、描画スピードに難があります。今後改善される事は無いそうです。~
 +#ref(sterm.png,70%)
 +-[[FLASHSimple>#FLASHSimple]]
 +"C:\Program Files\BestTech\FLASHSimple" 配下
 +~[[FLASH WRITER>#FW]]では対応し切れていないルネサスのチップを採用した際に、hmseで提供されていた物を少し改造して同梱し始めたものです。既にメンテを放棄したので、[[FDT>http://japan.renesas.com/fmwk.jsp?​cnt=fdt_mid_level_landing.jsp&fp=/produc​ts/tools/flash_programming/fdt/]]に移行すべきです。~
 +ちなみに[[FLASH WRITER>#FW]]よりも速いボーレートで書き込めますので、大きいファイルを転送する時には重宝します。
 +-[[OpenOCD]]
 +"C:\Program Files\BestTech\openOCD" 配下
 +~基本的に[[TINY JTAG-ICE2]]用として更新しているファイルと同等ですが、そちらの更新頻度が激しいためにGCC Developer Liteのインストーラに収められているバージョンはどうしても古くなります。ですが、できるだけ安定して使用できるバージョンを適用する様にしていますので、単体で[[OpenOCD]]として公開しているバージョンに置き換える事は推奨できません。入れ替えは新し物好きか、重要なパッチが当たっている時だけにしましょう。
 +- GNU TOOLS
 +"C:\Program Files\BestTech\GCC Developer Lite\GCC" 配下
 +~アセンブラ、リンカ、Cコンパイラ等を含みます。現在含まれるツールチェインは以下の通りです。
 +~'''ARM''' (ARMコアシリーズ全般)~
 +'''AVR''' (AVRコアシリーズ全般 AVR Toolchainそのもの)~
 +'''SH''' (SHコアシリーズ全般 kpit gnutoolそのもの)~
 +'''H8''' (H8コアシリーズ全般 kpit gnutoolそのもの)~
 +'''RX''' (RXコアシリーズ全般 kpit gnutoolそのもの)~
 +'''x86''' (Windows 32bit版用 mingwそのもの)~
 +'''x64''' (Windows 64bit版用 mingwそのもの)~
 +'''FPC''' (ARM用Free Pascal Complier)~
 +~適当なフォルダにまとめ、フォルダごと移動しても単体で動かせる状態で構成されてさえいれば、Windows上で動くgnuのコンパイラ全てに対応できます。よって、ユーザ自身で用意したコンパイラを含めたり、自前で構築したgccを適用させることも何ら難しくありません。
 +- ターゲットファイル
 +"C:\Program Files\BestTech\GCC Developer Lite\TARGET" 配下
 +~色々入っているのでごった煮と呼んでいます。対応するハードウェアが増えればGNUTOOLS同様それらに対応するファイルが必要(不要な時もあります)です。~
 +当初からマイコンのシリアルポートを使う事としている都合、ほとんどのターゲットが持つシリアルポートをputcやgetcといった低レベルの関数で利用できるにライブラリが提供されます。最近ではそれでは事足りず、OSライクな物までターゲットファイルとして提供する事もあります。~
 +ライブラリのせいで自分のプログラムの挙動がおかしくなる!といった時でも、マイコンや製品の略称で命名したフォルダ毎にソースとライブラリ、その他必要な諸々のファイルが収められていますので、いつでも参照できます。~
 +同フォルダにある拡張子がDEFとあるファイルに、GCC Developer Liteのコンパイルオプションで選択出来る設定リストの雛形が記述されています。また、以下のフォルダにターゲット毎に用意されたファイルが収められています。詳細は各々のターゲットの説明に譲ります。
 +~'''3048F'''~
 +'''3052F'''~
 +'''3067F'''~
 +'''3069F'''~
 +'''3664F'''~
 +'''3694F''' ([[H8/3694Fマイコンボード>BTC064B]])~
 +'''3687F''' ([[H8/3687Fマイコンボード>BTC065]])~
 +'''7045F''' (SH7045Fマイコンボード)~
 +'''7047F''' (SH7047Fマイコンボード)~
 +'''7144F'''~
 +'''7145F''' ([[SH7145Fマイコンボード>BTC080]])~
 +'''7125F'''~
 +'''RX62N'''~
 +'''ATmega168''' ([[ATmega168マイコンボード>BTC066]])~
 +'''ATmega32''' ([[ATmega32マイコンボード>BTC067B]])~
 +'''ATmega128''' ([[ATmega128マイコンボード>BTC068]])~
 +'''AT90CAN128''' (AT90CAN128マイコンボード)~
 +'''SAM3S4''' (SAM3S4マイコンボードシリーズ)~
 +'''SAM3S4_TOPPERS''' (SAM3S4マイコンボードシリーズ)~
 +'''SAM7S''' ([[AT91SAM7S256マイコンボード>BTC091]], [[AT91SAM7S32マイコンボード>BTC092]], [[ユニバーサルドライバ3>BTA022]], [[FDIII-HC>BTE083]])~
 +'''SAM7S_TOPPERS''' ([[AT91SAM7S256マイコンボード>BTC091]], [[AT91SAM7S32マイコンボード>BTC092]], [[ユニバーサルドライバ3>BTA022]], [[FDIII-HC>BTE083]])~
 +'''SAM7X''' ([[AT91SAM7X512マイコンボード>BTC095]])~
 +'''SAM7XFPC''' ([[AT91SAM7X512マイコンボード>BTC095]])~
 +'''STR75X'''~
 +'''STM32F2'''~
 +'''STM32F2_TOPPERS'''~
 +'''FD30''' ([[FDIII-HC>BTE083]])~
 +'''UD3''' ([[ユニバーサルドライバ3>BTA022]])~
 +'''CM-5''' (Bioloid CM-5)~
 +'''win'''
 +~マイコンボードを応用し機能を拡張した製品のDEFファイルにおいては、複数のフォルダを参照する設定がなされている場合もあります。
 +- デバイスドライバ
 +~最近はUSB I/Fがマイコンに搭載されるようになってきています。現在の所AT91SAM7シリーズのUDP用のみですが、Windows PCのUSBコネクタとつなぐと要求されるデバイスドライバを同梱しています。インストールされる場所はWindowsのシステムフォルダですので、デバイスドライバを要求されても自動検索すれば勝手に見つけてくれるはずです。
 +~'''6119.inf''' (AT91SAM7 Windows用仮想COMポートドライバインストール用定義ファイル)~
 +~'''atm6124.inf''' (AT91SAM7 SAM-BAデバイスドライバインストール定義ファイル)~
 +'''atm6124.sys''' (AT91SAM7 SAM-BAデバイスドライバ)
 +~FTDI社のドライバも含めようと考えていたのですが、FTDI社のチップを使用している製品が他にたくさんあるので、競合する可能性を避けるために汎用インストールパッケージへの同梱はひかえています。一部OEM版のパッケージにおいては含まれます。
 +- その他
 +~「%APPDATA%\BestTech\GCC Developer Lite」配下に各アプリケーションの設定がファイルとして保存されます。アンインストール時はこれらのファイルは削除対象としていませんので、手動で削除しなくてはなりません。
 +
 +**インストールパッケージの入手 [#DOWNLOAD]
 +#ref(http://www.besttechnology.co.jp/dow​nload/GDLFull2.5.0.0.exe)
 +公開日: 2012/12/19~
 +サイズ: 172,649,641 byte~
 +MD5チェックサム: a684c761660d44f95221e4ec0524b10c
 +***更新内容 [#id47fd9a]
 +''Version 2.5.0.0 2012/12/19''
 ++GCCDevL.exe~
 +コンポーネントの更新に伴う再構築~
 +諸設定ファイルの保存場所をユーザプロファイルに変更(ユーザ毎に設定を保存)~
 +エディタが言語毎に異なるプロファイルを保存していたものを旧来の方式に戻す(追加の色分け等が使用可)~
 +一部の環境で外部ツールのアイコンがおかしくなるのを修正
 ++STERM.exe~
 +コンポーネントの更新に伴う再構築~
 +諸設定ファイルの保存場所をユーザプロファイルに変更(ユーザ毎に設定を保存)
 ++FW.exe/BTFZTAT.dll~
 +コンポーネントの更新に伴う再構築~
 +諸設定ファイルの保存場所をユーザプロファイルに変更(ユーザ毎に設定を保存)~
 +RX62Nシリーズ対応
 ++OpenOCD~
 +0.7.0-dev-00775-g08ddb19適用
 ++GCC~
 +最新H8 GCC適用~
 +最新SH GCC適用~
 +最新RX GCC適用~
 +最新ARM GCC適用 (none-eabiに変更)~
 +最新AVR GCC適用~
 +最新x86/x64 GCC適用~
 ++RX62Nターゲットファイル (ノンサポート)~
 +新規追加~
 +コンソールAPIのみのサポート
 ++STM32F2ターゲットファイル (ノンサポート)~
 +新規追加
 ++STM32F2_TOPPERSライブラリ (ノンサポート)~
 +新規追加
 ++全AVRターゲットファイル~
 +コンパイラのバージョンアップに伴う再構築~
 ++SH7045/SH7047/SH7145/SH7125ターゲットファイル~
 +コンパイラのバージョンアップに伴う再構築~
 +SetSRRegマクロのバグ修正
 ++SAM7S/Xターゲットファイル~
 +コンパイラのバージョンアップに伴う再構築~
 +コンソールAPIのボーレート設定誤差を縮小
 ++SAM7S TOPPERSライブラリ~
 +コンパイラのバージョンアップに伴う再構築
 ++UD3ターゲットファイル~
 +コンパイラのバージョンアップに伴う再構築
 ++FREEDOM IIIターゲットファイル~
 +コンパイラのバージョンアップに伴う再構築~
 +MXシリーズに対応~
 +KONDO KRSシリーズ(ICS3.0/3.5)に対応~
 +FUTABA RSシリーズに対応~
 +
 +Version 2.4.0.13r4 2011/08/08
 ++UD3ターゲットファイル~
 +設定ファイルが狂っていたのを修正~
 +DynamixelホストAPIをFREEDOM IIIのそれと合わせる
 ++FREEDOM IIIターゲットファイル~
 +Rev.E092Cに対応
 +
 +Version 2.4.0.13r3 2011/08/03~
 +&color(red){重篤なバグがあるため使用停止};~
 ++UD3ターゲットファイル~
 +GPIOの初期化パラメータ追加~
 +コンパイルオプション修正
 +
 +Version 2.4.0.13r2 2011/08/02
 ++インストーラ~
 +スタートメニューにツールのショートカットが作られない場合があるのを解消
 ++SAM7S/X関連ターゲットファイル~
 +UDPライブラリ更新
 ++FREEDOM IIIターゲットファイル~
 +UDPライブラリ更新に伴う修正~
 +一部APIでセマフォがロックしてしまう条件を解消~
 +fd_MMSD_ReadHomePositionが常時trueを返すのを修正~
 +レディーキューの強制自動回転をデフォルトでEnableに
 ++UD3ターゲットファイル~
 +UDPライブラリ更新~
 +UDPライブラリ更新に伴う修正
 +
 +Version 2.4.0.13 2011/07/22
 ++GCCDevL.exe~
 +コンポーネント更新に伴う再構築~
 +マイナーバグフィクス
 ++STERM.exe~
 +コンポーネント更新に伴う再構築~
 +カーソル表示・非表示のエスケープシーケンス対応
 ++FW.exe~
 +コンポーネント更新に伴う再構築~
 +avrdudeのstk500互換プロトコルサポートにおけるデフォルトオプション変更
 ++OpenOCD~
 +0.5.0-dev-00956-ge7269e3適用
 ++GCC~
 +最新H8 GCC適用~
 +最新SH GCC適用~
 +最新ARM GCC適用
 ++SAM7S/X関連ターゲットファイル~
 +コンパイラ更新に伴う再構築~
 +UDPライブラリ更新~
 +C++対応推進
 ++SAM3S関連ターゲットファイル~
 +新規同梱(TEST)
 ++H8/SH関連ターゲットファイル~
 +ライブラリコンパイル時の最適化復活~
 +コンパイラ更新に伴う再構築
 ++SAM7S TOPPERSライブラリ~
 +微調整とDTQ追加
 ++DXLIB_SAM7Sターゲットファイル~
 +廃止
 ++FREEDOM IIIターゲットファイル~
 +コンパイラ更新に伴う再構築~
 +全面更新(DXLIB依存を排除)~
 +TOPPERS完全依存
 ++UD2ターゲットファイル~
 +廃止
 ++UD3ターゲットファイル~
 +コンパイラ更新に伴う再構築~
 +コンソール関連変更~
 +UDPライブラリ更新~
 +C++対応推進
 +
 +Version 2.4.0.0r4 2011/04/07
 ++OpenOCD~
 +0.5.0-dev-00836-gbecfbea適用
 ++UD3ターゲットファイル~
 +Dynamixelホスト機能のパケット受信時にタイムアウト時間を必ず待ってしまうバグ修正
 +
 +Version 2.4.0.0r3 2011/04/06
 ++OpenOCD~
 +0.5.0-dev-00835-g5e86c51適用
 ++DXLIB SAM7Sターゲットファイル~
 +Dynamixelホスト機能を強化(エラーステータスの取得・ブロードキャストID送信に伴うその他のエラー対策)->API変更に伴うユーザプログラム修正要
 ++FREEDOM IIIターゲットファイル~
 +DXLIB SAM7S変更に伴う修正
 ++UD3ターゲットファイル~
 +GPIO8~10によるパルス幅計測のベースクロックを任意に選択できるよう変更->API変更に伴うユーザプログラム修正要~
 +GPIO8~10によるPWM出力ないしパルス幅計測のベースクロックデフォルト値を6MHzに変更~
 +Dynamixelホスト機能を強化(エラーステータスの取得・ブロードキャストID送信に伴うその他のエラー対策)->API変更に伴うユーザプログラム修正要
 +
 +Version 2.4.0.0r2 2011/04/01
 ++UD3ターゲットファイル~
 +GPIO9からのPWM出力が指定通りに機能しないバグ修正
 +
 +Version 2.4.0.0 2011/03/31
 ++GCCDevL.exe~
 +コンポーネントの更新に伴う再構築~
 +若干の高速化
 ++STERM.exe~
 +ポートのクローズができない場合の対策~
 +コンポーネントの更新に伴う再構築~
 +バイナリモードのターミナルウィンドウにおけるクリップボード処理機能追加~
 +若干の高速化
 ++FW.exe~
 +コンポーネントの更新に伴う再構築~
 +若干の高速化
 ++OpenOCD~
 +0.5.0-dev-00815-g8d338f3適用
 ++SAM7S TOPPERSライブラリ~
 +デフォルトの非タスクコンテキスト用スタックサイズを4kから8kへ拡大
 ++DXLIB SAM7Sターゲットファイル~
 +SDカード用ライブラリをefslから[[ChaN氏>http://elm-chan.org/]]の[[fatfs>http://elm-chan.org/fsw/ff/00ind​ex_j.html]]へ変更~
 +コンパイラ更新に伴う再構築
 ++FREEDOM IIIターゲットファイル~
 +DXLIB SAM7S更新に伴う修正~
 +RC100パケット受信時のイリガル処理を改善~
 +TOPPERS適用をさらに推進
 ++UD3ターゲットファイル~
 +ユーザソース上のメインタスク実行前にサイクルハンドラを起動させる様に修正~
 +コンソールAPIの一部追加とバグ修正~
 +ADCのチャネルとGPIOのチャネル不整合修正
 +
 +Version 2.3.3.0 2011/01/13
 ++GCCDevL.exe~
 +編集中のファイルがあるにも関わらずドロップダウンしたファイルを強制的に開けてしまうのを抑止~
 ++OpenOCD~
 +0.5.0-dev-00714-g8684bd1適用~
 +コメントの記述方法が変更されたためcfgを修正
 ++GCC~
 +最新H8適用~
 +最新SH適用~
 ++SAM7S/X関連ターゲットファイル~
 +newlibの要求に対応したリンカスクリプト修正
 ++H8/SH関連ターゲットファイル~
 +ライブラリコンパイル時の最適化復活~
 +コンパイラ更新に伴う再構築
 +
 +Version 2.3.2.7 2010/12/10
 ++GCCDevL.exe~
 +最小化された状態でショートカットを起動された際のエラー表示を抑止~
 +置換操作で選択文字列が置換候補にならないバグを修正~
 ++STERM.exe~
 +COMポートが見つからなければ有無も言わさず全ての可能性を列挙
 ++OpenOCD~
 +0.5.0-dev-00644-gb8c42b9適用
 ++GCC~
 +最新ARM適用~
 +最新x86適用~
 +x64追加(Windows 64bit版でのみ使用可)
 ++UD3ターゲットファイル~
 +USB接続時のオープン・クローズ判断を修正~
 +RS485 I/FのDynamixelホスト機能追加~
 +コンソール機能のセマフォ追加~
 +コンパイラのバージョンアップに伴う再構築
 ++FREEDOM IIIターゲットファイル~
 +USB接続時のオープン・クローズ判断を修正~
 +Toppersによるマルチタスクルーチンを追加~
 +RC-100B及びSIXAXISの取り込みルーチン最適化~
 +FDIII-HCのブートローダV2.0に対応(それ以前のバージョンには対応しない)~
 +コンパイラのバージョンアップに伴う再構築
 ++SAM7S TOPPERSライブラリ~
 +スタートアップルーチンでペリフェラルリセットを投げていたのを削除~
 +セマフォを追加定義~
 +コンパイラのバージョンアップに伴う再構築
 ++SAM7S/Xターゲットファイル~
 +USB接続時のオープン・クローズ判断を修正~
 +スタートアップルーチンでペリフェラルの割り込み禁止を追加~
 +コンパイラのバージョンアップに伴う再構築
 ++Windowsターゲットファイル~
 +コンパイラ追加に伴う設定ファイルの記述変更
 +
 +Version 2.3.2.6r4 2010/09/22
 ++OpenOCD~
 +0.5.0-dev-00738-g22911a3適用
 ++UD3ターゲットファイル~
 +ゲートON/OFFに影響してM1とM2が不定な出力を行ってしまう場合があるバグ修正~
 +プロポのキャリブレーションルーチンの操作手順がイマイチだったので再度変更~
 +SIXAXISから取得できるデータを追加 それに伴いコントロールテーブルも拡大~
 +いくつかのAPI追加
 ++SAM7S TOPPERSライブラリ~
 +カーネルのコンフィギュレーションファイルでタスクの記述順序によって一部のAPIが不正な挙動をするのを発見した。とりあえず順序を変更して事なきを得る~
 +
 +Version 2.3.2.6r3 2010/09/13
 ++OpenOCD~
 +0.5.0-dev-00716-g8afd230適用
 ++UD3ターゲットファイル~
 +PWM周波数が可変にならないバグ修正~
 +完全版Bluetooth機能搭載~
 +プロポのキャリブレーションルーチンの操作手順を変更
 ++UD2ターゲットファイル~
 +EEPROMを使ったサンプルがコンパイルエラーになっていたバグ修正~
 +
 +Version 2.3.2.6r2 2010/07/27
 ++UD3ターゲットファイル~
 +出力のRAMP機能追加~
 +
 +Version 2.3.2.6 2010/07/14
 ++GCCDevL.exe~
 +エディットウィンドウにおける置換操作を修正
 ++OpenOCD~
 +0.5.0-dev-00616-g0672a64適用
 ++UD3ターゲットファイル~
 +新規追加~
 +
 +Version 2.3.2.1 2010/04/05
 ++GCCDevL.exe~
 +参照ウィンドウにおける参照ソース編集可否のデフォルト状態をフォルダに応じて変更
 ++STERM.exe~
 +クリップボードの挙動不審を修正
 ++OpenOCD~
 +0.5.0-dev-00352-g2a17fd9適用
 ++SAM7S/Xターゲットファイル~
 +一部TOPPERSターゲットに対応していなかった割り込み処理部を修正~
 +dcc_debugルーチンを同梱
 +
 +Version 2.3.2.0 2010/04/02
 ++GCCDevL.exe~
 +コンポーネント更新に伴う再構築
 ++STERM.exe~
 +コンポーネント更新に伴う再構築~
 +日本語環境においてS-JISコードが化ける対策
 ++FW.exe, FZTAT.DLL~
 +H8/3069F, SH7125F対応とシステムクロックの入力項目追加
 ++OpenOCD~
 +0.5.0-dev-00348-g33e5dd1適用
 ++GCC~
 +最新ARM,AVR,SH,H8適用
 ++全ターゲットファイル~
 +GCC更新に伴う再構築
 ++H8/3048F,H8/3052F,H8/3067F,H8/3664F,SH7​045F,SH7047Fターゲット~
 +''サポート無し''前提で再度同梱
 ++H8/3069F,SH7125Fターゲット~
 +''サポート無し''前提で新規同梱
 ++TOPPERS/ASP SAM7S用ターゲットファイル~
 +UD3の登場を想定し、その前座として単体使用できる環境を同梱
 ++SAM7S/Xターゲットファイル~
 +DBGU,UART0/1共にポーリング・割り込み・PDC化とし共通の書式に統一、PDCは送受信ともにPDC化
 ++FREEDOM IIIターゲットファイル~
 +SIXAXISないしDUALSHOCK3対応
 ++その他ターゲットファイル~
 +主にSAM7Sターゲットファイル更新に伴う修正
 +
 +Version 2.3.1.1r2 2009/12/18
 ++FREEDOM IIIターゲットファイル~
 +RC-100Bのデバッグルーチンが活性化していたので削除
 +
 +Version 2.3.1.1 2009/12/17
 ++GCCDevL.exe~
 +UAC ON時に起こる怪しい挙動を今度こそ解消~
 +フォームスタイルがWindows2kベースに戻ってしまっていたのを修正~
 +Windows7のウィンドウ・タスクバーに対応
 ++STERM.exe~
 +UAC ON時に起こる怪しい挙動を今度こそ解消~
 +フォームスタイルがWindows2kベースに戻ってしまっていたのを修正~
 +Windows7のウィンドウ・タスクバーに対応~
 +F1を押すと妙なダイアログボックスが表示されていたのを修正
 ++FW.exe~
 +UAC ON時に起こる怪しい挙動を今度こそ解消~
 +フォームスタイルがWindows2kベースに戻ってしまっていたのを修正~
 +Windows7のウィンドウ・タスクバーに対応~
 +その他最新DLLを同梱
 ++OpenOCD~
 +0.4.0-dev-00955-g3616b93適用
 ++デバイスドライバ~
 +SAM7S/X用USBシリアルエミュレーションドライバをx86/x64環境共用版に変更~
 +SAM-BA用USBドライバは相変わらずx86環境専用
 ++GCC~
 +最新ARMGCC適用(全ターゲットファイル再構築)
 ++SAM7S/Xターゲットファイル~
 +スタートアップルーチンにおいてPLLの初期化で停止してしまうケースがあるのを修正
 ++FREEDOM IIIターゲットファイル~
 +RC-100BとBluetooth接続した場合に正常にパケットが受信できないバグを修正~
 +最適化レベルをUP
 +
 +Version 2.2.0.47 2009/11/05
 ++GCCDevL.exe~
 +UAC ON時に起こる怪しい挙動を解消
 ++STERM.exe~
 +UAC ON時に起こる怪しい挙動を解消
 ++FW.exe~
 +UAC ON時に起こる怪しい挙動を解消
 ++OpenOCD~
 +0.3.0-rc1-dev-00466-ge901cee適用
 ++GCC~
 +最新SH/H8GCC適用(全ターゲットファイル再構築)
 ++SAM7S/Xターゲットファイル
 +USART0/1のボーレートジェネレータの精度UP~
 +USARTのputsのバグフィクス
 ++DXLIB_SAM7Sターゲットファイル~
 +送信タイムアウトがタイムアウト前に訪れる可能性を修正
 ++FREEDOM IIIターゲットファイル~
 +FDIII-HC向け正式リリース版同梱
 +
 +Version 2.2.0.44 2009/07/06
 ++GCCDevL.exe~
 +拡張子への関連付け機能追加~
 +Windows7RCのサポート強化
 ++STERM.exe~
 +スクリプトにキーリピート送信追加~
 +Windows7RCのサポート強化
 ++FW.exe~
 +二重起動抑止方法変更~
 +最新AT91Boot_DLL.dllに更新~
 +SAM-BAをCOMポート経由で使用した際の異常なディレイを回避~
 +SAM-BAにおいて予測転送レートでプログレスを表示~
 +Windows7RCのサポート強化
 ++OpenOCD~
 +svn2472適用、それに伴いSAM7S/X関連のgdb.ini及びfw用書き込みスクリプト更新
 ++GCC~
 +最新SH/H8GCC適用(全ターゲットファイル再構築)
 ++DXLIB_SAM7Sターゲットファイル~
 +プロトタイプ宣言ミスを修正
 ++SH7145Fターゲットファイル~
 +ライブラリ構成時の最適化を抑止しSCI関連を使えるように
 +
 +Version 2.1.1.42r4
 ++Windows 7 RCにおいてSTERMが実行できないとの要望に応え暫定対応、当然ながらWindows7リリース版での動作保証は無し
 +
 +Version 2.1.1.42r3
 ++一部の環境(大半の可能性もあり)においてH8およびAVR用gccが見当違いな場所にインストールされる場合があるので、圧縮率を下げて対応
 ++OpenOCD svn:1857を適用
 +
 +Version 2.1.1.42r2
 ++Dynamixelライブラリ for ATmega128が完全に腐っていたので根本から修正
 ++上記に伴いDynamixelライブラリ for SAM7S I/Oの一部ファンクションを見直しワークメモリの使用量を削減
 ++OpenOCDのAT91SAM7対応がat91sam7_newに移管していたが、at91sam7_newを公式版としてat91sam7sに改名されたのでこれにかかる部分を再度より戻し
 ++上記以外は全く変更無し
 +
 +Version 2.1.1.42
 ++一部コンポーネント更新に伴うIDE再構築
 ++OEM版の多言語対応機能を汎用版に適用し、インストール時に選択した言語(EN, JPのみ)が適用される
 ++コンパイラ更新に伴うライブラリ再構築
 ++USB I/F搭載のATmega用I/Oボードに対応するためSTERMを大幅機能強化、各ターゲットのブートローダを使ってSTERMから簡便にダウンロードするためのスクリプト機能追加
 ++Dynamixelライブラリ for SAM7S I/Oにおいて通信を完全DMA化、及びAPI名称を他のライブラリと共通化、その他マイナーバグフィクス
 ++FREEDOM IIIライブラリ for SAM7S I/OのRC版同梱(旧来のFDJRIII LIB相当だが互換性なし)
 ++OpenOCD svn:1793を同梱
 ++SAM7S/X USB版ブートローダ用のデバイスドライバ定義ファイルを同梱
 +
 +**インストール [#t1d1c731]
 +何も読まずに「OK」「次へ」「はい」を選択してフルインストールすると、ハードディスクを占有する容量が1Gバイトを超える事があります。~
 +インストールする際はダイアログボックスに表示されるメッセージを良く読み、必要なコンポーネントだけを選択してから「次へ」ボタンを押すべきです。
 +
 +インストールする言語を選びます。使用するツールのメニュー等の表示言語もここで選ぶ事になります。
 +#ref(gdl_inst_step1.png,100%)
 +この画面でのみパッケージのバージョンが表示されます。
 +#ref(gdl_inst_step2.png,100%)
 +GPL Ver.2です。本インストールパッケージに含まれるGNUツール及びターゲット毎のライブラリはGPL Ver.2の制約を受けるものとします。~
 +何を言わんとしているか分からない時は[[こちら>http://ja.wikipedia.org/wiki/GNU_Genera​l_Public_License]]を参考にし、熟慮の上同意するか否かを決定します。
 +#ref(gdl_inst_step3.png,100%)
 +こちらにはインストールパッケージに含まれるファイルの情報が表示されます。
 +#ref(gdl_inst_step4.png,100%)
 +インストールするルートフォルダを指定します。変更した場合は今後様々な所で弊害が発生しますので、どうなるか予測がつかない場合は変更しない事です。
 +#ref(gdl_inst_step5.png,100%)
 +ここがインストーラの肝です。通常「フルインストール」を選択する意味は皆無です。なぜなら、H8マイコンでしか使うつもりが無いのに、H8やARMのコンパイラまでインストールされてしまいますし、設定リストにも使用しないターゲットの名称が列挙されてしまうからです。おまけに、インストール後のHDDの占有容量が1Gバイトにもなります。~
 +#ref(gdl_inst_step6.png,100%)
 +上段のドロップダウンリストから適宜対象とするターゲットを選択すれば、下段のコンポーネントは自動選択されます。不用意にコンポーネントを手動で変更すると、不必要なファイルがインストールされたり、必要不可欠なファイルが足りない状態になりますので、訳が分からない内はリストから選ぶだけに留めておきましょう。
 +#ref(gdl_inst_step6_dropdownlist.png,100​%)
 +次へ、
 +#ref(gdl_inst_step7.png,100%)
 +チェックされているとインストール後にGCC Developer Liteのショートカットがデスクトップに作られます。余計なお世話ならチェックを外します。
 +#ref(gdl_inst_step8.png,100%)
 +これでインストールの準備が整いました。最後に「インストール」ボタンを押して、HDDへのコピー作業を開始します。なお、これ以後の処理にはかなりのメモリを必要とします。とてつもなくコピー作業が遅い場合は必要とするメモリが少ない可能性があり、場合によってはインストールが正常に完了しない可能性もあります。
 +#ref(gdl_inst_step9.png,100%)
 +*使い方 [#d0ab4bff]
 +**GCC Developer Liteの使い方 [#GCCDevL]
 +***エディタ [#GCCDevL_EDITOR]
 +メモ帳よりは高機能な一般的なテキストエディタです。独特な操作はあまり無いはずです。~
 +お節介にも、単語等の色分け、キーボードマクロ、入力補完といった機能を持っています。
 +****ファイル [#GCCDevL_FILE]
 +エディタで開けるファイルには特に制限はありませんが、拡張子が.cや.cppといった何らかの言語で記述されたプログラムのソースファイルを対象とします。~
 +後述のコンパイル作業を一度でも行ったファイルを再度開くと、次のようなメッセージが開きます。
 +#ref(loadbtp_new.png,80%)
 +普通はこのまま「OK」をクリックします。一度コンパイルを行うと、開いているソースファイルと同じフォルダに、拡張子が~.btpというファイルが出来上がります。btpファイルが存在しているソースファイルを開くとこのメッセージが表示され、前回コンパイルした時の条件や設定を再現します。これは異なるターゲットを1台のPCで扱っている際に、ファイルを開くたびにコンパイルオプションを変更するのが面倒なために設けられた機能です。~
 +また、GCC Developer Liteをバージョンアップすると、それ以前にコンパイルしたファイルを開くと「!」付きでメッセージが表示される場合があります。~
 +#ref(loadbtp_old.png,80%)
 +つまり、親切にも古い環境でコンパイルされているファイルを開いた事を知らせており、バージョンが変わった事によりコンパイラオプションでは問題が生じる可能性を示唆しています。このメッセージを見かけたら、素直にコンパイラオプションから設定リストを選択し直してコンパイルしましょう。
 +
 +****編集 [#GCCDevL_EDIT]
 +玄人的な使い方をしない限り、編集操作は本ツールにオリジナルな物ではありません。選択、コピー、切り取り、削除、貼り付け、といった基本操作はもちろん、ショートカットキーも普通に使える筈です。~
 +ちょっと特殊なのはインデントでしょうか。複数行にまたがって行頭にスペースを挿入したり削除すると言った機能です。これはあまりにも高い自由度でソースプログラムを記述されてしまった際に、インデントを入れる事を教えるために追加されています。
 +****検索 [#GCCDevL_SEARCH]
 +こちらも敢えて説明するまでもありませんが、検索・置換といった機能です。
 +****キーボードマクロ [#id31c0a3]
 +単純なキー操作の繰り返しを強いられる時に、そのキー操作を記録しておいて、必要なときにそのキー操作を再生する機能です。ダイアログボックスが表示される様なキー操作は対象となりません。
 +****入力補完 [#f5ee2461]
 +ちょっとした入力ミスでもコンパイルエラーとなるのは仕方ない事。でも、人間が単語を一字一句間違えずに入力出来る訳もなく、ヒューマンエラーはつきものです。~
 +そういった際に、よく使われる単語については予め設定されているキーワードから選択したり、ソースプログラムから抽出して貼り付けできるといった機能が入力補完といわれます。
 +本ツールにも簡易的ながら備わっており、入力中に[CTRL]+[SPACE]キーを押すとリストが表示されます。カーソルキーで選択してエンターキーで貼り付ける事ができます。また、リストを表示されている間にある程度の文字を順次入力してゆくと、表示されているリストを絞る事もできます。さらに、既に文字が入力されている場所で[CTRL]+[SPACE]を押せば、カーソル位置の単語を検索してリストを絞る事もできます。~
 +#ref(gdl_autocomplete.png,100%)
 +オマケ程度なので過度な期待は禁物なのと、つまらない所でCPUパワーを食います。
 +
 +****ウィンドウ [#GCCDevL_WINDOW]
 +シングルソースの弊害として、プログラムソースが長大になると参照元と先で行ったり来たりする羽目になる事があります。とりあえず2画面までではありますが、編集中のソースを分割して表示する事ができます。~
 +#ref(dualwindow.png,70%)
 +両ウィンドウとも同じソースが表示され、片方で編集したものはもう片方にも反映されますのでどちらで何を使用が結果は同じです。片方で関数や変数の宣言部分を表示し、もう片方でそれらを参照しならがコーディングするというスタイルを想定しています。
 +****参照 [#GCCDevL_REF]
 +実はシングルソースと言いながら、内部的には複数ソースの編集とリンク機能を持っています。~
 +その片鱗だけ垣間見る事ができるのが参照機能です。C言語等ではヘッダファイルといった形で別のファイルを参照する事が頻繁に行われ、そのファイルの中身を知らない限り自分のプログラムで参照する事はできません。そういった時に、その参照しているファイル名の場所にマウスカーソルを合わせ「CTRL」キー+マウス左ボタンの「ダブルクリック」すると、別のウィンドウが開いてそのファイルを参照してくれます。~
 +#ref(multiwindow.png,70%)
 +ソース中のコメント等にURL等を記述していた場合は、そのURL部分にマウスカーソルを合わせ「CTRL」+「ダブルクリック」すると、参照ウィンドウでそのサイトを閲覧する事も出来ます。何かのデータシートがpdfで提供されていたら、ソース中にブックマーク代わりにURL書いておいていつでも参照できるようにすると便利かもしれません。
 +****エディタ設定 [#t28b92dd]
 +フォントが小さいので見にくいとか青地はイヤだという場合に好き勝手に変更できます。その他にも色々設定ができますが、複雑なので割愛します。
 +#ref(editer_prop.png,100%)
 +
 +***コンパイルオプション [#GCCDevL_COMPLEOPT]
 +GCC Developer Liteの「GCC」に関係するところはココだけです。最近はGCCのみという訳では無くなりつつあるため、、旧来「GCCオプション」と称していたものを「コンパイルオプション」に改名しています。~
 +一応説明しておきますが、細かいことは抜きにこのダイアログボックス上端にある「設定リスト」だけ見れば良く、タブで分かれた細かい設定は理解に及んでから触れるべきです。~
 +#ref(compiler_opt_targetlist.png,100%)
 +
 +****「外部コンパイル機能を使用」にチェックが入っていない場合 [#n95c3dd8]
 +-コンパイラ~
 +#ref(compiler0_opt_gcc.png,70%)
 +GNUTOOLの場所、及び使用するツールの接頭語、最適化レベルを設定します。
 +-スタートアップルーチン~
 +#ref(compiler0_opt_boot.png,70%)
 +C言語のmainが実行される前に実行されるプログラムを指定します。
 +-リンカ~
 +#ref(compiler0_opt_lnk.png,70%)
 +ターゲットのメモリの都合に合わせたリンカスクリプトファイル、コンパイル時に一緒にくっつけるライブラリを指定します。
 +-デバッグ
 +#ref(compiler0_opt_dbg.png,70%)
 +コンパイル時のデバッグレベル、gnu debuggerないしrunを実行する際に必要な情報を設定します。
 +-各種フォルダ~
 +#ref(compiler0_opt_path.png,70%)
 +ターゲットファイルの場所を設定します。ヘッダファイルやライブラリを探させる際のパスです。
 +-etc...~
 +#ref(compiler0_opt_etc.png,70%)
 +etc...と書いてはありますが、最も重要な情報が記述されています。コンパイラを実行させる際に一緒に記述されるオプションの記述、コンパイル後のファイル変換の方法を選択します。
 +-外部ツール連動~
 +#ref(compiler0_opt_exttool.png,70%)
 +コンパイルとファイル変換が成功しただけでは役不足なので、その後の処理を自動的に行わせる事ができます。起動するツールと起動時に指定するオプション、起動方法を設定します。
 +
 +****「外部コンパイル機能を使用」にチェックが入っている場合 [#ge57077b]
 +-コンパイラ
 +-各種フォルダ
 +-デバッガ
 +-外部ツール連動~
 +
 +***コンパイル [#GCCDevL_COMPILE]
 +命名がちょとややこしいだけですが、いずれも内部で行われる作業は似たような物です。~
 +ソースプログラムは単なるテキストファイルに過ぎず、一般にそのままでは実行できる物ではありません。何かしらのツールを仲介した後に、マイコン等で実行出来るファイルに変換されます。その作業をここではコンパイルと称しています。~
 +また、以後の作業に応じて複数のコンパイル方法が選択出来ます。これらはコンパイラオプションに依存しますので、全てのターゲットで同様の機能が提供される物ではありません。
 +****ビルド [#zc7ee1bb]
 +大抵はビルドで事が足ります。
 ++指定されたコンパイラでソースプログラムをコンパイル
 ++ターゲットに応じたフォーマット変換
 ++必要に応じて書き込みや転送ツールを起動
 +
 +といった処理を行います。
 +****デバッグビルド [#mbf5852d]
 +こちらビルドと大差ありませんが、gnuのデバッガでデバッグする際の情報を付加します。
 ++指定されたコンパイラでソースプログラムをコンパイル
 ++ターゲットに応じたフォーマット変換
 +
 +デバッグ情報付きのファイルを作成するだけで終了としますので、この後必要に応じてデバッガ等で開くなり何なりします。
 +****デバッグビルド&デバッガで開く [#ua0f9c03]
 +GNUTOOLにデバッガ(gdbないしinsight)が含まれている場合に使用できます。
 +デバッグビルドを行った後、gnuのデバッガが使用できる環境であればデバッガを起動出来ます。
 ++指定されたコンパイラでソースプログラムをコンパイル
 ++ターゲットに応じたフォーマット変換
 ++gdb(insight)を起動
 +
 +デバッグビルドされたファイルを指定されたデバッガで開いてデバッグを開始します。~
 +ターゲットによってデバッガを起動する際に指定されるファイルが異なるので一概にこうなるとは言えないのですが、
 ++gdbがOpenOCDないし何らかのデバッガに接続
 ++コンパイルされたファイルをターゲットのフラッシュROMないしRAMに書き込む
 ++main文にブレークポイントを設定
 ++プログラムを実行し、main文の入り口でプログラム停止
 +
 +といったフローでデバッガが実行されます。
 +****ビルド&エミュレータで開く [#i73f772a]
 +GNUTOOLにエミュレータ(run)が含まれている場合に使用できます。
 ++指定されたコンパイラでソースプログラムをコンパイル
 ++runを起動し、コンパイルされたプログラムをPC上で実行
 +
 +エミュレーションできるのはCPUのコアだけですので、LEDが点灯したりブザーが鳴ったりスイッチが押せる訳ではありません。作成したハードウェアに依存しないサブルーチン等が、予想した動きをするかどうかをテストするといった目的に使えるかもしれません。ターゲットによってはprintf等の関数を使用すると、コンソールに文字を表示させる事はできる様です。
 +***ツールバー [#GCCDevL_TOOLBAR]
 +メニューの直下にあるのはツールバーと呼ばれ、メニューをドロップダウンするまでもなく、ファイルを開いたり保存したり、コピペや検索をさせるためのボタンが配置されています。~
 +アイコンだけで判断出来るのであれば、機能を呼び出すまでの操作がボタン1つで済むので作業効率が上がるはずです。
 +#ref(gdl_toolbar.png,100%)
 +***外部ツールの設定 [#b7ce9679]
 +テキストエディタでプログラムを編集していれば全ての作業が完了する訳ではありません。ここで紹介するツール以外にも自分で用意したツールを簡単に呼び出したいといった事は良くあります。
 +#ref(gdl_exttool.png,100%)
 +インストールコンポーネントにもよりますが、インストール直後は[[FLASH WRITER>#FW]]や[[SIMPLE TERM>#STERM]]等が既に登録されています。必要に応じて自分の好みのツールを最大10個まで追加できます。
 +
 +***拡張子の登録 [#hbd987a9]
 +ここでの設定はWindows7よりも前のバージョンではあまり大きな意味は持たないのですが、いくつかのファイルの拡張子とGCC Developer Liteを関連付けできます。
 +#ref(assosiation_fileext.png,100%)
 +チェックされた拡張子を持つファイルをエクスプローラー等で右クリックすると、「プログラムから開く」のツリーにGCC Developer Liteが登録されているはずです。ダブルクリックしても勝手にGCC Developer Liteで開く様な横柄な事はしません。~
 +また、Windows7においては拡張子の関連付けがなされていないとジャンプリストに履歴が作成されず、ジャンプリストに履歴として表示されるファイルがあったとしても開けなくなります。
 +
 +***その他 [#GCCDevL_ETC]
 +新し好きであればもう使っているとは思いますが、Windows7は色々初心者には使いやすくなっているのではと思います。マウスやタッチパネルといった入力装置によって、直感的な操作を部分を訴求しようという部分ですね。Vistaを特に支障なく使っているのであればWindows7になったからと言ってその違いは微々たる物かもしれません。~
 +Windows7(x86でもx64でも大丈夫)にインストールしても使えますし、Windows7上で動いている事が検出されると多少ならではといった機能が追加されるようになっています。はっきり言ってどうでも良い機能ですが、もしかしたら必須と考えるのが趨勢になるかもしれませんので、標準的なUIとして機能するようにしてあります。~
 +ジャンプリストは主に今まで開いたり保存したファイルの履歴を表示します。GCC Developer Liteのファイルメニューにも履歴が表示されていますが、それとほぼ同じです。
 +#ref(win7_jumplist.png,100%)
 +従来からGCC Develoer Liteは同時に2つ以上起動出来ないという意図的な制約を設けていますが、このジャンプリストを使ってファイルを開こうとするとこの制約が邪魔でした。最新版ではGCC Developer Liteが起動している状態で、後から何らかの方法でファイルを別途開こうとした場合は、起動済みのGCC Developer Liteがその役割を果たすようになっています。つまり「このプログラムは複数起動できません。」とすげなく断られる事は無くなります。~
 +ちなみに二重起動を制限しているのは、むかぁし同じソースを複数のGCC Developer Liteで開いて編集し、整合性が取れない事を理由に文句つけられたからだそうです。
 +~もう一つ、タスクバーのアイコン上にマウスをホバーするとウィンドウのサムネイルが表示されますが、参照ウィンドウ等を開いているとそれらもサムネイルの一覧として配置されます。
 +**FLASH WRITERの使い方 [#FW]
 +***詳細な設定変更 [#rdaafea4]
 +FLASH WRITERのウィンドウは小さく出来ています。小さい状態では何らかのファイル名を入力する欄と「かきこみ」ボタンしかなく、それ以外の諸々の設定は一切触れなくなっています。~
 +触らなくて良い理屈は全く無いので、どうにかして設定を変更しなくてはなりません。
 +#ref(fw_prop.png,100%)
 +そう、メニューバー左上のアイコンをクリックしてメニューを表示させ、その中からFW Propertyをクリックするだけです。すると今まで隠れて見えなかった諸設定がズルズルと見えて来ます。~
 +他にもボタンやテキストボックスが無い所をダブルクリックしても同様に機能します。
 +***設定ないしボタン類 [#r0972d50]
 +****CPU TYPE [#jcce8261]
 +CPU Typeがそれ以外設定全てに影響します。大抵の場合においては書き込みたいターゲットの名称になっています。~
 +-''3048''~
 +[[Renesas F-ZTAT>http://japan.renesas.com/products​/tools/flash_programming/f_ztat/index.js​p]]ベースでH8/3048Fを対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択(19200bps以下を推奨)~
 +TimeOutはネゴシエーション成功までの繰り返し時間となる~
 +Write Script Fileは使用不可
 +-''3664''~
 +[[Renesas F-ZTAT>http://japan.renesas.com/products​/tools/flash_programming/f_ztat/index.js​p]]ベースでH8 Tinyシリーズ全般 H8/3664F, H8/3694F, H8/3687Fを対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択(19200bps以下を推奨)~
 +TimeOutはネゴシエーション成功までの繰り返し時間となる~
 +Write Script Fileは使用不可
 +-''7045''~
 +[[Renesas F-ZTAT>http://japan.renesas.com/products​/tools/flash_programming/f_ztat/index.js​p]]ベースでSH7044, SH7045シリーズ全般 SH7044F, SH7045F, SH7144F, SH7145Fを対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択(19200bps以下を推奨)~
 +TimeOutはネゴシエーション成功までの繰り返し時間となる~
 +Write Script Fileは使用不可
 +-''RX62N''~
 +RX62Nシリーズ全般を対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択~
 +Clockはクロック源の周波数を指定~
 +TimeOutはネゴシエーション成功までの繰り返し時間となる~
 +Write Script Fileは使用不可
 +-''AVR:m168''~
 +[[Atmel stk500>http://www.atmel.com/dyn/products​/tools_card.asp?tool_id=2735]]互換プロトコルでavrdudeによるサポート ATmega168を対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)~
 +TimeOutは不使用~
 +Write Script Fileは使用不可
 +-''AVR:m32''~
 +[[Atmel stk500>http://www.atmel.com/dyn/products​/tools_card.asp?tool_id=2735]]互換プロトコルでavrdudeによるサポート ATmega32を対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)~
 +TimeOutは不使用~
 +Write Script Fileは使用不可
 +-''AVR:m128''~
 +[[Atmel stk500>http://www.atmel.com/dyn/products​/tools_card.asp?tool_id=2735]]互換プロトコルでavrdudeによるサポート ATmega128を対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)~
 +TimeOutは不使用~
 +Write Script Fileは使用不可
 +-''AVR:c128''~
 +[[Atmel stk500>http://www.atmel.com/dyn/products​/tools_card.asp?tool_id=2735]]互換プロトコルでavrdudeによるサポート AT90CAN128を対象~
 +Portは使用するCOMポートを選択~
 +Baudrateは使用するCOMポートのボーレートを選択(大抵は115200bps)~
 +TimeOutは不使用~
 +Write Script Fileは使用不可
 +-''SAM-BA''~
 +[[Atmel AT91 In-system Programmer>>http://www.atmel.com/dyn/pro​ducts/tools_card.asp?tool_id=3883]]のDLLを使用~
 +Portは使用するCOMポート,USBデバイス,CAN,J-LINK等を選択~
 +Baudrateは不使用~
 +TimeOutは不使用~
 +Write Script Fileは使用不可
 +-''OpenOCD''~
 +[[OpenOCD]]でサポートするターゲット全般~
 +PortはOpenOCD(Telnet)を選択~
 +BaudrateはOpenOCDのtelnetポートへの接続タイムアウト時間~
 +TimeOutは不使用~
 +Write Script FileはOpenOCDで実行させるコマンドが記述されたスクリプトファイルを指定
 +
 +|CENTER:BGCOLOR(red):|LEFT:BGCOLOR(#dcdc​ef):|c
 +|  :idea:|AVRシリーズにおいてはstk500互換プロトコルのブートローダも対象となりますが、V1.0以降の弊社オリジナルブートローダが搭載されたマイコンボードは対象ではありません。今後はFLASH WRITERではなく[[SIMPLE TERM>#STERM]]を使う事になります。|
 +
 +****PORT [#uefc706f]
 +大抵の場合PCに装備されるCOMポートが列挙されますので、使用するCOMポートを選択します。CPU TypeによってCOMポート以外のリストが表示される場合もあります。~
 +PCに無いポートはリストに現れませんが、接続すれば即時リストに現れて選択出来るようになります。
 +
 +****BaudRate[bps] [#i510bdb9]
 +使用するCOMポートのボーレートを設定します。大きければ良いという訳でもありません。
 +****Clock[MHz] [#eff6d822]
 +書き込む対象に供給されているクロック周波数を設定します。本設定を使用するCPU TYPEでは必ず一致させなくてはなりません。
 +
 +****TimeOut[ms] [#h6057b7e]
 +繰り返し実行ないしタイムアウト時間を設定します。
 +****Find HyperTerminal [#m567baf7]
 +使い道がないのと、うまく動かないケースが大半なので説明なし。
 +****Write Script File [#g36ce84f]
 +OpenOCDで対象とするターゲットに応じて設定します。~
 +FLASH WRITERと同じフォルダに置かれる.scriptファイルが列挙されますので、もし自前のターゲットをサポートさせたいのであればこのフォルダに作ればリストに載ります。
 +****OK [#z9ec6090]
 +大きくしたウィンドウを小さくします。
 +
 +****Execute [#y2bc4a8f]
 +諸設定に依存する処理を開始します。~
 ++指定されたファイルの存在確認
 ++CPU TYPEに応じたポートの内部的な再設定
 ++ポートの検索
 ++ポートの使用可能かの判定と、他のアプリケーション(SIMPLE TERMの事)へのポートの譲り渡し要求
 ++CPU TYPEに応じた書き込み処理等の実行
 ++処理の正否の判定
 ++使用したポートの使用終了を他のアプリケーション(SIMPLE TERMね)に告知
 +
 +どのプロセスにおいても問題があると全てエラーとします。処理中はCPU TYPEによって異なるウィンドウが表示され、進捗が確認できます。
 +
 +***起動オプション [#mbf68aff]
 +***その他 [#s092408f]
 +
 +**SIMPLE TERMの使い方 [#STERM]
 +***ターミナルウィンドウ [#g41166f6]
 +初期状態で真っ黒な部分の事です。ポートが開いている時にのみ接続先から送信されて来るデータが表示され、入力された文字は接続先に送信されます。~
 +ブートローダ等では入力を促されるケースがありますが、その時SIMPLE TERM上で入力した文字がそのままターミナルウィンドウに表示されていると思うのは間違いです。SIMPLE TERM自身はデフォルトでは接続先から送信された情報しか表示しません。~
 +では、入力した文字が表示されるのはなぜ?実は簡単な事で、入力した文字を相手が都度送り返しているからです。世の中には送り返してこない端末もある(それが普通)のですが、どうしても入力した文字も表示させたいのであればローカルエコーをONにします。
 +
 +表示に関してはANSIっぽい動きをする様ですが、中途半端な実装による思った様な動きをしない事を恐れてできないフリをしている場合もあるらしいです。
 +
 +***プロパティ [#c1f40140]
 +SIMPLE TERMで扱うCOMポートの情報を設定します。
 +#ref(sterm_prop,100%)
 +-''Connect to''~
 +使用するCOMポートを選択します。PCに無いポートはリストに現れませんし、追加接続すれば即時リストに現れて選択出来るようになります。~
 +しかし、いい加減COM1~COM10だけとか、COM1~COM255まで列挙して選択するといったアプリケーションは止めて欲しいですね。 :-? ~
 +なお、TELNETについては言及しません。
 +-''Baudrate''~
 +通信速度です。リストから選ぶも良し、使用するCOMポートが許容するのであれば数値を入力しても構いません。
 +-''Databits''~
 +1文字のデータ幅を指定します。指定がなければ通常は8を選びます。
 +-''Stopbits''~
 +ストップビット幅を指定します。指定がなければ通常は1を選びます。
 +-''Parity''~
 +パリティの種類を選択します。指定がなければ通常はNonを選びます。
 +-''Flow Control''~
 +フロー制御の種類を選択します。指定がなければ通常はNonを選びます。
 +-''Protocol''~
 +ファイルを送受信する際に使用するプロトコルを選択します。~
 +XModem以外は・・・。
 +
 +なお、一部の設定はポートが開いている状態であっても変更可能です。ポートを閉じなくてはボーレート等を変更できないのは、実はそういう作りになっているアプリケーションの都合だけだったという事です。
 +
 +***ログ [#h8d26d44]
 +ターミナルウィンドウ上に表示される文字をファイルに保存し続ける機能です。~
 +ターミナルウィンドウでは表示データが画面いっぱいになったり改行が行末に達すると、行頭の文字はスクロールアウトして見えなくなってしまいます。普通ならバックスクロールして以前の表示データを見る事ができるのでしょうが、どうやらあるにも関わらず見る事ができません。~
 +そこで、ファイルに保存する事を提案して作ってもらいました。「ログファイル」がチェックされると保存するファイルを新規に作成し、「ログファイル」のチェックをOFFにするかSIMPLE TERMを終了するまで保存し続けます。
 +
 +***ポートの開閉 [#c255633b]
 +プロパティで選択したCOMポートを独占使用するには開く操作を、使用を終えて他のアプリケーションで使えるように解放するには閉じる操作をします。~
 +通常COMポートはアプリケーションから開かれると、同じCOMポートを別のアプリケーションで開く事が出来ません。しかしながらGCC Developer Liteに含まれるツールに限り、COMポートを譲り合う機能を提供します。
 +
 +***FTDIチップ絡み [#vfcf50a9]
 +ものぐさな作者は、ターゲットのリセットボタンに手を伸ばす事すら億劫な様です。FTDI社のFT232が乗った弊社マイコンボードとEVBに限りますが、SIMPLE TERMからリセットシグナルを発行できます。~
 +ちょっと面倒な仕掛けでリセットさせているらしく、ポートが開いている時にSIMPLE TERMからリセットをかけると、ポートを閉じる→リセットLOW→しばし待つ→リセットHIGH→ポートを再度開く、といった動きになります。
 +
 +***転送 [#n1b605af]
 +プロパティのProtocolで選択した通信方式で接続先とファイルの送受信を行います。~
 +全て試した訳ではありませんが、気のせいでなければXModem以外はちょっと微妙な気がしますが、マイコンボードのブートローダがサポートするプロトコルがXModemだけなので良しとします。
 +
 +ちょっと異色なのは「スクリプト実行」で、目的はブートローダとのコミュニケーションを自動化する事にあります。
 +-ターゲットへのリセット発行
 +-ブートローダのコマンドモードへのエントリー
 +-諸々のキー操作の再現
 +-指定された文字列の検出
 +-予め指定されたファイルの転送
 +
 +といったスクリプトを組み合わせて、マイコンへのプログラム転送にかかる一連の操作を自動的に実行します。SIMPLE TERMの単体起動では用をなさず、GCC Developer LiteのコンパイルオプションでSIMPLE TERMと連動する時に有効となります。
 +
 +なお、マイコンボードによって異なっていたブートローダのコマンドモードへの遷移方法が大体統一された事もあり、最新バージョンでは出来るだけ簡単にターゲットをコマンドモードに遷移させる機能が盛り込まれています。単にスクリプト実行に「!」マークを送りつける機能が追加されただけなのですが、手が両手がふさがる事が無くなるので結構便利です。~
 +これにより従来は、
 ++ターミナルウィンドウ上で'!'([SHIFT]+[1])キーを押しっぱなしにする。
 ++ターゲットをリブート
 ++ブートローダの起動メッセージが表示されたら'1'キーを離す。
 ++メニューから「スクリプト実行」をクリックしてプログラムのダウンロード
 +
 +といった訳の分からない手順の操作を強いられていたものが、
 ++メニューから「スクリプト実行」をクリック
 ++ターゲットをリブート
 +
 +という2つの操作で終わる様になります。説明も簡単ですし、PCのキーリピートのタイミングに依存する不安定要素が軽減されてヨサゲです。
 +#ref(STERM_resetwait.png,100%)
 +
 +***起動オプション [#jabba450]
 +***その他 [#bd344c52]
 +USBでCOMポートを増設している場合、USBケーブルを抜くと結構困った状態になります。一般にCOMポートを扱うプログラムは、使用しているポートが突然無くなると思っていないものです。Windows自体はポートが無くなった事を知っているにもかかわらず、プログラム側は不慮の事態に備えていないものですから、まだ通信できると思い込んでいる場合があるのです。それを扱う人間も同様に、ポートが無いのにも関わらずプログラムが無いポートを開いたままなので、ついつい操作してしまう。実に悪循環です。~
 +ポートが使えないなら使えないとはっきり意志を示そうと言う事で、SIMPLE TERMではポートの活性状態を常時モニタして、抜かれようが挿されようが、なんとか再起動しないでも済むように努力します。大体以下の様な挙動をします。
 +-開いているCOMポートが無くなるとポートを閉じる
 +-開いていたCOMポートが無くなり自ら自動的に閉じた後、再度そのポートが活性化したら自動的に開く
 +
 +つまり、デバイスの状態に応じてポートの開閉操作を人間が行わなくても済む様に努力してくれます。時々ミスる事もありますが、その時は再起動して下さい。
 +~また、COMポートは大抵の場合において一つのプログラムが開いたら、他のプログラムからは同じCOMポートは開けません。これも結構な頻度で悩ましてくれるネタです。SIMPLE TERMの場合は、いくつか起動しており全て同じCOMポートを使用している時に限り、お互いにポートを譲り合う機能を持っています。
 +*FAQ [#FAQ]
 +-''Q:''メッセージ等が何も記載されない状態で一部のダイアログボックスが表示される~
 +''A:''管理権限でログインしていないか、Windows Vista以降であれば[[UACをOFF:http://technet.microsoft.com/ja-jp/l​ibrary/cc709691(v=WS.10).aspx]]にして使う。
 +-''Q:''昔のバージョンでコンパイルしたソースがバージョンアップしたらコンパイルできない~
 +''A:''ライブラリが変わってコンパイルできないという事でなければ、コンパイルオプションを再設定する。
 +-''Q:''H8/3048FやSH7047Fで使えない~
 +''A:''廃盤やサポート終了製品向けのターゲットファイルはバージョンアップ時に順次削除されるので、サポートしていたバージョンを使う事。
 +-''Q:''旧バージョンの提供をしてほしい~
 +''A:''常時最新のツール及び販売中の製品向けにアップデートされるツールとしての位置付けのため、原則として廃盤およびサポートを終了した製品向けの提供は行わない。
 +
 +*転載・転用・その他 [#wde6d7b4]
 +-パブリックな用途での二次転載は[[許諾を得て>https://www.besttechnology.co.jp/module​s/formmail/]]下さい。
 +-転載を目的としてホームページ等で公開する場合は弊社サーバへのリンクでは無く、貴サーバにコピーを置いた上で公開して下さい。
 +-基本的に旧バージョンの転載は認めていません。
 +-個人のホームページ等でリンクする場合は[[本wiki>http://www.besttechnology.co.jp/mod​ules/knowledge/?GCC%20Developer%20Lite]]​とし、インストールファイルへの直リンクは許容しません。
 +-転載ないし転用されたツールの二次的な問い合わせは一切受けません。
 +-現時点で弊社で販売しているマイコンボードないし製品を除くターゲットのサポートは一切受けません。有償サポートを希望される場合は[[技術サポート>http://www.besttechnology.co.jp/modules​/formmail/]]へ相談下さい。
 +-公開バージョンに含まれるターゲット以外のサポートも行っています(有償)。


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom